主頁 > 知識庫 > MongoDB的PHP驅(qū)動方法與技巧

MongoDB的PHP驅(qū)動方法與技巧

熱門標簽:智能電銷機器人銷售話術(shù) 徐州ai電銷機器人原理 企業(yè)智能外呼系統(tǒng)價格多少 機器人外呼系統(tǒng)軟件存在問題 兗州電話外呼營銷系統(tǒng) 沈陽營銷電銷機器人招商 高德地圖標注商戶位置 福州電銷機器人源代碼 南京400電話怎樣辦理

創(chuàng)建索引有時會阻塞新的連接

當與mongodb復(fù)制集建立連接時,驅(qū)動程序首先嘗試連接并驗證集群中每個非 隱藏的節(jié)點。如果一個節(jié)點是“down”狀態(tài),將跳過。然而,如果一個節(jié)點是“UP”狀態(tài),但是持有寫鎖,那么驗證將沒法執(zhí)行下去,因此該驅(qū)動程序?qū)⒈粧炱鹆恕?/p>

在mongodb 2.6版本前,在建立索引時的通病。所有的在前臺或后臺創(chuàng)建索引,在secondary端將在前臺創(chuàng)建。

在PHP驅(qū)動程序的1.5.3版本會有所改進,在創(chuàng)建索引時,允許驗證到second節(jié)點驗證。

減少is_master_interval值

對于對可用性要求高的應(yīng)用程序來說,建議檢查默認的驅(qū)動程序運行時的配置設(shè)置。

mongo.is_master_interval選項控制著在復(fù)制集重新選舉時驅(qū)動如何快速恢復(fù)。

is_master_interval選項默認值為15s,設(shè)置驅(qū)動發(fā)送“isMaster”請求每個mongod實例的時間間隔。這些請求幫助驅(qū)動程序判斷復(fù)制集的拓撲結(jié)構(gòu),具體的來說,就是請求檢測哪個節(jié)點是primary并可以接收寫操作。

建議將該值設(shè)置為1或2秒,以讓驅(qū)動程序在集群選舉或故障轉(zhuǎn)移時,能夠迅速的定位到primary節(jié)點。當然啦,這也取決于有多少客戶端以及ping的頻率。

注意,當primary節(jié)點發(fā)生變化時,如選舉或故障轉(zhuǎn)移,總是會有幾秒鐘驅(qū)動程序會收到一個“MongoConnectionException” 信息 “No candidate servers found”。這些異常需要在你的代碼中進行處理,否則會終止應(yīng)用程序。

理解連接處理方式并配置連接TimeoutMS

PHP驅(qū)動程序不使用連接池。因此,建議你每個PHP進程創(chuàng)建一個連接。但是,如果web應(yīng)用程序有許多PHP工作進程,將會創(chuàng)建很多新的數(shù)據(jù)庫連接,PHP驅(qū)動程序不能共享進程之間的連接。因此,當網(wǎng)絡(luò)節(jié)點慢,服務(wù)器繁忙時,PHP應(yīng)用程序創(chuàng)建初始數(shù)據(jù)庫連接時特別容易受到阻礙。

在這種情況下,建議你自定義 connectionTimeoutMS 選項和注意php.ini中的mongo.ping_interval選項。

connectionTimeoutMS

PHP驅(qū)動程序不顯示的定義一個默認的連接超時。相反,默認值由php.ini文件中的default_socket_timeout選項決定,默認是60秒。連接將等待60秒斷開,時間有些長,需要降低些。

強烈建議通過連接字符串的URI選項中顯示設(shè)置connectionTimeoutMS選項。將其設(shè)置為5到30秒之間的值。

mongo.ping_interval

mongo.ping_interval默認值為5秒。該選項設(shè)置驅(qū)動程序發(fā)送ping請求到每個mongod實例發(fā)現(xiàn)“down”節(jié)點的時間間隔,用于跟蹤驅(qū)動程序的服務(wù)器黑名單。告訴驅(qū)動程序哪些節(jié)點忽略。

您可能感興趣的文章:
  • PHP7之Mongodb API使用詳解
  • Ubuntu下安裝PHP的mongodb擴展操作命令
  • php操作MongoDB類實例
  • php實現(xiàn)Mongodb自定義方式生成自增ID的方法
  • php操作mongoDB實例分析
  • PHP中的mongodb group操作實例
  • Linux安裝PHP MongoDB驅(qū)動

標簽:景德鎮(zhèn) 本溪 鶴崗 吉安 邯鄲 丹東 大理 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MongoDB的PHP驅(qū)動方法與技巧》,本文關(guān)鍵詞  MongoDB,的,PHP,驅(qū)動,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB的PHP驅(qū)動方法與技巧》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB的PHP驅(qū)動方法與技巧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章