我有一台拥有约130个客户端的Owncloud服务器。 现在已经两周了,CPU的使用率确实很高(介于85-100%之间)
这是VM的配置:
16Go RAM
4 CPU @ 3Ghz
运行Ubuntu 11(64位)
我尝试了几种方法来解决此问题,但均无济于事:
添加CPU(不起作用,保持100%的速度)
调整Mysql配置(我不知道输入的值是否已优化)
这是mysql的配置
[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 = 400M
max_allowed_packet = 800M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 128M
query_cache_size = 64M
log_error = /var/log/mysql/error.log
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[isamchk]
key_buffer = 16M
此外,在mysql错误日志中,我可以看到数据库频繁关闭(每天约2次),但我不知道为什么。
有人可以帮我解决此问题吗?
谢谢
答案 0 :(得分:1)
my.cnf [mysqld]的建议
thread_cache_size=64 # from 8 to support your workload
这是一个动态变量,可以通过MySQL提示符设置root登录,
SET GLOBAL thread_cache_size=64;
,将对新的连接有效。 请在下一次停止/启动MySQL之前更改my.cnf。
应通过配置中的这三个更改来关闭查询缓存。
query_cache_type=OFF;
query_cache_size=0;
query_cache_limit=0;
以节省CPU周期。通过使用提高查询效率 适当的表索引。
答案 1 :(得分:0)
主要是猜测,无需进一步调查,但是以下一些提示可能会有所帮助:
参考文献:
祝您好运,如果您需要更多说明,请在评论中提出或提出新问题。