Je suis sur le point de configurer un serveur de base de données (MySQL) dans le conteneur OpenVZ et je me demandais combien de CPU je devrais lui affecter. J'ai décidé de le comparer. J'ai comparé deux distributions OS / MySQL et testé leurs performances avec 1, 2, 3 et 4 CPU.
La première configuration logicielle était:
- CentOS version 6.5 (finale)
- mysql Ver 14.14 Distrib 5.1.71, pour redhat-linux-gnu (x86_64) en utilisant readline 5.1
La deuxième:
- Debian GNU / Linux 7 \ n \ l
- mysql Ver 14.14 Distrib 5.5.31, pour debian-linux-gnu (x86_64) utilisant readline 6.2
Les deux fonctionnaient sur le même noyau - 2.6.32-openvz-042stab083.2-amd64 # 1 SMP ven 8 novembre 17:59:25 MSK 2013 x86_64 GNU / Linux.
Tous les logiciels ont été installés à partir de packages et utilisés prêts à l'emploi sans aucun ajustement de configuration personnalisé.
Matériel: 6 Go de RAM, 1-4 processeurs 3,5 GHz.
Pour l'analyse comparative, j'ai utilisé sysbench avec le scénario suivant:
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run
Dans les deux cas, le moteur de la table était InnoDB.
La sortie que je regardais était le nombre de transactions par seconde. Les résultats étaient assez stables - l'erreur était inférieure à 1%.
Les résultats étaient agréables et attendus pour CentOS / MySQL5.1, mais très étranges pour Debian / MySQL5.5:
Comme vous pouvez le voir, MySQL5.5 sur Debian ne parvient pas à tirer correctement parti de plusieurs processeurs. Bien que les performances avec 2 processeurs soient supérieures à celles de 1, elles sont clairement inférieures à celles de CentOS / MySQL5.1. De plus, cela diminue lorsque nous ajoutons plus de CPU en plus de 2, ce qui est vraiment bizarre.
Quelqu'un peut-il expliquer ce qui se passe là-bas? Pourquoi diable MySQL fonctionnerait-il moins bien avec l'ajout de CPU?