mongoDB data dosyalarının purge edilmesi
mongoDB data dizinine baktığınızda
-rw------- 1 root root 64M 2012-02-21 12:04 xxx.0 -rw------- 1 root root 128M 2012-02-21 12:02 xxx.1 -rw------- 1 root root 256M 2012-02-21 12:02 xxx.2 -rw------- 1 root root 512M 2012-02-21 12:04 xxx.3 -rw------- 1 root root 1.0G 2012-02-21 12:03 xxx.4 -rw------- 1 root root 2.0G 2012-02-21 12:04 xxx.5 -rw------- 1 root root 2.0G 2012-02-21 12:03 xxx.6
şeklinde uzayıp giden dosyalar göreceksiniz.
Bu dosyalar belli zaman sonra artacaktır.
Bunun nedeni şu:
mongoDB belirli büyüklükte (Örn 2GB) data dosyaları tutuyor. Bu alanı kullansanızda kullanmasanız da bu alanı ayırıyor. Siz veritabanı üstünde delete ve insertler yaptığınızda mongoDB’ni bu alanlardaki dataları delete etse bile hala bu alanı ayırmaya devam ediyor.
Bu yüzden belirli aralıklarla bu alanları free etmeniz gerekiyor.
Bunun içinde db.repairDatabase() komutunu çalıştırıp bu alanları free edebilirsiniz.
Komutu;
PRIMARY> use xxx switched to db xxx PRIMARY> db.repairDatabase(); { "ok" : 1 }
şeklinde çalıştırabilirsiniz.
Not : Burada xxx fazlasıyla yer kaplayan veritabanının ismi.
Bu işlem sırasında bu veritabanınızı lock edeceği için production makinesinde yapacaksınız kullanılmadığı bir zamanda yapmanız mantıklı olur.
Yoksa;
Tue Feb 14 15:00:54 [conn78277] warning: ClientCursor::yield can't unlock b/c of recursive lock ns: xxx.xxx top: { opid: 212476020, active: true, lockType: "write", waitingForLock: false, secs_running: 1, op: "query", ns: "xxx", query: { repair Database: 1.0 }, client: "xxx.xxx.xxx.xxx:38186", desc: "conn", threadId: "0x7f736eacc700", connectionId: 78277, msg: "index: (3/3) btree-middle", numYields: 0 }
şeklinde bir hata göreceksiniz log dosyasında.
Bu işlemler başarılı bir şekilde bittikten sonra gözle görülür şekilde disk kullanımından tasarruf etmiş olacaksınız.
Posted in Linux, MongoDB on February 21st, 2012 by Kürşad DARA | | 0 Comments
Anlık mongodb istatistikleri
Anlık olarak mongodb nin istatistiklerini görmek isterseniz:
root@mongodbs1:~# mongostat -h xxx.xxx.xxx.xxx connected to: xxx.xxx.xxx.xxx insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn set repl time 0 0 0 0 1 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 239b 1k 5 myset M 12:14:35 0 0 0 0 0 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 192b 1k 5 myset M 12:14:36 0 0 0 0 1 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 239b 1k 5 myset M 12:14:37 0 0 0 0 0 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 192b 1k 5 myset M 12:14:38 0 0 0 0 1 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 239b 1k 5 myset M 12:14:39 0 0 0 0 0 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 192b 1k 5 myset M 12:14:40 0 0 0 0 1 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 239b 1k 5 myset M 12:14:41 0 0 0 0 0 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 192b 1k 5 myset M 12:14:42 0 0 0 0 0 2 0 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 192b 1k 5 myset M 12:14:43 0 0 0 0 1 2 1 14.2g 29.2g 2.86g 0 0 0 0|0 1|0 239b 1k 5 myset M 12:14:44
Posted in Linux, MongoDB on February 17th, 2012 by Kürşad DARA | | 0 Comments