我需要帮助调整my.cnf中的参数,以便有效地使用我的网站。我一直在阅读关于这个主题的不同文章,论坛条目等,但我仍然遇到问题。
根据max_user_connection的值,我得到一个错误,说它太低(如果它小于300),或者我的服务器在mysql获取所有服务器资源后停止(如果超过300,则为max_user_connections)。
有人可以给我关于调整my.cnf选项的建议吗?
在我的服务器上,我有一个启用了多站点选项的Wordpress博客。这是一个流量非常大的新闻网站。我在服务器上有6 GB的RAM。 这是我目前的设置:
skip-locking
safe-show-database
myisam_sort_buffer_size=96M
interactive_timeout=50
wait_timeout=10
connect_timeout=10
max_user_connections=150
max_connections=400
max_heap_table_size = 32M
max_connect_errors=10
key_buffer=256M
join_buffer=2M
record_buffer=2M
sort_buffer=64M
max_allowed_packet=24M
query_cache_limit = 128M
query_cache_size = 512M
query_cache_type = 1
query_prealloc_size = 65K
query_alloc_block_size = 128K
read_buffer_size=1M
read_rnd_buffer_size=768K
log_slow_queries = /tmp/slow.log
tmp_table_size=128M
table_cache=4096
thread_cache=1024
thread_concurrency=8
答案 0 :(得分:1)
提高MySQL服务器性能没有神奇的答案。您需要进行更改,然后重新启动MySQL服务器和基准。
确保您的线程并发性设置为服务器CPU中核心数的2倍。
您可能还想尝试增加查询缓存大小,如果它太小,那么您可能会有大量缓存碎片(这会降低性能)。
答案 1 :(得分:1)
使用mysqltuner.pl
。它建议,你可以模糊什么参数(具有什么价值)。
对于修改my.cnf
参数来说,它确实非常完美。
用法:
wget mysqltuner.pl
并运行此脚本。
您也可以尝试对表进行碎片整理。如果您的服务器是物理的并且仅专用于MySQL [少数实例],那么您可能会再次尝试增加少量参数并检查性能。 每次都使用基准。
答案 2 :(得分:0)
除非您有理由限制连接数,否则可以尝试将max_user_connections设置为零(这意味着没有限制)。