日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > DB2 > MongoDB的PHP驅動方法與技巧

MongoDB的PHP驅動方法與技巧

時間:2024-02-28 13:28作者:下載吧人氣:32

創建索引有時會阻塞新的連接

當與mongodb復制集建立連接時,驅動程序首先嘗試連接并驗證集群中每個非 隱藏的節點。如果一個節點是“down”狀態,將跳過。然而,如果一個節點是“UP”狀態,但是持有寫鎖,那么驗證將沒法執行下去,因此該驅動程序將被掛起了。

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

在PHP驅動程序的1.5.3版本會有所改進,在創建索引時,允許驗證到second節點驗證。

減少is_master_interval值

對于對可用性要求高的應用程序來說,建議檢查默認的驅動程序運行時的配置設置。

mongo.is_master_interval選項控制著在復制集重新選舉時驅動如何快速恢復。

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

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

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

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

PHP驅動程序不使用連接池。因此,建議你每個PHP進程創建一個連接。但是,如果web應用程序有許多PHP工作進程,將會創建很多新的數據庫連接,PHP驅動程序不能共享進程之間的連接。因此,當網絡節點慢,服務器繁忙時,PHP應用程序創建初始數據庫連接時特別容易受到阻礙。

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

connectionTimeoutMS

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

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

mongo.ping_interval

mongo.ping_interval默認值為5秒。該選項設置驅動程序發送ping請求到每個mongod實例發現“down”節點的時間間隔,用于跟蹤驅動程序的服務器黑名單。告訴驅動程序哪些節點忽略。

標簽MongoDB,PHP,驅動,方法,技巧

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 日韩三级在线免费观看 | 在线观看成年人免费视频 | 亚洲国产成人综合精品2020 | 真人一级一级特黄高清毛片 | 亚洲巨乳自拍在线视频 | 亚洲精品一区二区三区美女 | 欧美色综合高清视频在线 | 一本久道综合久久精品 | 久久亚洲国产午夜精品理论片 | 免费观看a黄一级视频 | 亚洲综合日本 | 欧美性猛交xxx免费看人妖 | 久久99亚洲网美利坚合众国 | 欧美日韩视频一区二区三区 | 一本色道久久综合亚洲精品 | 狠狠色狠狠色综合久久第一次 | 中文字幕巨乱亚洲 | 欧美一级毛片兔费播放 | 午夜在线视频一区二区三区 | 久久久久久91精品色婷婷 | 亚洲综合久久久久久888 | 国产一区二区免费播放 | 曰韩毛片| 日本三级中文字幕 | 毛片在线视频 | 精品72久久久久久久中文字幕 | 日韩免费一级a毛片在线播放一级 | 九九视频国产 | 久久久久久久久影院 | 国语精品视频在线观看不卡 | 国产伦子伦视频免费 | 婷婷丁香花麻豆 | 青青青免费手机版视频在线观看 | 日本韩国中文字幕 | 在线亚洲精品中文字幕美乳 | 99精品福利| 另类专区 亚洲 | 亚洲一区二区三区在线播放 | 一级绝黄 | 亚洲国产二区三区 | 亚洲综合视频网 |