问题描述:应用程序查询数据时没有任何问题,但是一旦涉及到有触发器(无论大小)的增删改操作,就会很卡,查看日志和处理状态,发现语句的执行状态很长时间为None,或者是Open tables,持续2到3分钟,之后的状态执行则一两秒完成,重复再执行该操作,则很快,几乎是一两秒。请各位看看我的配置文件设置的是不是有很大的问题。先谢过大家·服务器配置:
配置:CPU:Intel(R) Xeon(R) W3550 3.07GHz,12G内存,320G硬盘,双网卡
软件平台:linux SUSE 11,mysql5.5.25a
数据库引擎:innodb
表数目:800左右,
触发器个数:1800个左右,最大的在700k左右,存储过程40几个,function有10几个
processlist个数15个
无并发情况下的状态参数如下:
Uptime: 5285  Threads: 16  Questions: 6961528  Slow queries: 7  Opens: 6628  Flush tables: 1  Open tables: 6604  Queries per second avg: 1317.223
my.cnf的配置如下:
log-error=/data1/mysqldata/mysql_error.log
log=/data1/mysqldata/mysql.log
long_query_time=3
log-slow-queries=/data1/mysqldata/mysql_slow.log
character_set_server = latin1
skip-external-locking
skip-name-resolve
key_buffer_size = 16K
max_allowed_packet = 32M
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 256K
lower_case_table_names=1
wait_timeout=2880000
interactive_timeout = 2880000
max_connections=1000
max_connect_errors=100000
table_open_cache =10000
table_definition_cache = 8000
query_cache_type=1
query_cache_size=40M