- What's the optimum degree of concurrency that the C++ execution of BerkeleyDB can sensibly sustain?
- The amount of strings can I have hammering away at the DB prior to throughput begins to endure as a result of source opinion?
I've read the guidebook and also recognize just how to set the variety of locks, storage lockers, database web page dimension, and so on yet I would certainly similar to some suggestions from a person that has real-world experience with BDB concurrency.
My application is rather straightforward, I'll be doing obtains and also places of documents that have to do with 1KB each. No arrows, no deleting.
What I did when antagonizing a data source of unidentified performance was to gauge turn-around time on my questions. I maintained the string matter till turn - around time went down, and also going down the string matter till turn - around time boosted (well, it was procedures in my setting, yet whatever).
There were relocating standards and also all type of metrics entailed, yet the take - away lesson was : simply adjust to just how points are operating at the minute. You never ever recognize when the DBAs will certainly boost performance or equipment will certainly be updated, or probably an additional procedure will certainly come to load down the system while you're running. So adjust.
Oh, and also an additional point : stay clear of procedure buttons if you can - set points up.
Oh, I need to make this clear : this all took place at run time, not throughout growth.
It relies on what sort of application you are constructing. Create a depictive examination circumstance, and also start hammering away. After that you will certainly recognize the clear-cut solution.
Besides your usage instance, it additionally relies on CPU, memory, front - side bus, running system, cache settings, etcetera.
Seriously, simply examine your very own circumstance.
If you require some numbers (that in fact might suggest absolutely nothing in your circumstance) :