2 votes

Charge CPU très élevée Utilisation faible à moyenne de la RAM sur le VPS (mysql à plus de 100% CPU)

Je suis sur un serveur VPS Virtuozzo avec :
8GB RAM
6 CPU
Disque dur SSD
Debian 8.8
PHP 5.6.30
MySQL 5.5.55

Il n'y a qu'un seul site web qui est desservi.
Il s'agit d'un site web wordpress avec SSL qui contient environ 22000 articles.
Il reçoit un trafic moyen, environ 8 000 utilisateurs, 18 000 pages vues par jour.
En raison de la nature du site web, nous recevons beaucoup de mauvaises requêtes de robots et de tentatives de piratage. fail2ban est configuré et rapporte bien.

top -i indique parfois que le CPU% de mysql est de 200.

Rapports Virtuozzo
Utilisation de l'unité centrale 99,9
Moyenne de la charge du CPU 7,13, 7,42, 6,97
Mémoire 42

Par conséquent, à un moment donné, Apache s'arrête et redémarre.

my.cnf :

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

#bind-address       = 127.0.0.1

key_buffer          = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size   = 8

myisam-recover         = BACKUP
max_connections        = 100
#table_cache           = 64
#thread_concurrency    = 10

query_cache_limit   = 1M
query_cache_size    = 128M
tmp_table_size      = 256M
max_heap_table_size = 256M
table_open_cache    = 3200

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

log_error = /var/log/mysql/error.log

slow_query_log_file = /var/log/mysql/mysql-slow.log
slow_query_log      = 1
#long_query_time = 2
#log_queries_not_using_indexes

#server-id          = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size     = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name

innodb_buffer_pool_size = 5G

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer      = 16M

!includedir /etc/mysql/conf.d/

Le journal des requêtes lentes ne signale aucune requête lente.

(fichier my.cnf configuré par un expert en administration de serveur que j'ai engagé, car je n'en suis pas un)

MySQL est-il mal configuré ?

MISE A JOUR : J'ai essayé de désactiver tous les plugins et d'appliquer le thème de base. Il n'y a pas de plugin particulier qui cause ce problème. Il va sans dire que l'utilisation de l'unité centrale était plus faible, mais aussi la charge de mémoire vive. D'ailleurs, s'il n'y a pas de plugins et que nous appliquons le thème de base, il n'y a pas autant d'engagement de la part des utilisateurs. Nous ne pouvons pas atteindre 200 utilisateurs par minute avec la configuration de base afin de déboguer correctement...

0voto

Vijay Muddu Points 436

Comme vous l'avez dit, vous utilisez word-press, vérifiez qu'il n'y a pas de mauvais plugins, car certains peuvent être compromis.

Je peux voir innodb_buffer_pool_size = 5G Vous avez redémarré le service mysql après avoir modifié vos paramètres my.cnf, car les modifications ne sont effectives qu'après le redémarrage, principalement pour innodb_buffer.

vérification du temps attente des ressources à l'aide de la commande top vérification du temps wa S'il y a une valeur, cela signifie qu'il y a un problème avec les ressources comme le disque dur ou la mémoire vive. Il se peut que votre disque dur ou votre mémoire vive ait des problèmes de lenteur en lecture-écriture.

En outre, vous pouvez utiliser Assistant de configuration Percona pour configurer votre my.cnf en fonction de la configuration de votre serveur

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X