国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

每次客戶端和workerman連接,workerman都會新建一個mysql連接,導致mysql產生大量sleep進程

guonan89

初次mysql報錯too many connection
后面修改了mysql的max_connections值,初步解決了。但是這個不是最終方案呀。我用的數據庫類是workerman-mysql,每次客戶端連接gatwayworker都會創(chuàng)建一次mysql連接,能不能像apache那樣子不管多少客戶端訪問都始終有一個mysql連接

[attach]1972[/attach]
?

5058 1 0
1個回答

phpcreeper

1、首先產生大量的sleep線程,通常原因是mysql客戶端沒有及時關閉對應的連接,或者是 mysql服務端wait_timeout超時時間配置過大,而此期間客戶端沒有發(fā)來任何請求所致,但是有sleep線程并不代表就一定有問題,多個長連接屬于連接復用,性能好,少量動態(tài)連接則意味著頻繁的tcp三次握手,性能不好,而業(yè)務比較清淡則產生大量的連接,那肯定是有問題,所以要看整體上線文環(huán)境。
2、apache訪問mysql只有一個連接? 一般的應用怎么可能呢? 具體發(fā)起了多少個連接,那得看客戶端建立了多少個連接,若只有一個,那說明客戶端做了特殊連接處理比如強制有且僅有建立了一個連接。
3、同樣的對于使用workerman-mysql建立連接,可以建立一個,也可以建立N個,這看你怎么用,【每次客戶端連接gatwayworker都會創(chuàng)建一次mysql連接】這個是你使用有問題,一般的應該在onWorkerStart 里初始化數據庫連接,而不是在onConnect里。
4、另外可以考慮使用mysql連接池的方案來解決問題。

年代過于久遠,無法發(fā)表回答
??