2011-05-01 356 views
0

我的opened_tables以每5秒大約100張表的速度快速增長。爲什麼Opened_tables快速增長以及如何減慢速度?

我有我的table_cache設置爲10,000,我認爲這是相當高的。

我的網站上的MySQL性能非常慢,我認爲這是我網站瓶頸的原因。

我可以做些什麼來減緩opened_tables - 我相信這是我的網站表現糟糕的原因之一。

這是MySQL的過程%的: 12.5%的CPU
2.2%MEM

我的服務器負載: 服務器負載1.70(26 CPU)的
佔用內存8.26%(共2097152 173288)

這是my.cnf中:

[mysqld] 
skip-innodb 
local-infile=0 
set-variable = max_connections=200 
safe-show-database 
max_tmp_tables=1 
query_cache_size=256M 
query_cache_limit=128M 
query_cache_type=1 
key_buffer_size=256M 
skip-locking 
max_allowed_packet = 1M 
table_cache = 10000 
sort_buffer_size = 1M 
read_buffer_size = 768K 
read_rnd_buffer_size = 1M 
myisam_sort_buffer_size = 32M 
thread_cache_size = 20 
thread_concurrency = 4 

log-slow-queries = /var/log/mysql/mysql-slow.log 
long_query_time = 1 
interactive_timeout=3 
wait_timeout=3 
connect_timeout=5 
+0

「我的opened_tables以每5秒大約100張表的速度快速增長。」 - 呃,什麼? – 2011-05-01 02:48:36

+0

是的.. Open_tables \t 51 Opened_tables \t 10213這是在正常運行時間551 ..任何超過24小時超過100萬。 – Moe 2011-05-01 14:28:04

+0

我的table_cache現在被設置爲最大值,而且我仍然在快速增長。我不知道爲什麼! – Moe 2011-05-01 14:28:39

回答

0
max_tmp_tables=1 

這是問題所在。

我把這個值加到了100(100),並且Opened_tables減慢到幾乎沒有增量。

我希望這可以幫助別人!

編輯: 廢料也就是說,

有是一個不斷更新,刪除和添加新表的表。 這是爲了監控在線用戶。

每次有更新/插入/刪除時,都會打開一個新表。

這是正常嗎?

+0

只有在您的查詢的EXPLAIN顯示時,這是正常的,我認爲需要tmp表來執行查詢。 – 2011-05-02 10:11:27