在调整参数设置后,再比较一下SHOW STATUS 和 SHOW VARIABLES的相关值,根据手册所述看看哪里还需要改进的!FLUSH_TIME最好不要设为非0,非0表示每隔flush_time秒钟所有的表将被关闭!一般不推荐这样!1G的内存,除去web server及其它的开销,给mysql的key_buffer 128MB应该不成问题吧?
解决方案 »
- mysql 存储过程 语法错误
- 高手相助,哪里能下载到mysql-5.1.7.tar.gz, 或者mysql-5.1.9.tar.gz???
- linux下利用C对Mysql操作出现段错误,大家帮忙
- MySQL连接失败的问题
- Statement may not be safe to log in statement format.
- 目前mysql最稳定的是哪个版本呀?另外,各个版本的兼容性如何?
- 用pgadmin连不上PostgrSQL数据库!请高手帮忙!!急!!!
- 救助,jsp 访问 MySQL, org.apache.jasper.JasperException
- JDBC联接MySQL,不能正常输出中文
- 从mysql导出数据库.sql文件时,报1146 - Table ‘mysql.event’ doesn`t exist 错误
- 关于数据选择求助。
- 求 MySQL 好的备份策略
my-large.cnf
my-medium.cnf
my-small.cnf
应该我非常 lxf_1976(小木) 才对!我原来是会对MYSQL简单编程,但现在必须要学会了解改善其性能。这个过程到现在进行了几天,从这里学到了很多东西,一并再次表示感谢。废话不说了。我原来的key_buffer_size是默认的8M,我想我们是1G的,改成100M应该没问题,但慢的比原来还厉害,所以不得不又改到了15M。我发现这种配置对我们的服务器来说不合适,还是在不断调整。我们的back_log是50,默认是5,我不想是不是太大了?需要改小?确实是在不断摸索。我把STATUS进行了几次快照:
主要数据对比如下:
参数 快的时候 慢的时候
| Bytes_received | 5182609 |66661391
| Bytes_sent | 28640108 |390686409
| Connections | 7246 |101013
| Created_tmp_disk_tables | 0 |7
| Created_tmp_tables | 32 |162
| Handler_read_first | 3 |8
| Handler_read_key | 78560 |833813
| Handler_read_next | 23578443 |318819055
| Handler_read_prev | 0 |738537
| Handler_read_rnd | 316875 |6193464
| Handler_read_rnd_next | 89772341 |1048494746
| Handler_update | 16415 |165804
| Handler_write | 13274 |62539
| Key_blocks_used | 5041 |28091
| Key_read_requests | 1013225 |13975217
| Key_reads | 5033 |27889
| Key_write_requests | 1530 |29149
| Key_writes | 1379 |27487
| Max_used_connections | 169 |190
Open_tables | 200 |149
| Open_files | 211 |152
| Opened_tables | 275 |12381
Slow_queries | 49 |383
| Sort_rows | 569113 |7811336
Table_locks_immediate | 47929 |642546
| Table_locks_waited | 8175 |71028
| Threads_cached | 155 |35
| Threads_created | 170 |191
| Threads_connected | 15 |156
| Threads_running | 7 |149每次慢下来的时候我RESART APACHE和MYSQL就好了。我们的这台服务器就跑这样的一个论坛。另外,APACHE配置文件中相应参数修改如下:
MaxClients 250
#TimeOut 300
TimeOut 200
KeepAlive OFF
MaxKeepAliveRequests 100
#MaxRequestsPerChild 100
MaxRequestsPerChild 300
KeepAliveTimeout 15
#MinSpareServers 5
MinSpareServers 10
#MaxSpareServers 20
MaxSpareServers 15
StartServers 8我记得有篇文章建议把MaxRequestsPerChild设成10000,但我不认为这样合适。
shuixin13(犬犬(心帆)) :谢谢!我先参考一下。
看了供参考的几个配置文件才知道我的配置是多少畸形,但标准还是拿不定。我的比较慢的情况下
opend_tables 是150左右,看来应该把table_cache设成他的两倍,也就是256.
重启MYSQL的效果要好一些。另外我多放参考写了个自己的新配置,等再慢下来的时候就换上。[mysqld]
set-variable = table_cache=256
set-variable = key_buffer=120M
set-variable = max_allowed_packet=80K
set-variable = record_buffer=100K
set-variable = thread_cache=8
set-variable = thread_concurrency=8