I need to run performance testing of database systems using C++ client (console). C++ client and database system should be run on the same computer under Linux. Unfortunately my main system is Windows (I cannot change it) and Linux is run in Virtual Box. I'd like to measure time in C++ program using the client.

I'd like to ask you what Linux distribution should I use? I'd like to have as good tests as it possible (I mean I would like to eliminate any unwanted processes and behaviors from system). I think it should by some light system. And maybe you can recommend some settings of the system?

closed as primarily opinion-based by Stephen Harris, G-Man, GAD3R, Anthon, thrig Sep 6 '16 at 20:03

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.


You have many choices. Although not the most minimal, I think you will have the best trade off between minimal/unwanted stuff and ease of setup with Debian stable. During installation, selecting Expert Install will give you the most choices - you can enable/disable certain services and opt out of installing a desktop environment. You will probably still want to disable a few more services after installation, but the base Debian install is fairly minimal. Additionally, Debian's stability may have a positive impact on your testing.

Most likely, you will have access to the same (or very similar) benchmarking and performance testing tools regardless of what distribution you choose.

I do not think you will see much difference in your performance testing between distros (solely due to the distribution). However, between different kernels might be a different story (would be interesting to see). Additionally, if a distro has a proprietary driver for your CPU, and another doesn't, the use that driver may change things. Debian's non-free repository usually has this stuff.

As for settings, if you do not disable swap, you'll probably want to reduce swappiness: vm.swappiness=10 is often recommended for database applications. There are all sorts of kernel parameters you can tweak, changes to scheduling you can do, and so on. However, a few minor adjustments to virtual memory is probably going to be more align with the real world than super tweaking and optimizing.

Not the answer you're looking for? Browse other questions tagged or ask your own question.