web-dev-qa-db-fra.com

Wordpress 3.3.1 Utilisation très intensive du processeur par MySQL

Mon hôte m'a donné ce journal et m'a dit que mySQL surcharge mon serveur:

| 266976 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 266978 | db_name | localhost | db_name     | Query   | 29   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 266980 | db_name | localhost | db_name     | Query   | 45   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 266996 | db_name | localhost | db_name     | Query   | 43   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267002 | db_name | localhost | db_name     | Query   | 44   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267008 | db_name | localhost | db_name     | Query   | 10   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267011 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267013 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267016 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267018 | db_name | localhost | db_name     | Query   | 13   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267023 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267033 | db_name | localhost | db_name     | Query   | 44   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267034 | db_name | localhost | db_name     | Query   | 44   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267040 | db_name | localhost | db_name     | Query   | 43   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267041 | db_name | localhost | db_name     | Query   | 10   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267050 | db_name | localhost | db_name     | Query   | 42   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267058 | db_name | localhost | db_name     | Query   | 38   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267060 | db_name | localhost | db_name     | Query   | 29   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267062 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT p.* FROM wp2_posts AS p  INNER JOIN wp2_term_relationships AS tr ON p.ID = tr.object_id INNER |
| 267072 | db_name | localhost | db_name     | Query   | 34   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267075 | db_name | localhost | db_name     | Query   | 34   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267076 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT p.* FROM wp2_posts AS p  INNER JOIN wp2_term_relationships AS tr ON p.ID = tr.object_id INNER |
| 267084 | db_name | localhost | db_name     | Query   | 19   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267087 | shonline     | localhost | shonline_sho2011 | Query   | 15   | update               | INSERT INTO accesslog (title, path, url, hostname, uid, sid, timer, timestamp) VALUES ('????         |
| 267088 | db_name | localhost | db_name     | Query   | 2    | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |
| 267089 | db_name | localhost | db_name     | Query   | 30   | Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS  wp2_posts.* FROM wp2_posts  INNER JOIN wp2_term_relationships ON (wp2_po |

Le serveur est un quadcore Xeon, 4 Go de RAM, une bande passante montante et descendante de 2 Mbit. 2 millions de visiteurs par mois. Apache défini sur 500 simultané et SQL défini sur 250.

Plugins: Adrotate/Formulaire de contact 7/Disqus/Events/Jetpack/Captcha vraiment simple/Utiliser les bibliothèques Google/WebsiteDefender/Wordpress.com Popular Posts/Page de démarrage/WP-Print/WP-Minify/WP-Super Cache

Comment puis-je réparer cela?

2
Nders

Lorsque vous voyez Copying to tmp table, cela signifie souvent que vous avez écrit une mauvaise requête dont l'exécution prendra beaucoup de temps. Votre message montre plusieurs qui prennent 45 secondes ou plus à courir. Identifiez les requêtes en cours d'exécution qui prennent beaucoup de temps.

Vous devrez modifier ces requêtes pour utiliser correctement les index. Cela peut nécessiter de savoir quels plugins les démarrent.

1
Jeff Ferland

"Visiteur actuel" ne vous intéresse pas, mais combien de visiteurs simultanés vous avez. Il n’existe aucun plugin de ce type dans wordpress qui vous permettrait de compter le nombre d’utilisateurs simultanés. Il y a peu de choses que vous devriez vérifier:

  • êtes-vous sûr que le supercache fonctionne?
  • êtes-vous sûr que le problème se trouve dans la base de données mysql (si le super-cache fonctionne, le problème ne devrait pas se trouver dans la base de données mysql, mais dans votre serveur et probablement à la vitesse du réseau)
  • si vous êtes sur un hébergement partagé, vous devez absolument partir de là si vous êtes capable d’obtenir autant d’utilisateurs :)
  • si vous livrez trop d'images ou un autre contenu statique, vous devriez envisager CDN.
0
user4589