Posted
Filed under 프로그래밍
MongoDB를 2.x에서 3.0.4로 업그레이드 했다.
(업그레이드 참조 : http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/?_ga=1.222986259.926585648.1423043948)


3.x대의 새로운 스토리지 엔진 WiredTiger를 사용해보려고 한것이 이유라서...

일단 기존데이터 파일은 사용하지 못한다.
꼭 옮겨야 한다면 dump뜨고 데이터파일 지우고 다시 넣어야 한다.

난 과감하게 기존데이터 파일을 삭제했다.

1. service mongod stop
2. vi /etc/mongod.conf
3. engine: wiredTiger 를 추가해준다.
4. service mongod start

start를 했는데 안올라온다면 거의 기존 데이터가 남아있어서일꺼다.

8배가 빨라지고 80% 압축이 어쩌고...
얼마나 좋아졌는지 써보자.



storageEngine {
   "name": "wiredTiger" 
}

wiredTiger {
   "uri": "statistics:",
   "LSM": {
     "sleep for LSM checkpoint throttle": NumberInt(0),
     "sleep for LSM merge throttle": NumberInt(0),
     "rows merged in an LSM tree": NumberInt(0),
     "application work units currently queued": NumberInt(0),
     "merge work units currently queued": NumberInt(0),
     "tree queue hit maximum": NumberInt(0),
     "switch work units currently queued": NumberInt(0),
     "tree maintenance operations scheduled": NumberInt(0),
     "tree maintenance operations discarded": NumberInt(0),
     "tree maintenance operations executed": NumberInt(0) 
  },
   "async": {
     "number of allocation state races": NumberInt(0),
     "number of operation slots viewed for allocation":NumberInt(0),
     "current work queue length": NumberInt(0),
     "number of flush calls": NumberInt(0),
     "number of times operation allocation failed": NumberInt(0),
     "maximum work queue length": NumberInt(0),
     "number of times worker found no work": NumberInt(0),
     "total allocations": NumberInt(0),
     "total compact calls": NumberInt(0),
     "total insert calls": NumberInt(0),
     "total remove calls": NumberInt(0),
     "total search calls": NumberInt(0),
     "total update calls": NumberInt(0) 
  },
   "block-manager": {
     "mapped bytes read": NumberInt(0),
     "bytes read": NumberInt(49152),
     "bytes written": NumberInt(368640),
     "mapped blocks read": NumberInt(0),
     "blocks pre-loaded": NumberInt(0),
     "blocks read": NumberInt(12),
     "blocks written": NumberInt(81) 
  },
   "cache": {
     "tracked dirty bytes in the cache": NumberInt(0),
     "tracked bytes belonging to internal pages in the cache":NumberInt(2827),
     "bytes currently in the cache": NumberInt(38408),
     "tracked bytes belonging to leaf pages in the cache":3221222645,
     "maximum bytes configured": 3221225472,
     "tracked bytes belonging to overflow pages in the cache":NumberInt(0),
     "bytes read into cache": NumberInt(0),
     "bytes written from cache": NumberInt(57112),
     "pages evicted by application threads": NumberInt(0),
     "checkpoint blocked page eviction": NumberInt(0),
     "unmodified pages evicted": NumberInt(0),
     "page split during eviction deepened the tree": NumberInt(0),
     "modified pages evicted": NumberInt(0),
     "pages selected for eviction unable to be evicted":NumberInt(0),
     "pages evicted because they exceeded the in-memory maximum":NumberInt(0),
     "pages evicted because they had chains of deleted items":NumberInt(0),
     "failed eviction of pages that exceeded the in-memory maximum": NumberInt(0),
     "hazard pointer blocked page eviction": NumberInt(0),
     "internal pages evicted": NumberInt(0),
     "maximum page size at eviction": NumberInt(0),
     "eviction server candidate queue empty when topping up":NumberInt(0),
     "eviction server candidate queue not empty when topping up":NumberInt(0),
     "eviction server evicting pages": NumberInt(0),
     "eviction server populating queue, but not evicting pages":NumberInt(0),
     "eviction server unable to reach eviction goal": NumberInt(0),
     "pages split during eviction": NumberInt(0),
     "pages walked for eviction": NumberInt(0),
     "eviction worker thread evicting pages": NumberInt(0),
     "in-memory page splits": NumberInt(0),
     "percentage overhead": NumberInt(8),
     "tracked dirty pages in the cache": NumberInt(0),
     "pages currently held in the cache": NumberInt(22),
     "pages read into cache": NumberInt(0),
     "pages written from cache": NumberInt(46) 
  },
   "connection": {
     "pthread mutex condition wait calls": NumberInt(7483),
     "files currently open": NumberInt(14),
     "memory allocations": NumberInt(9273),
     "memory frees": NumberInt(5106),
     "memory re-allocations": NumberInt(283),
     "total read I/Os": NumberInt(24),
     "pthread mutex shared lock read-lock calls": NumberInt(1013),
     "pthread mutex shared lock write-lock calls": NumberInt(362),
     "total write I/Os": NumberInt(137) 
  },
   "cursor": {
     "cursor create calls": NumberInt(747),
     "cursor insert calls": NumberInt(82),
     "cursor next calls": NumberInt(36),
     "cursor prev calls": NumberInt(28),
     "cursor remove calls": NumberInt(0),
     "cursor reset calls": NumberInt(336),
     "cursor search calls": NumberInt(766),
     "cursor search near calls": NumberInt(109),
     "cursor update calls": NumberInt(0) 
  },
   "data-handle": {
     "connection dhandles swept": NumberInt(0),
     "connection candidate referenced": NumberInt(0),
     "connection sweeps": NumberInt(33),
     "connection time-of-death sets": NumberInt(9),
     "session dhandles swept": NumberInt(0),
     "session sweep attempts": NumberInt(86) 
  },
   "log": {
     "log buffer size increases": NumberInt(0),
     "total log buffer size": NumberInt(1048576),
     "log bytes of payload data": NumberInt(15699),
     "log bytes written": NumberInt(18432),
     "yields waiting for previous log file close": NumberInt(0),
     "total size of compressed records": NumberInt(12585),
     "total in-memory size of compressed records":NumberInt(29812),
     "log records too small to compress": NumberInt(7),
     "log records not compressed": NumberInt(15),
     "log records compressed": NumberInt(15),
     "maximum log file size": NumberInt(104857600),
     "pre-allocated log files prepared": NumberInt(1),
     "number of pre-allocated log files to create": NumberInt(1),
     "pre-allocated log files used": NumberInt(0),
     "log read operations": NumberInt(0),
     "log release advances write LSN": NumberInt(37),
     "records processed by log scan": NumberInt(0),
     "log scan records requiring two reads": NumberInt(0),
     "log scan operations": NumberInt(0),
     "consolidated slot closures": NumberInt(0),
     "logging bytes consolidated": NumberInt(0),
     "consolidated slot joins": NumberInt(0),
     "consolidated slot join races": NumberInt(0),
     "slots selected for switching that were unavailable":NumberInt(0),
     "record size exceeded maximum": NumberInt(0),
     "failed to find a slot large enough for record": NumberInt(0),
     "consolidated slot join transitions": NumberInt(0),
     "log sync operations": NumberInt(14),
     "log sync_dir operations": NumberInt(1),
     "log server thread advances write LSN": NumberInt(0),
     "log write operations": NumberInt(37) 
  },
   "reconciliation": {
     "page reconciliation calls": NumberInt(46),
     "page reconciliation calls for eviction": NumberInt(0),
     "split bytes currently awaiting free": NumberInt(0),
     "split objects currently awaiting free": NumberInt(0) 
  },
   "session": {
     "open cursor count": NumberInt(132),
     "open session count": NumberInt(75) 
  },
   "thread-yield": {
     "page acquire busy blocked": NumberInt(0),
     "page acquire eviction blocked": NumberInt(0),
     "page acquire locked blocked": NumberInt(0),
     "page acquire read blocked": NumberInt(0),
     "page acquire time sleeping (usecs)": NumberInt(0) 
  },
   "transaction": {
     "transaction begins": NumberInt(94),
     "transaction checkpoints": NumberInt(5),
     "transaction checkpoint generation": NumberInt(5),
     "transaction checkpoint currently running": NumberInt(0),
     "transaction checkpoint max time (msecs)": NumberInt(20),
     "transaction checkpoint min time (msecs)": NumberInt(7),
     "transaction checkpoint most recent time (msecs)":NumberInt(7),
     "transaction checkpoint total time (msecs)": NumberInt(70),
     "transactions committed": NumberInt(11),
     "transaction failures due to cache overflow": NumberInt(0),
     "transaction range of IDs currently pinned by a checkpoint":NumberInt(0),
     "transaction range of IDs currently pinned": NumberInt(1),
     "transactions rolled back": NumberInt(82) 
  },
   "concurrentTransactions": {
     "write": {
       "out": NumberInt(0),
       "available": NumberInt(128),
       "totalTickets": NumberInt(128) 
    },
     "read": {
       "out": NumberInt(1),
       "available": NumberInt(127),
       "totalTickets": NumberInt(128) 
    } 
  } 
}
2015/07/01 14:44 2015/07/01 14:44