看板 Database 關於我們 聯絡資訊
各位前輩好~ 這幾天被 too many connections 這個問題搞到睡都睡不好 我使用 PHP + MySQL 主要常使用到 MySQL 的部分是: 1. 當使用者做了動作會被存到 MySQL (頻率約為一天三萬次,某些時段容易多人一起做動作) 2. 每兩分鐘會抓750筆存的資料出來丟給同事的程式 丟完後刪除該筆資料 一開始我先將第一部分的寫入連線改成 persistent connection: $pdo = new PDO('mysql:host='. DELIVERY_LOG_HOST. ';dbname='. DELIVERY_LOG_NAME, DELIVERY_LOG_USER, DELIVERY_LOG_PASS, array(PDO::ATTR_PERSISTENT => true)); 後來我將這個 table 的 engine 從 MyISAM 改成 InnoDB 也有將 autocommit 設成 0。 但連線數還是一直很高(一百多) 我看 show processlist 有發現第一部分的寫入有同時出現好幾個 process 想請問 PDO 的 persistent connection 他的運作方式是怎麼樣的? pool 會有幾條 connection? 還有請幫我看看,我哪邊用錯了? 或是還有什麼方式可以降低 connection? 因為現在一直發生 too many connections 我快炸了T^T 先謝謝各位了!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.65.124
hukhuk:有請mysql dba高手 02/21 19:01