0

我有 INNODB 表,一旦用户登录,就会存储用户导航详细信息。为此,我有简单的 INSERT 语句。但有时,当流量很大时,此 INSERT 将需要 15-24 秒,否则对于单个用户来说,它会在微秒内出现。服务器有 2GB 内存。
以下是 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 

谢谢。

4

1 回答 1

0

作为第一项措施,您是否考虑过更新?5.0 太旧了。已达到产品生命周期的终点。自两年以来,它没有任何变化。在 5.1 和 5.5 版本中,对整个 DBMS 的不同方面进行了重大改进。你应该认真考虑升级。

您可能想尝试调整入门作为可以更改哪些选项的另一个方向。

您还可以检查SHOW FULL PROCESSLISTMySQL 的单个线程处于什么状态。也许你发现了一些相关的东西。

于 2014-03-24T23:17:20.977 回答