'Etc'에 해당되는 글 115건

  1. Fluentd loves MongoDB, at MongoDB SV User Group, July 17, 2012
  2. Augmenting RDBMS with MongoDB for ecommerce
  3. MongoDB 2.2 RC0 has been released
  4. Online Conference: Deep Dive with MongoDB
  5. Replica-set windowsos vs centos test
  6. [펌] MongoDb Architecture
  7. 성능 정보 수집하기
  8. 스트레스 테스트 batch request/sec 정보 공유
  9. MongoDB 성능 모니터링
  10. 인메모리DB, 틈새에서 대세로? memSQL 2


몽고DB와 RDBMS와 결합^^.... 요즘에 이렇게들 많이 쓰네요. 

MongoDB 2.2 Release 되었습니다. 많이 향상되었는데 그중에 Redis나 기타 캐쉬형 nosql에서 볼 수 있는 expire data collection이 추가되었다는게 제일 흥미롭네요..

 

 Changes

  • 집계 프레임워크
  • 동시성 개선(DB level locking)
  • 캐쉬 형태로 있는 Expire Data Collection(TTL Collections)
  • 쿼리 옵티마이져 개선
  • Replica-Set, Sharding Cluster 개선

 

Download

Online Conference: Deep Dive with MongoDB

Asya Kamsky, Antoine Girbal, and Edouard Servan-Schreiber, Solutions Architects, 10gen


영어가 딸린다 ㅠㅠ


Q&A for Replication and Replica Sets

'Etc' 카테고리의 다른 글

Augmenting RDBMS with MongoDB for ecommerce  (0) 2012.07.23
MongoDB 2.2 RC0 has been released  (0) 2012.07.20
Replica-set windowsos vs centos test  (0) 2012.07.16
[펌] MongoDb Architecture  (0) 2012.07.12
성능 정보 수집하기  (0) 2012.07.12

 

window7 vs centos 간 Replica-Set 세팅은 어떻게 될까? 이런 궁굼증으로 서버 세팅하고 바로 insert Stress test를 해보았습니다.


*. 테스트 시나리오

1. 300개의 연결 쓰레드

2. 300개의 쓰레드가 90000번의 작업 수행

3. 1KB Document Size

4. C++ Test App



*. centos 테스트

10번 수행 한 결과 별 무리 없이 테스트 진행이 되었다.


*. windows os 테스트

10번 수행 중 3회의 경우 socket send 함수에서 blocking 발생하였다. 아래의 로그는 윈도우 PC서버에서 발생한 로그이다.


Mon Jul 16 14:31:14 [conn28] Socket recv() errno:10054 An existing connection was forcibly closed by the remote host. 테스트IP

Mon Jul 16 14:31:14 [conn28] SocketException: remote:  테스트IP:63217 error: 9001 socket exception [1] server [ 테스트IP:63217] 

과연 무슨 문제인가??

흠... 

'Etc' 카테고리의 다른 글

MongoDB 2.2 RC0 has been released  (0) 2012.07.20
Online Conference: Deep Dive with MongoDB  (0) 2012.07.17
[펌] MongoDb Architecture  (0) 2012.07.12
성능 정보 수집하기  (0) 2012.07.12
스트레스 테스트 batch request/sec 정보 공유  (0) 2012.07.11

[펌] MongoDb Architecture

'Etc' 카테고리의 다른 글

Online Conference: Deep Dive with MongoDB  (0) 2012.07.17
Replica-set windowsos vs centos test  (0) 2012.07.16
성능 정보 수집하기  (0) 2012.07.12
스트레스 테스트 batch request/sec 정보 공유  (0) 2012.07.11
MongoDB 성능 모니터링  (0) 2012.07.11

성능 정보 수집하기

몽고DB 성능 정보를 저장하고 방법에 대해 알아볼까 합니다. 몽고DB 다양한 성능 모니터링을 있는 툴들이 많은데, 자세히 troublshooting 하기 위해서는 shell 명령어나 utility 이용하여 수집할 있습니다

 

1. 성능 정보 수집 방법


가. c#
으로 serverStatus 정보를 얻어와 몽고DB 저장하기

https://github.com/mongodb/docs/blob/master/source/reference/server-status.txt

 db.runCommand( { "serverStatus" : 0 });


나. Mongostat utility 이용하여 상태 정보를 저장

http://docs.mongodb.org/manual/reference/mongostat/?highlight=mongostat


30초마다 Perflog.txt 파일에 기록

C:\mongodb\bin>mongostat --host 127.0.0.1:27017 30 --noheaders > perflog.txt

 

2. 성능 정보 추출


몽고
DB 있는 서버 상태 정보를 추출하여 파일로 기록
http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--fieldFile

mongoexport -h 127.0.0.1:27017 -d PefDB -c serverStatus --csv -f "dur.commits" > output.csv


이제는 성능 정보 추출하여 분석하는 일만 남았겠죠?

 

요즘 Stress 테스트중에 있는데 batch Request/sec 정보 공유합니다.

 

#. 테스트 환경

 

#. 테스트 방식

  • CentOS mongodb(2.1.2) StandAlone 환경구성으로 1K Document 게임로그를 20분간 반복 수행
  • 900개의 Connection 개체를 생성하여 Stress 데이터를 insert 요청  

 

#. Batch Request/Sec

   : document size에 따라 수치는 달라질 수 있음.
        11000~14000



'Etc' 카테고리의 다른 글

[펌] MongoDb Architecture  (0) 2012.07.12
성능 정보 수집하기  (0) 2012.07.12
MongoDB 성능 모니터링  (0) 2012.07.11
인메모리DB, 틈새에서 대세로? memSQL  (2) 2012.06.26
Redis 사용  (0) 2012.06.07

MongoDB 성능 모니터링

참고 링크

http://www.mongodb.org/display/DOCS/Monitoring+and+Diagnostics#MonitoringandDiagnostics-HostedMonitoring
http://gurjarmehul.wordpress.com/2011/12/27/monitoring-mongodb/

 

몽고DB 모니터링하기 위한 방법은 다양하다.

 

  1. 툴을 이용한 모니터링
  • munin
    • Server stats: this will retrieve server stats (requires python; uses http interface)
    • Collection stats, this will display collection sizes, index sizes, and each (configured) collection count for one DB (requires python; uses driver to connect)
  • mtop - A top like utility for Mongo
  • Mongo Live - A Chrome extension that provides a real-time server status view (uses the rest interface).

 

  1. Shell Command
  • db.stats() : 선택된(use) 데이타베이스 상태 정보
  • db.foo.find().explain() : 쿼리 실행 계획
  • db.users.stats() : collection 통계
  • 프로파일러
    • db.setProfilingLevel(2) ;  profile enable
    • db.system.profile.find() : slow query see
    • db.setProfilingLevel(0) ;  profile disable

 

  1. Utility

mongostat --host 127.0.0.1:27017 30 --noheaders > perflog.txt

30초마다 헤더정보 없이 mongostat 결과 정보를 peflog.txt 기록해라.

  • Mongotop
    • read/write 성능 정보(sec/per)
  • Query profiler(Slow query 분석)
  • Http console

http://localhost:28017

'Etc' 카테고리의 다른 글

성능 정보 수집하기  (0) 2012.07.12
스트레스 테스트 batch request/sec 정보 공유  (0) 2012.07.11
인메모리DB, 틈새에서 대세로? memSQL  (2) 2012.06.26
Redis 사용  (0) 2012.06.07
Redis(Windows OS) 복제 구성하기  (2) 2012.06.07

memSQL 공부해야 하나?? 자꾸 변하는겨?

"멤SQL초당 8만쿼리를 처리해, 3천500쿼리를 다루는 마이SQL 성능을 23 가량 앞선다. 이게 가능한겨? MSSQL에서도 초당 Request수도 5000이상 보기 어려운디..



최근 페이스북 출신 엔지니어 2명이 퇴사후 차린 데이터베이스(DB) 업체와 그 기술이 화제가 됐다. 널리 쓰이는 오픈소스DB '마이SQL(MySQL)'과 호환되면서도 최대 30배나 빠르다는 회사측 주장이 업계 주목을 받았다. 

 

회사 이름과 같은 해당 기술 '멤SQL(memSQL)'은 SQL인터페이스와 마이SQL API를 쓰는 인메모리기반 관계형DB로 요약된다. 디스크 대신 메모리에 자료를 저장하고 읽어내기 때문에 속도가 빠르며, 이 기술을 도입시 일반 DB관리자들이 새로 배우거나 마이SQL 애플리케이션을 확 뜯어고칠 필요가 없다는 뜻이다. 멤SQL은 초당 8만쿼리를 처리해, 3천500쿼리를 다루는 마이SQL 성능을 23배 가량 앞선다


 

메모리 기반 RDBMS, MemSQL을 알아봅시다

http://dev.kthcorp.com/2012/07/04/memory-based-rdbms-memsql/


'Etc' 카테고리의 다른 글

스트레스 테스트 batch request/sec 정보 공유  (0) 2012.07.11
MongoDB 성능 모니터링  (0) 2012.07.11
Redis 사용  (0) 2012.06.07
Redis(Windows OS) 복제 구성하기  (2) 2012.06.07
Redis - Windows 설치하기  (2) 2012.06.07