2013-12-19 21 views
0

[解決]集wait_timout至30,仍睡連接並以恆定速率

似乎PHP MYADMIN變量確實起作用增加。 我將wait_timeout設置爲30,並將Lock_wait_timeout設置爲50
花了將近6小時才能恢復穩定,包括多次重啓,可能需要時間來閱讀這些更改。

問題:

網站地址查詢的主頁上http://topyaps.com

322 in 2 seconds

在慢查詢日誌文件沒有。

我正在使用BITNAMI LAMP SERVER[amazon ec2]來運行我的WordPress的重型網站。

問題是,我的服務器每10分鐘崩潰一次。

原因,我猜, 當我使用膩子檢查processlist,它似乎以不斷增加的速度非常快,全部指定sleep命令。

我試着設置變量,如:

wait_timeout=30 
interactive_timeout=30 
connect_timeout=15 
max_user_connections=25 
max_connections=999 

,但它似乎並沒有做任何的幫助。

LINK到phpMyAdmin顯示器的圖片,對於單一的頁面加載[首頁]:http://postimg.org/image/5qqgb30xb/

這裏是我從PHPMYADMIN狀態:

Questions since startup: 50,617 Documentation 
ø per hour: 138,361 
ø per minute: 2,306 
ø per second: 38 

Statements # ø per hour % 
select 46,128 126.1 k 91.13 
set option 2,452 6,702.5 4.84 
change db 1,226 3,351.3 2.42 
update 516 1,410.5 1.02 
insert 135 369 0.27 
delete 116 317.1 0.23 
show binlogs 13 35.5 0.03 
show variables 5 13.7 0.01 
show processlist 5 13.7 0.01 
show master status 4 10.9 0.01 
show slave status 4 10.9 0.01 
show databases 4 10.9 0.01 
show tables 3 8.2 0.01 
show status 3 8.2 0.01 
show grants 1 2.7 <0.01 
kill 1 2.7 <0.01 
show table status 1 2.7 <0.01 
select 
set option 
change db 
update 
insert 
delete 
show binlogs 
Other 
91%5% 

我檢查了我的網頁查詢它顯示「在2秒鐘內完成328個查詢」。

如何實際阻止這些連接?

回答

0

我想看看這些查詢是第一次。你爲什麼這麼多。如果它們都是重複查詢,並且每次連接都會調用它們,那麼我會考慮緩存。您可以安裝memcachedW3TotalCache等插件來緩存您的數據庫查詢。您也可以使用W3TotalCache緩存前端。 Memcached是一個將查詢結果存儲在內存中的鍵值存儲。所以你的數據庫每次都不會在同一個查詢中得到命中。 此外,如果您使用innodb作爲存儲引擎,請將innodb_buffer_pool_size更改爲內存的60%

+0

你能幫助我,在如何檢查哪些查詢沒有運行或哪些查詢速度慢?我使用SSH客戶端膩子。 – user2277145

+0

最簡單的方法是安裝phpmyadmin並查看他們的監控部分和緩慢的查詢日誌 –

+0

你好,我更新了幾件事情,用picture.My鎖wait_timeout是31,536,000是不是有點不同於wait_timeout? – user2277145

0

儘管我幾乎無法訪問您的網站,但對於常見的wordpress安裝,查詢到網頁的比例似乎非常高。我最好的猜測是你有太多的插件,而這些插件又會在每個頁面加載上運行過多的自定義查詢。

您需要確定此查詢的來源並找到將它們卸載到緩存機制(如memcache)的方法。有一些緩存插件(如W3TC)可以爲您做這件事,但在定製的自定義查詢的情況下,它可能不太有效。

你說你正在運行一個bitnami燈配置,所以你的mysql和你的web服務器運行在同一臺機器上。您是否考慮過運行單獨的MySQL服務器,例如Amazon RDS?這不是一個神奇的解決方案,但可以讓你更好地診斷瓶頸,同時阻止你篡改mysql配置,這是很難走的路。

您使用的是什麼DNS?我發現使用Cloudflare's免費DNS服務確實爲靜態文件提供了一個基本的緩存層,因此用戶可能會在您訪問首頁時爲您的html提供一個靜態副本。你必須配置cloudflare來執行攻擊性的html緩存。但正如我所說,它是免費的,它有幫助。

+0

是的,它再次墜毀,所以這就是爲什麼你沒有打開它。 – user2277145

+0

很奇怪的事情,但是當我啓用wp超級緩存時,我的整個站點變成了空白頁面。 – user2277145

+0

在複製上我可以看到主複製 此服務器未在複製過程中配置爲主複製。你想配置它嗎? 從屬複製 此服務器未在複製過程中配置爲從屬。你想配置它嗎? – user2277145