我有INNODB表,用户登录后会存储用户导航详细信息。 为此,我有简单的INSERT语句。 但有时候这个INSERT需要15-24秒,当有大量流量时,否则对于单个用户来说它是微秒。 服务器有2GB RAM 以下是MySQL配置详细信息:
max_connections=500
# You can set .._buffer_pool_size up to 50 - 80 % of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 800M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 200M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
table_cache = 90
query_cache_size = 256M
query_cache_limit = 256M
thread_cache_size = 16
sort_buffer_size = 64M
innodb_thread_concurrency=8
innodb_flush_method=O_DIRECT
innodb_buffer_pool_instances=8
感谢。
答案 0 :(得分:0)
作为第一项措施,您考虑过更新吗? 5.0岁。 It's end of product lifecycle was reached.两年以来没有任何变化。在版本5.1和5.5中,对整个DBMS的不同方面进行了重大改进。你应该认真考虑升级。
您可能希望尝试tuning primer作为您可以更改的选项的另一个方向。
您还可以使用SHOW FULL PROCESSLIST
查看MySQL的单线程状态。也许你发现了相关的东西。