我想知道这些my.cnf值是否可以用于具有1GB RAM的Xeon 2.33GHz VPS。 服务器上有大约5个站点,流量很低,服务器正在运行Apache / PHP / MySQL ......我还想启用MySQL查询缓存,并希望任何建议重新分配给缓存的RAM量。
MySQL设置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K
bind-address = 127.0.0.1
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
感谢您的帮助:)
答案 0 :(得分:1)
与1GB RAM相比,某些内存chache设置得太小,即使您实际上可能使用虚拟机。 如果你改变一些选择并且不会吃太多资源,性能可能会更好。
如果你没有起诉改变什么,请看看MySQL推荐的配置。 这些文件位于/usr/share/doc/mysql-server-x.x/examples 你的配置可能属于my-small.conf,my-medium.cnf更适合你。
答案 1 :(得分:1)
我建议您使用 mytop 来分析数据库的实时活动。
还使用 mysqltuner 为您提供有关my.cnf值的建议。
还支持记录慢查询:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3
我的专用服务器的配置,如果有任何帮助,可以获得高比率的交易:
max_allowed_packet=16M
key_buffer_size=8M
innodb_additional_mem_pool_size=10M
innodb_buffer_pool_size=512M
join_buffer_size=40M
table_open_cache=1024
query_cache_size=40M
table_definition_cache=256
innodb_additional_mem_pool_size=10M
key_buffer_size=16M
max_allowed_packet=32M
max_connections = 300
query_cache_limit = 10M
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3
我希望它有所帮助。如果您想参考有关这些(以及许多其他)服务器参数的详细信息,请参阅此Official MySQL Documentation
问候。