2003server+IIS6.0+PHP+MYSQL下 
针对16G内存,8核2.6G CPU 
只使用MyISAM
主要任务:查询
次要任务:写入数据 
连接数量较多的mysql服务器 
下边是默认生成的my.ini,请帮忙配置,谢谢。[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="D:/php/mysql/"
datadir="D:/php/data/"
default-character-set=utf8
default-storage-engine=MYISAM
max_connections=500
query_cache_size=91M
table_cache=1000
tmp_table_size=54M
thread_cache_size=23
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=54M
key_buffer_size=283M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K#*** INNODB Specific options ***
skip-innodb
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=10M
innodb_thread_concurrency=18 

解决方案 »

  1.   

    16G Memory,
    可以适当调大这两个参数。
    key_buffer_size和table_cache
      

  2.   

    query_cache_size=91M //这个是查询缓存,如果写sql不是很多,且读SQL的结果集不是很大,这个可以适当开大,建议256M
    tmp_table_size=54M  //这个建议开到512M左右,这个参数的意思是超过该值,则将临时表创建到磁盘上key_buffer_size=283M // 建议开到至少8G,用于缓存索引//下面3个参数,可开到1M
    read_buffer_size=64K
    read_rnd_buffer_size=256K
    sort_buffer_size=256K 
      

  3.   

    数据库只使用MyISAM 
    那么#*** INNODB Specific options ***下边的还需要配置不? 
    skip-innodb 
    innodb_additional_mem_pool_size=2M 
    innodb_flush_log_at_trx_commit=1 
    innodb_log_buffer_size=1M 
    innodb_buffer_pool_size=8M 
    innodb_log_file_size=10M 
    innodb_thread_concurrency=18 
      

  4.   


    这些是设置INNODB方面的,如果没有用此引擎,可以不用,优化是要反复测试的,要有耐心、方向。
      

  5.   

    MYISAM主要调整KEY_BUFFER的值,其他的参数提高了也没有多大意义!
      

  6.   

    个人看法,这些参数根据你的数据量、应用的情况来作适当调整(随着业务的变化逐步调整),主要考虑到MYSQL对内存的维护本身也是要耗代价的,不要想着有多少内存就分多少给它吧。