灰儿 发表于 2009-10-8 17:44:34

2G内存/站多/抗压型服务器对mysql数据库的my.ini进行优化配置

windows 2003_IIS6+PHP_5.2.5+mysql_5.0.45
port=3306
default-character-set=gbk
port=3306basedir="D:/host/MySQL5045/"datadir="D:/host/MySQL5045/Data/"default-character-set=gbkdefault-storage-engine=INNODBsql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# 允许的同时客户的数量max_connections=1024
# 数据库写入量或是更新量也比较大的系统,该参数不适合分配过大。而且在高并发,写入量大的系统,建系把该功能禁掉。
query_cache_size=32M

# 物理内存越大,设置就越大.默认为2402,2G-4G内存调到512-1024最佳table_cache=1024
# 临时表的大小tmp_table_size=64M
# 缓存可重用的线程数 ,增加这个值可以改善系统性能# 根据物理内存建议设置规则如下:2G---> 16 thread_cache_size=64
myisam_max_sort_file_size=100Gmyisam_max_extra_sort_file_size=100Gmyisam_sort_buffer_size=8M
# 用于索引块的缓冲区大小key_buffer_size=256Mread_buffer_size=4Mread_rnd_buffer_size=16Msort_buffer_size=32Minnodb_additional_mem_pool_size=4Minnodb_flush_log_at_trx_commit=1innodb_log_buffer_size=2Minnodb_buffer_pool_size=8Minnodb_log_file_size=10M

# 你的服务器CPU有几个就设置为几,建议用默认一般为8innodb_thread_concurrency=8
#指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。wait_timeout= 10
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。
back_log = 384

------------------------------------------------------------------------------------------------

注意:
很多情况需要具体情况具体分析
1>如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。
2>如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。
页: [1]
查看完整版本: 2G内存/站多/抗压型服务器对mysql数据库的my.ini进行优化配置