Comments (7)
Sure, that would be nice.
- get YCSB (https://github.com/brianfrankcooper/YCSB) and set it up with the engines you intend to benchmark
- read java/jni/Readme.txt in WhiteDB repo on how to compile the Java wrapper (not present in the distribution)
- get the YCSB wrapper for WhiteDB (http://whitedb.org/code/WhiteDBClient.java). It has some instructions inside on how to compile and run it. Note that "-p whitedb.shmsize=xxxxxx" is probably needed (xxxxxx is segment size in bytes, 500M was used for the benchmark published on the site).
- all the rest of the details (what workloads, db sizes, throughputs etc) should be included in the benchmark report PDF on the whitedb site.
from whitedb.
Could you please make a script that allows me to focus on the benchmarking itself?
from whitedb.
Drow, two small remarks. First, we are unlikely to start programming specific scripts or tools simply to help people interested in one issue or another: if we did, we had no time left for developing the system itself. Second, if you look at the simple one-core benchmarks, you notice that the speed of whitedb operations is rather high, which translates to the observation that the number of processes in a parallel scenario is likely to be much lower than, say, for conventional relational bases: the database ops of these parallel processes will be executed very quickly and they will be left doing all kinds of additional work outside whitedb.
from whitedb.
You have a benchmark script for a single core. I don't see a reason why there shouldn't be one for multiple cores.
from whitedb.
You mean the simple single-core speed tests or the multi-core Yahoo benchmarks Priit comments on above?
from whitedb.
The scripts do exist, I've put them here: http://whitedb.org/code/ycsbwrappers.tgz.
Now, to clear up some misconceptions.
First, the benchmark wasn't run on a single core. It was run on 4 cores, it says so plainly in the report. What Tanel meant was the single-thread tests which obviously run on a single core effectively.
Second, the throughput graph in the last part of the report, over number of threads isn't necessarily representative of a webserver load. It's 2x the number of available cores threads, hammering away at full throttle. It is clear that all of the tested engines are overloaded under these conditions. If it isn't clear than consider this: while the number of attempted requests INCREASES, the number of actually serviced requests DECREASES. This reported issue was helpful in that I've realized that this part might be misleading for people - in a webserver scenario this would mean clients are timing out already.
I suggest to try something like 2-64 threads, with lowered throughput, such as 100 ops per second (or whatever is representative of the webserver you're considering a typical target, keeping in mind the overhead created by YCSB itself).
from whitedb.
@priitj Great! Thanks. I'll create a pull request that will add this link to the documentation.
Can you describe what exactly needs to be done to run these scripts (except installing YCSB) or should I figure this out myself?
from whitedb.
Related Issues (20)
- wgdb ls or is there a way to list all databases in memory? HOT 1
- Support for extending database size? HOT 4
- dump files not working after reboot HOT 1
- Ordering of result of wg_find_record_int function HOT 1
- Compilation Warnings on Windows (x64) HOT 1
- Question: find first missing entry HOT 2
- Image processing HOT 1
- wg_database_freesize result never decreases HOT 2
- Incorrect consistency check
- wg memory error: cannot attach to shared memory (No permission). with gtest HOT 2
- http://whitedb.org/ is down HOT 1
- commercial licence HOT 1
- Using whitedb between (docker) containers HOT 2
- Clarification HOT 1
- DB names HOT 2
- indexapi.h missing C extern for C++ HOT 1
- Issue deleting a record who has the same value in a Template Index Column as another record HOT 5
- Error when restoring the database (with indexing) from the log file.
- License Question HOT 2
- BUILD FAIL: configure cannot guess build type HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from whitedb.