簡體   English   中英

是否為所有用戶使用相同的MySQL鏈接?

[英]Use the same MySQL link for all users?

我的共享服務器限制了從PHP到MySQL的並發連接數。 有時,當我收到更多流量並且每個人都需要訪問數據庫時,由於此max connection limitation ,他們被拒絕了。 我希望mysqlp_connect可以解決問題,但顯然持久連接不會使一個連接對所有用戶開放,而是對每個用戶開放。

無論如何,是否始終在服務器上始終只打開一個MySQL鏈接,並且讓每個用戶僅使用該鏈接,而不是為每個用戶創建一個新鏈接?

我只是從這段文字中引用一個引號,但是我建議您閱讀一下。
就我而言,我將創建一個連接並在完成每個操作后將其丟棄,因為開銷太小以至於它不會影響我的任何系統。
在您的情況下,您將需要檢查代碼並判斷這將花費多少開銷; 通常,您會對此進行基准測試。


“這里的答案非常簡單-效率。如果建立到您的SQL Server的鏈接的開銷很高,則持久連接是好的。這種開銷是否真的很高取決於許多因素。例如,它是哪種數據庫,無論它是否與Web服務器位於同一台計算機上,SQL服務器所在的計算機負載如何,依此類推。
底線是,如果該連接開銷很高,則持久連接可以為您提供很大幫助。 它們使子進程在整個生命周期中僅連接一次,而不是在每次處理需要連接到SQL Server的頁面時都僅連接一次。 這意味着,對於每個打開了持久連接的孩子,將擁有自己的與服務器的打開持久連接。
例如,如果您有20個不同的子進程運行的腳本與SQL Server建立了持久連接,則您將有20種與SQL Server的不同連接,每個子進程一個。

來源: http//php.net/manual/en/features.persistent-connections.php

希望對您有所幫助!

暫無
暫無

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

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