INDEX
Dans le my.cnf d’origine :
key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M
Tout X 20 :
key_buffer = 320M max_allowed_packet = 20M table_cache = 1280 sort_buffer_size = 1024M net_buffer_length = 160K read_buffer_size = 512M read_rnd_buffer_size = 1024M myisam_sort_buffer_size = 160M
Et voilà les perfs :
Il s’agit de boucles sur des Select avec Insert à chaque passage et des Updates sur environ la moitié des passages, sur une base de 30 000 adhérents à un service
Requêtes dans mon bench : 29558
Durée d’exécution AVANT | Durée d’exécution APRÈS |
---|---|
241.773 s. | 36.431 s. |
Presque X 7 !
Durée d’exécution AVANT | Durée d’exécution APRÈS |
---|---|
Plantage de mysqld après 6 minutes environ | 73.313 s. |
Si vous affichez des données à chaque requête (genre profiler) il est probable qu’avec un tel nombre de lignes ça soit Apache qui se mette en grève. La solution est là.
DATE 24 Août 2009
Social Share / Partager
3 Comments
Je précise quand même que c’est un peu bourrin sur les buffers, ne pas s’amuser à faire cela sur une machine de prod sans bien connaître son charge et surtout son nombre de connexions simultanées, parce qu’il serait facile de la mettre à genoux avec ça !!!!!!!
Salut,
Sur ton test tu avais quoi config ? CPU/RAM ?
La config était : ell PowerEdge Xeon Quad Core 2.67GHz / 1 To RAID1 SATA / 16 Go / 100 Mbps