欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mongodb系統(tǒng)性能篇(1)

創(chuàng)建固定集合

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、廣豐網(wǎng)站維護、網(wǎng)站推廣。

db.createCollection(“my_collection”,{capped:true,size:10000,max:5})

把普通集合轉(zhuǎn)行成固定集合

db.runCommand({convertTocapped:”test”,size:10000})

GridFS是一種在MongoDB中存儲大二進制文件的機制,使用GridFS可以存儲以下幾種文件:

儲存巨大的文件,比如視頻、高清圖片等

好處:

利用GridFS可以簡化需求。

GridFS會直接利用已經(jīng)建立的復(fù)制或分片機制,故障恢復(fù)和擴展都很容易

GridFS可以避免用戶上傳內(nèi)容的文件系統(tǒng)出現(xiàn)問題。

GridFS不產(chǎn)生磁盤碎片

GridFS使用兩個表來存儲數(shù)據(jù):

files 包含元數(shù)據(jù)對象

chunks 包含其他一些相關(guān)信息的二進制塊

[root@a2 bin]# ./mongofiles  put mongosniff.tar.gz

[root@a2 bin]# ./mongo

MongoDB shell version: 2.4.3

connecting to: test

> show tables;

fs.chunks

fs.files

system.indexes

> db.fs.files.find();

{ "_id" : ObjectId("5196601b171c296452c1f9f1"), "filename" : "mongosniff.tar.gz", "chunkSize" : 262144, "uploadDate" : ISODate("2013-05-17T16:51:40.843Z"), "md5" : "5067d9e1c4a0e41b93f204a72ec52794", "length" : 7171743 }

>

fs.files 存儲的是文件的相關(guān)信息,fs.chunks存儲是的文件,并且是二進制格式的。

查看存儲文件信息

[root@a2 bin]# ./mongofiles  list

connected to: 127.0.0.1

mongosniff.tar.gz       7171743

獲取存儲文件:

[root@a2 bin]# ./mongofiles  get  mongosniff.tar.gz

系統(tǒng)性能優(yōu)化:

建立索引,

當(dāng)創(chuàng)建collection時,系統(tǒng)會自動建立一個_id的索引,而且不能刪除

> db.system.indexes.find();

{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.c1", "name" : "_id_" }

{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.c2", "name" : "_id_" }

建立普通索引

> db.c2.ensureIndex({age:1},{true});(如果數(shù)據(jù)量大,可以使用background,age:1表示索引按age的升序排列,-1為降序)< /p>

> db.system.indexes.find();

{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.c1", "name" : "_id_" }

{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "test.c2", "name" : "_id_" }

{ "v" : 1, "key" : { "age" : 1 }, "ns" : "test.c2", "name" : "age_1", "background" : true }

建立唯一索引

> db.c2.ensureIndex({name:1},{unique:true})

如果再輸入的數(shù)據(jù)name字段有重復(fù)的話,就會報錯,如下:

> db.c2.insert({name:"user0"})

E11000 duplicate key error index: test.c2.$name_1  dup key: { : "user0" }

刪除所有索引

> db.c2.dropIndex();

刪除name字段的索引

> db.c2.dropIndex({name:1})

MongoDB 提供了一個explain命令讓我們獲知系統(tǒng)如何處理查詢請求

> db.c2.find({age:{$gt:26}}).explain();

{

       "cursor" : "BtreeCursor age_1",

       "isMultiKey" : false,

       "n" : 3,                              返回的數(shù)據(jù)數(shù)

       "nscannedObjects" : 3,

       "nscanned" : 3,                        被掃描的文檔數(shù),因為做了age字段的索引

       "nscannedObjectsAllPlans" : 3,

       "nscannedAllPlans" : 3,

       "scanAndOrder" : false,

       "indexOnly" : false,

       "nYields" : 0,

       "nChunkSkips" : 0,

       "millis" : 1,                     耗時(毫秒)

       "indexBounds" : {                 所使用的索引

               "age" : [

                       [

                               26,

                               1.7976931348623157e+308

                       ]

               ]

       },

       "server" : "a1:27017"

}

MongoDB Database Profiler 是一種慢查詢?nèi)罩竟δ?,可以作為我們?yōu)化數(shù)據(jù)庫的依據(jù)。

開啟profile功能:

(1)> db.setProfilingLevel(2);

{ "was" : 0, "slowms" : 100, "ok" : 1 }

(2)[root@a1 bin]# ./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs -profile=2 --fork

添加 -profile參數(shù)

優(yōu)化方案:

1:創(chuàng)建索引   db.posts.ensureIndex({ts:1});

2: 限定返回結(jié)果條數(shù)    db.posts.find().sort({ts:-1}).limit(10);

3: 查詢使用到的字段,不查詢所有字段

4: 采用cappedcollection

capped Collections比普通Collections的讀寫效率高

5: 采用Profiling

Mongosniff此工具可從底層監(jiān)控到底有哪些命令發(fā)送給MongoDB去執(zhí)行。

執(zhí)行這個命令可能會出現(xiàn)如下錯誤

[root@a1 bin]# ./mongosniff --help

./mongosniff: error while loading shared libraries: libpcap.so.0.9: cannot open shared object file: No such file or directory

解決方法:

yum -y install libpcap-devel

由于系統(tǒng)自動安裝的是 1.0版本,所以我們還必須建立個軟連接

ln -s /usr/lib64/libpcap.so.1.0.0 /usr/lib64/libpcap.so.0.9

使用方法:

[root@a1 bin]# ./mongosniff --source NET lo

sniffing... 27017

可以將這些數(shù)據(jù)輸出到一個日志文件中,那么就可以保留下所有數(shù)據(jù)庫操作的歷史記錄,對于后期的性能分析和安全審計等工作將是一個巨大的貢獻。

Mongostat

此工具可以快速的查看某組運行中的MongoDB 實例的統(tǒng)

計信息,也需要在打開一個客戶端進行命令操作:

用法如下:

[root@localhost bin]# ./mongostat

查看數(shù)據(jù)庫的狀態(tài):

> db.stats();

{

       "db" : "test",

       "collections" : 6,

       "objects" : 234,

       "avgObjSize" : 263.77777777777777,

       "dataSize" : 61724,

       "storageSize" : 1077248,

       "numExtents" : 6,

       "indexes" : 4,

       "indexSize" : 32704,

       "fileSize" : 67108864,

       "nsSizeMB" : 16,

       "dataFileVersion" : {

               "major" : 4,

               "minor" : 5

       },

       "ok" : 1

}

分享名稱:mongodb系統(tǒng)性能篇(1)
網(wǎng)站地址:http://chinadenli.net/article32/ihgppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站維護、服務(wù)器托管、外貿(mào)建站、網(wǎng)站排名、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
老司机精品国产在线视频| 欧美综合色婷婷欧美激情| 欧美日韩一区二区三区色拉拉| 欧美一区二区日韩一区二区| 久久99亚洲小姐精品综合| 最近最新中文字幕免费| 日韩人妻一区中文字幕| 欧美黑人在线精品极品| 91日韩欧美在线视频| 99视频精品免费视频| 欧美午夜伦理在线观看| 视频在线免费观看你懂的| 日本人妻精品中文字幕不卡乱码| 亚洲精品福利入口在线| 亚洲伦片免费偷拍一区| 欧美午夜不卡在线观看| 亚洲国产性感美女视频| 国产精品偷拍视频一区| 欧美一级日韩中文字幕| 久草精品视频精品视频精品| 成人精品视频在线观看不卡| 欧美日韩精品视频在线| 亚洲精品一区三区三区| 麻豆视传媒短视频免费观看| 精品少妇一区二区视频| 欧美日本道一区二区三区| 婷婷九月在线中文字幕| 欧美成人黄色一区二区三区| 欧美大胆美女a级视频| 久久精品亚洲精品一区| 欧美野外在线刺激在线观看| 东京热加勒比一区二区三区| 国产91人妻精品一区二区三区 | 欧美日韩精品综合在线| 精品国产日韩一区三区| 九九久久精品久久久精品 | 麻豆一区二区三区精品视频| 精品少妇人妻一区二区三区| 国产精品丝袜一二三区| 中日韩美一级特黄大片| 青青操精品视频在线观看|