Sun T2000 contre Apple Mac Pro, contre Linux, fin des tests

J'ai fini par boucler mes modestes tests de charge MySQL 4.x sur la Sun T2000, le Mac Pro d'Apple, et un serveur Supermicro 6015P-TR sous linux. Comme je n'ai utilisé que super-smack à cause de fortes contraintes temporelles (entre autre), les résultats ne sont pas forcément généralisables, ni applicables à toutes les architectures. Néanmoins j'ai obtenu quelques résultats intéressants.
Continue reading

SUN T2000 contre Apple Mac Pro ?

La T2000 revient pour une nouvelle série de tests préliminaires, cette fois contre un Mac Pro, gracieusement prêté par Apple. Je rappelle sommairement les caractéristiques de la machine Sun : 1 processeur physique à 1 GHz, avec 8 cores capables d'exécuter chacun 4 threads, 8 Go de RAM, des disques SAS. Le Mac Pro est bien doté aussi : 2 Xeon Woodcrest 2,66 GHz à deux cores, 7 Go de RAM et 4 disques SATA II.

Comme précédemment, le but est de mettre en face du serveur MySQL de la T2000, un client capable de mettre à genoux la machine Sun.
On a vu qu'un client XServe bi G5 à 2 GHz n'est pas assez puissant pour faire chauffer le serveur. Au plus fort de mes tests j'ai dépassé 90 de charge sur le XServe, et la T2000 n'a jamais atteint les 20% cpu. Le nombre de selects par seconde, obtenu via super-smack sql_select-key.smack $i 10000 (avec $i un nombre de threads entre 1 et 80), plafonne à 13400 ±300.
Dans les mêmes conditions, le client Mac Pro arrive à tirer 26700 ±200 selects par seconde du serveur Sun. Pendant cette charge de threads et de requêtes, le MySQL consomme 16% du cpu sur le serveur. À moins de faire une attaque distribuée à partir de plusieurs clients, je ne vois aucun moyen de mettre la T2000 en échec, ce qui est bon signe si je veux remplacer nos trois XServes/MySQL par une seule T2000/MySQL.

SUN T2000 contre Apple XServe ?

J'ai reçu il y a deux jours un nouveau jouet : un serveur SUN T2000 en prét pour 60 jours. Sans rentrer dans les détails, puisque j'y reviendrai, je peux affirmer une chose : je vais avoir bien du mal à faire mes benchmarks MySQL sur cette machine. La raison est simple, je crois que je n'ai pas de machine assez puissante à mettre en face !
Pour mes tests préliminaires, j'ai confronté la SUN à notre machine de test habituelle, un XServe bi-G5 2GHz avec 4 Go de RAM. La T2000 à un seul processeur physique, à 1GHz, mais il dispose de 8 cores, chacun pouvant exécuter 4 threads. On se retrouve alors avec une machine possédant 32 processeurs virtuels, elle dispose par ailleurs de 8 Go de RAM :

root@sunt2000 # psrinfo -pv
The physical processor has 32 virtual processors (0, 1, 2, 3, 4, 5, 6, 7, 8, 
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
 29, 30, 31)
  UltraSPARC-T1 (cpuid 0 clock 1000 MHz)

Et bien, le XServe mouline comme un taré (actuellement Load Avg: 15.14, 13.33, 9.61, et ça monte), alors que la SUN ne fait presque rien :

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP       
   935 mysql    2565M  856M cpu9    45    0   2:37:15 6.1% mysqld/25
../..
Total: 45 processes, 188 lwps, load averages: 2.78, 2.77, 2.50

Je reviendrai là dessus quand je serai un peu plus familier avec Solaris d'une part et les méthodes de bench MySQL d'autre part, mais j'ai dans l'idée que les 60 jours vont très vite passer.