回應:
我覺得 Connection Pooling 是有正面效應的。Database Connection 本就 expensive, 會用到 CPU 的不少資源﹐也影響 MySQL 的速度。試想每一 Connection 省一秒﹐每天有多少個 Connection? 省下來的時間可讓 MySQL 處理其它 request, 良性循環﹐現在可是惡性循環啊~~
您提到 Table Lock, 我假定您是用 MyISAM Table Type (supports Table Level Locking). 如確實如此﹐而您的 MySQL 版本又 supports InnoDB 的話﹐我建議您換去 InnoDB Table Type (supports Row Level Locking), 那麼﹐ Insert/Update/Delete 就不需要 Lock 整個 Table 了。
Connection Pool 有效沒錯,但是對本站而言效果可能不顯著
我看這程式碼,應該是沒有處理 connection pool 的機制
也許 php 內部本身就處理了 connection pool , 這我沒研究了...
因為其實 select 是非常快的,幾乎不會有任何延遲
之前某時段線上飆到四百多人,因為那一段時間似乎沒有人正在 insert/update/delete 任何資料
所以即使四百多人,速度仍然像閃電一樣快
至於 InnoDB , 我沒研究,謝謝您提供的方向