簡體   English   中英

fastcgi中的持久數據庫連接

[英]Persistent database connections in fastcgi

我正在將應用程序從php移植到fastcgi(c)。 我的主機運行apache。

由於fastcgi應用程序將在循環中運行,我可以打開一個mysql連接,並為所有傳入的請求保持打開狀態。 這是推薦的嗎?

我想我已經閱讀了相同數量的意見,說連接比請求更昂貴,而且應該是持久性的,另一方面,人們聲稱開放連接是一種資源匱乏,應該每次關閉。

在我的背景下哪一個是正確的?

我討厭說出這么明顯的答案,但是......你有沒有嘗試過兩種方式並對它們進行比較? 將connect()更改為pconnect()並使用這兩種方法嘗試它非常容易。 做一些分析,特別是在負載下,看看哪種方法最適合您的硬件和軟件組合。

在高流量站點上,有時您無法讓您的數據庫接受足夠的連接以允許持久性工作,但通常,持久連接往往更有效。

我會說如果你有至少10-20個人在任何時候都使用你的網站,那么持久連接效果最好。 任何不足都是矯枉過正的

這在很大程度上取決於您的設置。 眾所周知,MySql建立連接速度很快; 你可以說它是專為此而設計的。 如果數據庫與Web服務器在同一台機器上,那么它真的很快。 你必須權衡這一點,以增加保持連接活動的復雜性。 如果每個腳本都創建一個新連接,則行為不當的腳本無法刪除其他腳本。 還存在諸如每連接狀態之類的問題。 因此,根據經驗,我會說, 除非您已將連接識別為性能瓶頸,否則請勿嘗試對其進行優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM