- 论坛徽章:
- 0
|
本帖最后由 cenalulu 于 2012-07-12 14:37 编辑
大至问题如下:
服务器linux的
主要是网站应用的,php+mysql
mysql 的最大单表 在2G左右,记录有800万左右 ,有7个字段,只有ID主键自增索引,这样的单表一般不更新,偶尔也会,主要是查询的比较多,估计这种意单表查询并发在100/s,查询语句都是 select * from table where id=1 的这种,。
现在的问题就是 偶尔更新 最大的单表其中一条记录,就像 update set .. where id=1 这样,会很慢,估计要是20秒左右,
在这20秒中整个MYSQL的查询 包括一些很小的表查询就会停止,直到更新完后才正常.
但是 在没有大表更新的情况下,其它的小表更新操作都正常
mysql 重启后也正常,但过几个小时就会再有这样的问题
硬盘没有问题,网站应用也没有问题,以下是my.cnf 主要配置,请高人帮指点下什么问题,
- key_buffer_size = 384M
- sort_buffer_size = 2M
- join_buffer_size=32M
- read_buffer_size = 2M
- read_rnd_buffer_size = 16M
- myisam_sort_buffer_size = 128M
- thread_cache_size = 300
- query_cache_size = 512M
- table_cache=2048
- table_open_cache = 512
- tmp_table_size = 256M
- max_heap_table_size=256M
- max_allowed_packet=32M
- max_connect_errors=10000
- max_connections = 5000
- wait_timeout = 50
- interactive_timeout=120
- long_query_time=3
- back_log = 600
复制代码 SHOW STATUS LIKE 'Table%';
+-----------------------+---------+
| Variable_name | Value |
+-----------------------+---------+
| Table_locks_immediate | 1151552 |
| Table_locks_waited | 15324 |
+-----------------------+---------+ |
|