
我正在从共享的网络托管公司转向VPS.我正在努力为我的系统找到最佳配置.
对于具有50万条记录的1个特定表,在前一个服务器上花费几秒钟的1个查询现在需要几分钟.
我正在努力改善服务器的响应时间,所以我购买了更多的内存(我有2GB的RAM,如果需要,我仍然可以购买更多的资源和2个内核).通过将旧公司的my.cnf复制到我的VPS,我也“作弊”:
[MysqLd]read_buffer_size=8Mread_rnd_buffer_size=8Msort_buffer_size=32Minnodb_additional_mem_pool_size=503Minnodb_flush_log_at_trx_commit=1innodb_log_buffer_size=16Minnodb_buffer_pool_size=1007Minnodb_log_file_size=256Minnodb_thread_concurrency=8innodb_autoextend_increment=128max_connections=8059max_user_connections=50thread_cache_size=128thread_stack=196608binlog_cache_size=2Mnet_read_timeout=30net_retry_count=10net_write_timeout=30thread_concurrency=10open_files_limit=9940max_heap_table_size=32Mtmp_table_size=64Mkey_buffer_size=512Mkey_buffer=128Mmyisam_sort_buffer_size=64Mjoin_buffer=16Mrecord_buffer=8Mwait_timeout=300connect_timeout=10max_allowed_packet=16Mmax_connect_errors=100table_cache=1024query_cache_size=32Mquery_cache_type=1ft_min_word_len=4datadir=/var/lib/MysqLtmpdir=/tmpsocket=/var/lib/MysqL/MysqL.sockold-passwords=0[MysqLdump]quickmax_allowed_packet=16M[myisamchk]key_buffer=64Msort_buffer=64Mread_buffer=16Mwrite_buffer=16M问题是查询仍然很慢,服务器不使用可用内存!
total used free shared buffers cachedMem: 2002 1986 15 0 6 1079-/+ buffers/cache: 901 1101Swap: 1747 2 1745有什么建议?
问候
最佳答案你可以看看使用https://github.com/rackerhacker/MySQLTuner-perl
您可以使用它来分析Mysql,它将输出推荐的设置.
对于2GB内存,您的设置似乎很高.
IE max_connections = 8059
在它自己的需要比你有更多的记忆.
[MysqLd]max_connections=100innodb_buffer_pool_size=256Mquery_cache_size=256Mkey_buffer_size=256Minnodb_flush_log_at_trx_commit=0innodb_flush_method=O_DIRECTquery_cache_type=1query_cache_limit=2Mtable_cache=1024join_buffer_size=4Mthread_cache_size=128tmp_table_size=256Mmax_heap_table_size=256MB对于2gb RAM,您可以尝试在MysqL中使用这些设置
这些是我目前使用的2gb服务器之一的推荐设置 总结
以上是内存溢出为你收集整理的MySQL不使用可用内存全部内容,希望文章能够帮你解决MySQL不使用可用内存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)