日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MONGODB 数据库文件读取的优化

發布時間:2024/4/15 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MONGODB 数据库文件读取的优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上線不久的一個項目,突然反映速度變得慢了很多。


測試插入數據:



> for (i = 1; i <= 100000; i++){

...
... db.test_customer.insert({
... "_id" : i,
... "user_id" : i

(30個字段)

})



測試插入結果如下:

> db.test_customer.find({},{_id:1,create_dt:1}).sort({_id:-1}).limit(2)
{ "_id" : 11176, "create_dt" : ISODate("2014-07-22T03:10:10.435Z") }

{ "_id" : 11175, "create_dt" : ISODate("2014-07-22T03:10:10.420Z") }


> db.test_customer.find({},{_id:1,create_dt:1}).sort({_id:1}).limit(2)
{ "_id" : 1, "create_dt" : ISODate("2014-07-22T03:01:23.935Z") }
{ "_id" : 2, "create_dt" : ISODate("2014-07-22T03:01:24.187Z") }
>

看到插入的時間差,1萬多條記錄?;?0分鐘了。

怎么會這么慢呢。


后使用 mongotop 查看,訪問集中在一個文檔的讀寫中。


在使用另一個mongod 進程測試插入數據,發現 同樣的代碼,插入數據是正常的。1萬數據也就幾秒。

使用此方法排除了服務器硬件及服務器配置的問題。

mongod -port [otherport]? dbpath=/otherpath/otherdb


分析懷疑可能是數據庫文件讀寫數據的瓶頸。

決定把訪問讀寫特別多的那個 文檔 【表】 分到另建立的一個數據庫中去。


完成后,再測試插入。

再看插入的數據:



> db.test_customer.find({},{create_dt:1}).sort({_id:1}).limit(2)
{ "_id" : 1, "create_dt" : ISODate("2014-07-22T10:06:51.502Z") }
{ "_id" : 2, "create_dt" : ISODate("2014-07-22T10:06:51.509Z") }

> db.test_customer.find({},{create_dt:1}).sort({_id:-1}).limit(2)
{ "_id" : 10000, "create_dt" : ISODate("2014-07-22T10:06:58.016Z") }
{ "_id" : 9999, "create_dt" : ISODate("2014-07-22T10:06:58.015Z") }

>

可以看到 只用了7秒,比以前好多了。


看來還是有文件讀寫瓶頸。能分開的數據,還是分成多個數據庫最好。






總結

以上是生活随笔為你收集整理的MONGODB 数据库文件读取的优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。