帮助调整my.cnf中的参数

时间:2011-02-13 23:09:40

标签: mysql performance

我需要帮助调整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

3 个答案:

答案 0 :(得分:1)

提高MySQL服务器性能没有神奇的答案。您需要进行更改,然后重新启动MySQL服务器和基准

确保您的线程并发性设置为服务器CPU中核心数的2倍。

您可能还想尝试增加查询缓存大小,如果它太小,那么您可能会有大量缓存碎片(这会降低性能)。

答案 1 :(得分:1)

使用mysqltuner.pl。它建议,你可以模糊什么参数(具有什么价值)。 对于修改my.cnf参数来说,它确实非常完美。

用法:

wget mysqltuner.pl

并运行此脚本。

您也可以尝试对表进行碎片整理。如果您的服务器是物理的并且仅专用于MySQL [少数实例],那么您可能会再次尝试增加少量参数并检查性能。 每次都使用基准。

答案 2 :(得分:0)

除非您有理由限制连接数,否则可以尝试将max_user_connections设置为零(这意味着没有限制)。