-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance Tests - RAM disk #17
Conversation
@mikicho Working toward some big milestone on Sunday afternoon, plan to review by EOD Sunday |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mikicho I would merge what we have now, a good enough performance analysis cycle. We will revisit it in the future. Consider adding your great finding in a dedicated recipe readme.
@@ -0,0 +1,702 @@ | |||
[ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor and nitty-gritty - Maybe call this file with something more explanatory for the average reader, maybe "orders-data-for-paramterized-test"
@mikicho Jest parallelizes tests by files, if you want to benefit multi-process you have to create multiple files, at least 4. Do we split here the tests across files? This might change the results |
@goldbergyoni how it will improve database performance? (we're talking here about DB RAM only performance improvement. other improvements have another ticket) Update: Now I see that the name |
added readme |
@mikicho We're measuring DB optimizations, as part of measuring we want to utilize them. The more stress we put on DB, the more the optimizations shine. Makes sense or do I miss something? |
@goldbergyoni I see. so you want multiple test files in the recipe which have this parameterized test? |
@goldbergyoni tested it.. didn't see any improvement between ramdisk and SSD with non-durable settings |
I created a simple DB performance test that inserts 100 new rows into the database through the API.
From what I see, with non-durable settings the performance difference, between SSD and ram, is neglectable (if any). I tested it also with big tables (500k rows), the insert performance stays the same.
In durable settings, the
ramdisk
is faster in about 30%-40% than SSD.My only concern is that our schema is too simplistic, and doesn't have unique keys which will cause more reads on insert and may give an advantage for the
ramdisk
My conclusion from this little research is that
ramdisk
doesn't give a real benefit and we should recommend it only for CI environments because it's so simple (one line), so why not?I opened this PR to show you what I did and how I got those numbers so maybe you'll find that I did something wrong during my testing, and therefore my conclusion is wrong.
In addition, I:
nvm
file so all of us will use and test with the same node versiondocker-compose