公司的服务器是1G的内存,CPU是 intel(R) Xeon(TM) CPU3.20GH ,上面放着两三个PHP站,数据库用的MYSQL,但是都不会配置,以前没有什么问题,后来网站有点儿访问量后就越来越卡了,有时打开页面,吃完饭回来,还没打开。
肯求高手能帮我配置一下my.ini
(是不是这个文件的配置有问题才使网站打开很慢,我都不知道...)真的肯求高手赐教,最好别复制网上的一堆文章来应付我这个菜鸟,网上搜了半天,全是转来转去的几篇同样的文章,看晕了。如果能解决问题,我赠送1G的全能空间!我的MSN是[email protected]下面是我的my.ini的内容
port=3306
default-character-set=latin1
port=3306
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=120
query_cache_size=32M
table_cache=256
tmp_table_size=9M
thread_cache_size=32
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M
key_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=512K
sort_buffer_size=1M
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=18M
innodb_log_file_size=10M
innodb_thread_concurrency=8
肯求高手能帮我配置一下my.ini
(是不是这个文件的配置有问题才使网站打开很慢,我都不知道...)真的肯求高手赐教,最好别复制网上的一堆文章来应付我这个菜鸟,网上搜了半天,全是转来转去的几篇同样的文章,看晕了。如果能解决问题,我赠送1G的全能空间!我的MSN是[email protected]下面是我的my.ini的内容
port=3306
default-character-set=latin1
port=3306
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=120
query_cache_size=32M
table_cache=256
tmp_table_size=9M
thread_cache_size=32
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M
key_buffer_size=128M
read_buffer_size=1M
read_rnd_buffer_size=512K
sort_buffer_size=1M
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=18M
innodb_log_file_size=10M
innodb_thread_concurrency=8
myisam_max_extra_sort_file_size=100G 这两个100G?你的表数据有多少?
default-character-set=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=120
query_cache_size=32M #缓存数据表数量,设置这个参数可以参见系统状态中的 open_tables(表示当前打开的数据表总数) 和 opened_tables(表示所有打开的数据表总数)
table_cache=256 #临时表的大小
tmp_table_size=12M #缓存可重用的线程数
thread_cache_size = 64myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=64M#这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载 -- #记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。
key_buffer_size=128M read_buffer_size=1M
read_rnd_buffer_size=512K
sort_buffer_size=1M #这对innodb表来说非常重要
innodb_buffer_pool_size = 256M#这取决于你需要的回复速度.128M这个数值是适当的恢复时间和良好性能之间的一个好的平衡.
innodb_log_file_size = 128M#大多数情况4M足够,除非正将很大的blob数据导入到Innodb中可以增加一点.
innodb_log_buffer_size=4M #这个值取决于你的程序,可能高或者低.8是代表起始值.
innodb_thread_concurrency=8 innodb_additional_mem_pool_size=100M #如果你不是很关心ACID,可以容许在系统完全crash的情况下丢失最后一两秒的事务,那么可以设置这个值.它可以极大的提高"短"的写事务的效率.
innodb_flush_log_at_trx_commit=2
注意:
很多情况需要具体情况具体分析
1>如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好。
2>如果Qcache_lowmem_prunes很大,就要增加Query_cache_size的值。
楼主最好还是了解些mysql的基本知识,业务应用的特性,估计楼主的DB是InnoDB的引擎,如果基本应用都在InnoDB的引擎的表。
max_connections=300 --web应用这个有点少,改成300
innodb_additional_mem_pool_size=8M --大点好 2M有点少
innodb_flush_log_at_trx_commit=2 --每秒一次,把事务的log刷到log file
innodb_log_buffer_size=4M --默认值太低
innodb_buffer_pool_size=300M --这个是内存中放data page的大小,如果不会抢掉应用程序的内存,就多给点。
你公司的服务器跑这么多应用,最好加到4G内存。