最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年07月25日 08:55:04   投稿:hebedich  
這篇文章主要介紹了MongoDB的PHP驅(qū)動(dòng)方法與技巧,需要的朋友可以參考下

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

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

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

在PHP驅(qū)動(dòng)程序的1.5.3版本會(huì)有所改進(jìn),在創(chuàng)建索引時(shí),允許驗(yàn)證到second節(jié)點(diǎn)驗(yàn)證。

減少is_master_interval值

對(duì)于對(duì)可用性要求高的應(yīng)用程序來(lái)說(shuō),建議檢查默認(rèn)的驅(qū)動(dòng)程序運(yùn)行時(shí)的配置設(shè)置。

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

is_master_interval選項(xiàng)默認(rèn)值為15s,設(shè)置驅(qū)動(dòng)發(fā)送“isMaster”請(qǐng)求每個(gè)mongod實(shí)例的時(shí)間間隔。這些請(qǐng)求幫助驅(qū)動(dòng)程序判斷復(fù)制集的拓?fù)浣Y(jié)構(gòu),具體的來(lái)說(shuō),就是請(qǐng)求檢測(cè)哪個(gè)節(jié)點(diǎn)是primary并可以接收寫(xiě)操作。

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

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

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

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

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

connectionTimeoutMS

PHP驅(qū)動(dòng)程序不顯示的定義一個(gè)默認(rèn)的連接超時(shí)。相反,默認(rèn)值由php.ini文件中的default_socket_timeout選項(xiàng)決定,默認(rèn)是60秒。連接將等待60秒斷開(kāi),時(shí)間有些長(zhǎng),需要降低些。

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

mongo.ping_interval

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

相關(guān)文章

  • mongodb中ObjectId和ObjectIdr實(shí)現(xiàn)

    mongodb中ObjectId和ObjectIdr實(shí)現(xiàn)

    本文主要介紹了mongodb中ObjectId和ObjectIdr實(shí)現(xiàn)
    2023-12-12
  • SpringBoot?集成MongoDB實(shí)現(xiàn)文件上傳功能

    SpringBoot?集成MongoDB實(shí)現(xiàn)文件上傳功能

    這篇文章主要介紹了SpringBoot?集成MongoDB實(shí)現(xiàn)文件上傳,主要通過(guò)示例代碼記錄文件上傳的步驟,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Mongodb使用$bit方法更新字段的代碼詳解

    Mongodb使用$bit方法更新字段的代碼詳解

    Mongodb的UPDATE提供了各種各樣的方法,包括字段數(shù)值增加,數(shù)組更新等,本文介紹Mongodb使用$bit方法更新字段,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • 詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法

    詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法

    副本集是MongoDB的主從復(fù)制中的重要功能,經(jīng)常被用來(lái)作額外的備份,這里我們就來(lái)詳解MongoDB中用sharding將副本集分配至服務(wù)器集群的方法,首先還是來(lái)回顧一下MongoDB中副本集的基本知識(shí):
    2016-07-07
  • 關(guān)于Mongodb 認(rèn)證鑒權(quán)你需要知道的一些事

    關(guān)于Mongodb 認(rèn)證鑒權(quán)你需要知道的一些事

    最近因?yàn)閙ongodb被黑了,早先我就疑惑過(guò)怎么這東西開(kāi)啟服務(wù)就能用了,后來(lái)找了各方資料,知道MongoDB默認(rèn)是沒(méi)有鑒權(quán)的,所以這篇文章主要給大家介紹了關(guān)于Mongodb認(rèn)證鑒權(quán)你需要知道的一些事,需要的朋友可以參考下。
    2017-10-10
  • SqlServer與MongoDB結(jié)合使用NHibernate

    SqlServer與MongoDB結(jié)合使用NHibernate

    這篇文章主要為大家詳細(xì)介紹了SqlServer與MongoDB結(jié)合使用NHibernate的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 解決MongoDB 排序超過(guò)內(nèi)存限制的問(wèn)題

    解決MongoDB 排序超過(guò)內(nèi)存限制的問(wèn)題

    最近小編遇到這樣的問(wèn)題:對(duì)集合執(zhí)行一個(gè)大排序操作(如聚合),出現(xiàn)以下錯(cuò)誤:(測(cè)試版本:MongoDB 3.0.6),怎么快速解決此問(wèn)題呢?下面小編給大家分享MongoDB 排序超過(guò)內(nèi)存限制的解決方法,一起看看吧
    2017-07-07
  • mongodb replica set 配置高性能多服務(wù)器詳解

    mongodb replica set 配置高性能多服務(wù)器詳解

    mongodb的多服務(wù)器配置,以前寫(xiě)過(guò)一篇文章,是master-slave模式的,master-slave模式,不能自動(dòng)實(shí)現(xiàn)故障轉(zhuǎn)移和恢復(fù)。所以推薦大家使用mongodb的replica set,來(lái)實(shí)現(xiàn)多服務(wù)器的高性能。
    2014-07-07
  • Mongodb?刪除集合數(shù)據(jù)后釋放磁盤空間的操作步驟

    Mongodb?刪除集合數(shù)據(jù)后釋放磁盤空間的操作步驟

    Mongodb當(dāng)集合數(shù)據(jù)占用比較多,對(duì)其進(jìn)行清理后,集合存儲(chǔ)空間下降,但磁盤空間并沒(méi)釋放,對(duì)于具有活動(dòng)更新的集合來(lái)說(shuō),有一些可重用的空間是正常的,過(guò)多的可重用空間通常是刪除大量數(shù)據(jù)的結(jié)果,這篇文章主要介紹了Mongodb?刪除集合數(shù)據(jù)后如何釋放磁盤空間,需要的朋友可以參考下
    2023-11-11
  • MongoD管理數(shù)據(jù)庫(kù)的方法介紹

    MongoD管理數(shù)據(jù)庫(kù)的方法介紹

    這篇文章介紹了MongoDB管理數(shù)據(jù)庫(kù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評(píng)論

京山县| 大同县| 库尔勒市| 莱州市| 台东市| 阳山县| 永昌县| 聂荣县| 扎兰屯市| 东方市| 横山县| 探索| 林西县| 二连浩特市| 上饶市| 云梦县| 黄山市| 高尔夫| 吕梁市| 衢州市| 鸡泽县| 扬中市| 察隅县| 社旗县| 东阿县| 河津市| 永嘉县| 南宫市| 建平县| 玛纳斯县| 常德市| 华阴市| 淮南市| 图片| 南漳县| 洪洞县| 额济纳旗| 邛崃市| 芜湖市| 峡江县| 岗巴县|