Mongodb的基本性能统计工具简单记录
Mongodb的基本性能统计工具简单记录 1.Mongostat 查看某组运行中的MongoDB实例的统计信息; [root@Mongodb ~]# /Apps/mongo/bin/mongostat connected to: 127.0.0.1 insert query update delete getmore command flushes mapped vsize res faults locked % id
Mongodb的基本性能统计工具简单记录
1.Mongostat
查看某组运行中的MongoDB实例的统计信息;
[root@Mongodb ~]# /Apps/mongo/bin/mongostat
connected to: 127.0.0.1
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:41
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:42
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:43
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:44
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:45
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:46
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:47
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:48
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:49
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:50
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:51
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:52
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:53
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:54
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:55
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:56
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:57
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:58
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:11:59
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:00
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:01
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:02
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:03
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:04
0 1 0 0 0 2 0 32m 126m 21m 0 0 0 0|0 0|0 187b 1k 2 00:12:05
0 1 0 0 0 2 0 32m 126m 21m 0 0 0 0|0 0|0 187b 1k 2 00:12:06
0 2 0 0 0 3 0 32m 126m 21m 0 0 0 0|0 0|0 312b 1k 2 00:12:07
0 2 0 0 0 3 0 32m 126m 21m 0 0 0 0|0 0|0 312b 1k 2 00:12:08
0 2 0 0 0 3 0 32m 126m 21m 0 0 0 0|0 0|0 312b 1k 2 00:12:09
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:10
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:11
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:12
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:13
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:14
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:15
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:16
0 0 0 0 0 1 0 32m 126m 21m 0 0 0 0|0 0|0 62b 1k 2 00:12:17
[root@Mongodb ~]#
2.db.serverStatus
这个命令是最常用也是最基础的查看实例运行状态的命令之一;
> db.serverStatus()
{
"host" : "Mongodb",
"version" : "1.8.1",
"process" : "mongod",
"uptime" : 23835,
"uptimeEstimate" : 19085,
"localTime" : ISODate("2013-06-04T16:13:54.759Z"),
"globalLock" : {
"totalTime" : 23835266950,
"lockTime" : 1406729,
"ratio" : 0.000059018806164451204,
"currentQueue" : {
"total" : 0,
"readers" : 0,
"writers" : 0
},
"activeClients" : {
"total" : 0,
"readers" : 0,
"writers" : 0
}
},
"mem" : {
"bits" : 32,
"resident" : 21,
"virtual" : 126,
"supported" : true,
"mapped" : 32
},
"connections" : {
"current" : 1,
"available" : 818
},
"extra_info" : {
"note" : "fields vary by platform",
"heap_usage_bytes" : 291432,
"page_faults" : 88
},
"indexCounters" : {
"btree" : {
"accesses" : 1,
"hits" : 1,
"misses" : 0,
"resets" : 0,
"missRatio" : 0
}
},
"backgroundFlushing" : {
"flushes" : 397,
"total_ms" : 75,
"average_ms" : 0.1889168765743073,
"last_ms" : 0,
"last_finished" : ISODate("2013-06-04T16:13:40.114Z")
},
"cursors" : {
"totalOpen" : 13,
"clientCursors_size" : 13,
"timedOut" : 5
},
"network" : {
"bytesIn" : 13775,
"bytesOut" : 61049,
"numRequests" : 203
},
"opcounters" : {
"insert" : 21,
"query" : 55,
"update" : 1,
"delete" : 0,
"getmore" : 0,
"command" : 127
},
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 1,
"rollovers" : 0
},
"writeBacksQueued" : false,
"ok" : 1
}
>
3.db.stats()
db.stats 查看数据库状态信息;
> db.stats()
{
"db" : "test",
"collections" : 4,
"objects" : 28,
"avgObjSize" : 43.142857142857146,
"dataSize" : 1208,
"storageSize" : 10496,
"numExtents" : 4,
"indexes" : 2,
"indexSize" : 16384,
"fileSize" : 50331648,
"ok" : 1
}
>
4.mongosniff
此工具可以从底层监控到底有哪些命令发送给了MongoDB去执行,从中就可以进行分析;
[root@Mongodb ~]# /Apps/mongo/bin/mongosniff --source NET lo
sniffing... 27017
127.0.0.1:42168 -->> 127.0.0.1:27017 test.things 45 bytes id:8cee6609 2364433929
query: {} ntoreturn: 3 ntoskip: 2
127.0.0.1:27017
reply n:3 cursorId: 2553044974605072461
{ _id: ObjectId('51adf11685702b41681359ae'), x: 4.0, j: 1.0 }
127.0.0.1:42168 -->> 127.0.0.1:27017 admin.$cmd 80 bytes id:8cee660a 2364433930
query: { replSetGetStatus: 1, forShell: 1 } ntoreturn: 1 ntoskip: 0
127.0.0.1:27017
reply n:1 cursorId: 0
{ errmsg: "not running with --replSet", ok: 0.0 }
^[[A127.0.0.1:42168 -->> 127.0.0.1:27017 test.things 45 bytes id:8cee660b 2364433931
query: {} ntoreturn: 3 ntoskip: 2
127.0.0.1:27017
reply n:3 cursorId: 6216195059213048439
{ _id: ObjectId('51adf11685702b41681359ae'), x: 4.0, j: 1.0 }
127.0.0.1:42168 -->> 127.0.0.1:27017 admin.$cmd 80 bytes id:8cee660c 2364433932
query: { replSetGetStatus: 1, forShell: 1 } ntoreturn: 1 ntoskip: 0
127.0.0.1:27017
reply n:1 cursorId: 0
{ errmsg: "not running with --replSet", ok: 0.0 }
^[[?1;2c127.0.0.1:42168 -->> 127.0.0.1:27017 test.$cmd 82 bytes id:8cee660d 2364433933
query: { count: "c1", query: {}, fields: {} } ntoreturn: -1 ntoskip: 0
127.0.0.1:27017
reply n:1 cursorId: 0
{ n: 1.0, ok: 1.0 }

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Terdapat dua cara untuk membuat pengguna MongoDB: Gunakan shell MongoDB: Gunakan arahan Gunakan untuk beralih ke pangkalan data admin. Gunakan perintah db.createuser untuk membuat pengguna, menyatakan nama pengguna, kata laluan, dan peranan. Menggunakan MongoDB Compass: Kembangkan bahagian "Keselamatan" dan klik tab "Pengguna". Klik butang "Tambah Pengguna", masukkan nama pengguna, kata laluan dan pilih peranan.

Indeks Penyortiran adalah sejenis indeks MongoDB yang membolehkan dokumen menyusun dalam koleksi oleh medan tertentu. Mewujudkan indeks jenis membolehkan anda menyusun hasil pertanyaan dengan cepat tanpa operasi penyortiran tambahan. Kelebihan termasuk penyortiran cepat, menimpa pertanyaan, dan penyortiran atas permintaan. Sintaks adalah db.collection.createIndex ({field: & lt; sort order & gt;}), di mana & lt; sort order & gt; adalah 1 (urutan menaik) atau -1 (perintah menurun). Anda juga boleh membuat indeks penyortiran berbilang bidang yang menyusun pelbagai bidang.

MongoDB tidak mempunyai mekanisme transaksi, yang menjadikannya tidak dapat menjamin atom, konsistensi, pengasingan dan ketahanan operasi pangkalan data. Penyelesaian alternatif termasuk mekanisme pengesahan dan penguncian, penyelaras transaksi yang diedarkan, dan enjin transaksi. Apabila memilih penyelesaian alternatif, kerumitan, prestasi, dan keperluan konsistensi data harus dipertimbangkan.

Untuk menubuhkan pangkalan data MongoDB, anda boleh menggunakan baris perintah (penggunaan dan db.createCollection ()) atau shell mongo (mongo, penggunaan dan db.createCollection ()). Pilihan tetapan lain termasuk melihat pangkalan data (tunjukkan DBS), koleksi tontonan (tunjukkan koleksi), memadam pangkalan data (db.dropdatabase ()), memadam koleksi (db. & Amp; lt; collection_name & amp; gt;

Artikel ini menerangkan bagaimana untuk memantau prestasi SSL pelayan Nginx secara berkesan pada sistem Debian. Kami akan menggunakan NginXExporter untuk mengeksport data status nginx ke Prometheus dan kemudian memaparkannya secara visual melalui Grafana. Langkah 1: Mengkonfigurasi Nginx Pertama, kita perlu mengaktifkan modul Stub_status dalam fail konfigurasi Nginx untuk mendapatkan maklumat status nginx. Tambahkan coretan berikut dalam fail konfigurasi nginx anda (biasanya terletak di /etc/nginx/nginx.conf atau termasuk fail): lokasi/nginx_status {stub_status

Sebab utama mengapa MongoDB gagal menyambung ke port 27017 adalah: 1. Perkhidmatan MongoDB tidak dimulakan; 2. Firewall memintas pelabuhan 27017; 3. Sambungan rangkaian adalah ralat yang tidak normal atau konfigurasi; 4. Rentetan sambungan pelanggan adalah salah; 5. Masalah konfigurasi pelayan MongoDB. Langkah -langkah penyelesaian masalah termasuk: 1. Semak status dan log perkhidmatan MongoDB; 2. Semak tetapan firewall dan buat sementara waktu tutup ujian firewall; 3. Semak sambungan rangkaian dan ping IP pelayan; 4. Semak alamat IP, nombor port dan maklumat lain dari rentetan sambungan; 5. Semak fail konfigurasi pelayan MongoDB mongod.conf dan mulakan semula perkhidmatan. Dengan menganalisis maklumat ralat dengan teliti dan menggabungkan perkara di atas

Artikel ini memperkenalkan kaedah sambungan baris arahan MongoDB. 1. Gunakan perintah Mongo untuk menyambung ke contoh tempatan; 2. Gunakan parameter - -host dan -untuk menyambung ke keadaan dengan alamat dan pelabuhan yang ditentukan; 3. Gunakan parameter -u dan -p parameter untuk mengesahkan nama pengguna dan kata laluan; 4. Gunakan rentetan sambungan mongodb: // & lt; nama pengguna & gt;: & lt; kata laluan & gt;@& lt; hostname & gt;: & lt; port & gt;/& lt; pangkalan data & gt; Untuk memudahkan sambungan, tetapi perhatikan keselamatan kata laluan.

Menyambung ke MongoDB bukanlah satu perkara satu baris kod. Nota: 1. Pilih pemandu yang sesuai (seperti Pymongo, MongoDB Java Driver) untuk mempertimbangkan prestasi, fungsi dan aktiviti komuniti; 2. Buat rentetan sambungan dengan betul untuk mengelakkan nama pengguna dan kata laluan yang dikodkan keras, dan mengendalikan pengecualian; 3. Gunakan kolam sambungan untuk menguruskan sambungan untuk mengelakkan kesesakan prestasi di bawah kesesuaian yang tinggi, dan menyesuaikan saiz kolam mengikut keadaan sebenar; 4. Gunakan sambungan asynchronous untuk meningkatkan prestasi dalam senario konvensional yang tinggi dan meningkatkan mekanisme pengendalian ralat (cuba ... kecuali, pembalakan); 5. Mengoptimumkan prestasi juga memerlukan pertimbangan pemilihan indeks dan pemacu versi, serta kebolehbacaan kod dan kebolehkerjaan. Mengabaikan butiran ini boleh menyebabkan permohonan gagal
