Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwilder/mongodb-tools
Tools for working w/ a MongoDB installation
https://github.com/jwilder/mongodb-tools
Last synced: 18 days ago
JSON representation
Tools for working w/ a MongoDB installation
- Host: GitHub
- URL: https://github.com/jwilder/mongodb-tools
- Owner: jwilder
- License: mit
- Created: 2011-12-15T21:56:14.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2020-03-12T17:03:34.000Z (almost 5 years ago)
- Last Synced: 2024-11-17T07:00:29.429Z (26 days ago)
- Language: Python
- Homepage:
- Size: 43 KB
- Stars: 297
- Watchers: 19
- Forks: 58
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mongodb - mongodb-tools - Three neat Python scripts to work with collections and indexes (Tools / Administration)
- awesome-mongodb - mongodb-tools - Three neat Python scripts to work with collections and indexes (Tools / Administration)
README
## mongodb-tools - Utilities for working with MongoDB
* collection-stats.py - Display statistics about the collections in all databases
* index-stats.py - Displays statistics about the indexes in all databases
* redundant-indexes.py - Finds indexes that may be redundant## Blogs And Articles
* [Optimizing MongoDB Indexes](http://jasonwilder.com/blog/2012/02/08/optimizing-mongodb-indexes/)
* [Design and Performance Tips for MongoDB Indexes](https://www.openshift.com/blogs/design-and-performance-tips-for-mongodb-indexes)## Dependencies
python-virtualenv
python-dev## Installation
git clone https://github.com/jwilder/mongodb-tools
cd mongodb-tools
./setup.sh
source virtualenv/bin/activate## Test Data Setup
In on terminal run:
$ ./run-mongo.sh
In another terminal run:
$ python examples/testdata.py
## collection-stats.py ##
$ ./collection-stats.py
Checking DB: examples2.system.indexes
Checking DB: examples2.things
Checking DB: examples1.system.indexes
Checking DB: examples1.address
Checking DB: examples1.typeless_address
Checking DB: examples1.user
Checking DB: examples1.typeless_user+----------------------------+--------+--------+---------+--------------+---------+------------+
| Collection | Count | % Size | DB Size | Avg Obj Size | Indexes | Index Size |
+----------------------------+--------+--------+---------+--------------+---------+------------+
| examples1.address | 2 | 0.0% | 184.00b | 92.00b | 2 | 15.97K |
| examples1.system.indexes | 9 | 0.0% | 912.00b | 101.33b | 0 | 0.00b |
| examples1.typeless_address | 2 | 0.0% | 216.00b | 108.00b | 1 | 7.98K |
| examples2.system.indexes | 2 | 0.0% | 164.00b | 82.00b | 0 | 0.00b |
| examples1.typeless_user | 101879 | 26.7% | 10.10M | 104.00b | 3 | 8.18M |
| examples1.user | 101879 | 36.0% | 13.60M | 140.00b | 3 | 15.20M |
| examples2.things | 100000 | 37.3% | 14.11M | 148.00b | 2 | 5.67M |
+----------------------------+--------+--------+---------+--------------+---------+------------+
Total Documents: 303773
Total Data Size: 37.82M
Total Index Size: 29.08M
RAM Headroom: 2.87G
RAM Used: 2.74G (61.6%)
Available RAM Headroom: 1.10G## index-stats.py
$ ./index-stats.py
Checking DB: examples2.system.indexes
Checking DB: examples2.things
Checking DB: examples1.system.indexes
Checking DB: examples1.address
Checking DB: examples1.typeless_address
Checking DB: examples1.user
Checking DB: examples1.typeless_userIndex Overview
+----------------------------+------------------------+--------+------------+
| Collection | Index | % Size | Index Size |
+----------------------------+------------------------+--------+------------+
| examples1.address | _id_ | 0.0% | 7.98K |
| examples1.address | _types_1 | 0.0% | 7.98K |
| examples1.typeless_address | _id_ | 0.0% | 7.98K |
| examples1.typeless_user | _id_ | 10.9% | 3.17M |
| examples1.typeless_user | address_id_1 | 10.9% | 3.17M |
| examples1.typeless_user | typeless_address_ref_1 | 6.4% | 1.85M |
| examples1.user | _id_ | 10.9% | 3.17M |
| examples1.user | _types_1_address_id_1 | 13.2% | 3.84M |
| examples1.user | _types_1_address_ref_1 | 28.2% | 8.20M |
| examples2.things | _id_ | 10.7% | 3.11M |
| examples2.things | _types_1 | 8.8% | 2.56M |
+----------------------------+------------------------+--------+------------+Top 5 Largest Indexes
+-------------------------+------------------------+--------+------------+
| Collection | Index | % Size | Index Size |
+-------------------------+------------------------+--------+------------+
| examples1.user | _types_1_address_ref_1 | 28.2% | 8.20M |
| examples1.user | _types_1_address_id_1 | 13.2% | 3.84M |
| examples1.typeless_user | _id_ | 10.9% | 3.17M |
| examples2.things | _id_ | 10.7% | 3.11M |
| examples2.things | _types_1 | 8.8% | 2.56M |
+-------------------------+------------------------+--------+------------+Total Documents: 303773
Total Data Size: 37.82M
Total Index Size: 29.08M
RAM Headroom: 2.87G
RAM Used: 2.73G (61.4%)
Available RAM Headroom: 1.11G