《PHP的福音!支持多數據庫連接,高性能的開源MySQL連接池》 開源中國旗下代碼托管平台對於很多 PHP 開發者來說,連接數據庫一直是個讓人頭疼的問題,那麼今天 Gitee 為大家介紹的就是一款一個基於 MySQL 協議,Swoole 開發的MySQL數據庫連接池。項目名稱:SMProxy項目作者:louislivi開源許可協議:MIT項目地址:https://gitee.com/louislivi/smproxy設計初衷PHP 沒有連接池,所以高並發時數據庫會出現連接打滿的情況,Mycat 等數據庫中間件會出現部分 SQL 無法使用,例如不支持批量添加等,而且過於臃腫。 所以就自己編寫了這個僅支持連接池和讀寫分離的輕量級中間件,使用 Swoole 協程調度 HandshakeV10 協議轉發使程序更加穩定,不用像 Mycat 一樣解析所有 SQL 包體,增加複雜度。項目原理將數據庫連接作為對象存儲在內存中,當用戶需要訪問數據庫時,首次會建立連接,後面並非建立一個新的連接,而是從連接池中取出一個已建立的空閑連接對象。 使用完畢後,用戶也並非將連接關閉,而是將連接放回連接池中,以供下一個請求訪問使用。而連接的建立、斷開都由連接池自身來管理。同時,還可以通過設置連接池的參數來控制連接池中的初始連接數、連接的上下限數以及每個連接的最大使用次數、最大空閑時間等等。 也可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等。超出最大連接數會采用協程掛起,等到有連接關閉再恢複協程繼續操作。特性支持讀寫分離支持數據庫連接池,能夠有效解決 PHP 帶來的數據庫連接瓶頸支持 SQL92 標准采用協程調度支持多個數據庫連接,多個數據庫,多個用戶,靈活搭配遵守 MySQL 原生協議,跨語言,跨平台的通用中間件代理支持 MySQL 事務支持 HandshakeV10 協議版本完美兼容 MySQL5.5 - 8.0兼容各大框架,無縫提升性能性能測試介紹了這麼多,那麼這個項目的性能到底如何呢?我們可以看一下作者進行的性能測試。沒用框架的 PHP 7.2.6未使用連接池: 使用連接池: ThinkPHP 5.0未使用連接池:ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=807970277,3683362894&fm=173&app=49&f=JPEG?w=520&h=628&s=E73219C25BB792CE48D5100A000070C1" data-loaded=0 >使用連接池: 《PHP的福音!支持多數據庫連接,高性能的開源MySQL連接池》完,請繼續朗讀精采文章。 喜歡 小編的世界 e4to.com,請記得按讚、收藏及分享!
音調
速度
音量
語言
PHP的福音!支持多數據庫連接,高性能的開源MySQL連接池
精確朗讀模式適合大多數瀏覽器,也相容於桌上型與行動裝置。
不過,使用Chorme瀏覽器仍存在一些問題,不建議使用Chorme瀏覽器進行精確朗讀。