From 05fd7e87ec19b9e008411fe38fffbf9fcd5b04ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Thu, 10 Jan 2019 20:33:29 +0100 Subject: [PATCH 1/2] doc: Add some wrk stats to the Readme --- README.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 070542055..334199634 100644 --- a/README.md +++ b/README.md @@ -22,15 +22,21 @@ MeiliDB will be a binary in a near future so you will be able to use it as a dat ## Performances -_These information are outdated (October 2018) and will be updated soon_ +With a database composed of _100 353_ documents with _352_ attributes each and _90_ of them indexed. +So nearly _9 million_ fields indexed for _35 million_ stored we can handle more than _1.2k req/sec_ on an Intel i7-7700 (8) @ 4.2GHz. -We made some tests on remote machines and found that MeiliDB easily handles a dataset of near 280k products, on a $5/month server with a single vCPU and 1GB of RAM, running the same index, with a simple query: +Requests are made using [wrk](https://github.com/wg/wrk) and scripted to generate real users queries. -- near 190 concurrent users with an average response time of 90ms -- 150 concurrent users with an average response time of 70ms -- 100 concurrent users with an average response time of 45ms - -Servers were located in Amsterdam and tests were made between two different locations. +``` +Running 10s test @ http://localhost:2230 + 2 threads and 12 connections + Thread Stats Avg Stdev Max +/- Stdev + Latency 18.86ms 49.39ms 614.89ms 95.23% + Req/Sec 620.41 59.53 790.00 65.00% + 12359 requests in 10.00s, 3.26MB read +Requests/sec: 1235.54 +Transfer/sec: 334.22KB +``` ### Notes From f7561f855244ceb483fb8aaf068c945479c65b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Thu, 10 Jan 2019 21:12:42 +0100 Subject: [PATCH 2/2] doc: Update examples usages --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 334199634..90e5c2da2 100644 --- a/README.md +++ b/README.md @@ -49,14 +49,12 @@ MeiliDB runs with an index like most search engines. So to test the library you can create one by indexing a simple csv file. ```bash -cargo run --release --example create-database -- test.mdb misc/kaggle.csv +cargo run --release --example create-database -- test.mdb misc/kaggle.csv --schema schema-example.toml --stop-words misc/fr.stopwords.txt ``` -Once the command is executed, the index should be in the `test.mdb` folder. - -You are now able to run the `query-database` example and play with MeiliDB. +Once the command is executed, the index should be in the `test.mdb` folder. You are now able to run the `query-database` example and play with MeiliDB. ```bash -cargo run --release --example query-database -- test.mdb +cargo run --release --example query-database -- test.mdb -n 10 id title ```