非常高的CPU负载低到中VPS上的RAM使用率(超过100%的CPU)

我在VPS Virtuozzo服务器上使用:
8GB内存
6个CPU
SSD硬盘
Debian 8.8
PHP 5.6.30
MySQL 5.5.55

只有一个网站是服务的。
它是一个带有SSLfunction的网站,大约有22000篇文章。
它获得中等stream量,大约8k用户,每天18k的综合浏览量。
由于网站的性质,我们得到了很多不好的机器人请求和黑客攻击。 fail2banconfiguration和报告良好。

顶部-i报告有时mysql的CPU%为200。

Virtuozzo报告
CPU使用率99.9%
CPU负载平均7.13,7.42,6.97
内存42%

结果在某些时候apache暂停并重新启动。

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/ 

慢查询日志不报告任何慢查询。

(my.cnf文件由我聘用的服务器pipe理员专家configuration,因为我不是一个)

MySQL是否configuration错误?

更新:我试图禁用所有插件,并应用基本主题。 没有一个特定的插件导致这一点。 我不用说,CPU使用率较低,但RAM负载也较低。 顺便说一下,如果没有插件,并且我们已经应用了基本主题,那么用户就没有那么多的参与。 基本设置,我们不能每分钟打200个用户为了正确debugging…

正如你所说的,你正在使用wordpress,检查不好的插件,因为一些插件可能会受到影响,testing它禁用一个接一个的插件

我看到innodb_buffer_pool_size = 5G仍然是你的内存使用量是8gb的42%以上的使用量应该是多了,你是否改了你的my.cnf设置后重新启动mysql服务导致改变效果只能在重启之后才为innodb_buffer

检查时间等待资源使用顶部命令检查如果有一些价值,那么这意味着有一些问题,如资源像硬盘或内存可能是你的SSD或内存有缓慢的读写问题

此外,您可以使用Perconaconfiguration向导根据您的服务器configuration来configurationmy.cnf