2010년 10월 19일 화요일

10월초 Foursquare 서비스 장애에 대한 보고서...

http://groups.google.com/group/mongodb-user/browse_thread/thread/528a94f287e9d77e?pli=1



영어의 압박과 귀차니즘을 느끼시는 분들을 위해 원문을 간단히 요약합니다.

원래 4스퀘어 체크인 DB는 아마존 EC2 솔루션에서 66기가 램 싱글 instance에서 돌아가고 있었으며, DB는 디스크가 아닌 램에 올라가 있었습니다.
(사용 DB는 Mongo DB)

그러다가 용량 증가로 동일 instance를 하나 더 늘리고, DB전체를 200개의 chunk로 쪼개서 서버0과 서버1에 반씩 넣어두는 형태로 개편했습니다.
(chunk는 알파벳 순서로..)

그러다 한 쪽 서버가 미상의 헤비유저 덕택에 66기가 램을 싹 채우고 하드디스크 사용을 시작하는 불상사가 벌어지고, 이 것이 4스퀘어의 사용자들이 토할 정도로 심하게 느리다고 불만을 토로했던 그 장애의 직접적인 원인 ;;;

결국 서버2를 긴급 증설해서 chunk를 분산수용했지만, 초저속 안드로메다는 도저히 해결되지 않고 ;;;;;;

결국 서버를 내리고 4시간동안 DB repair 를 감행합니다..
(체크인 데이터가 하나하나는 엄청 작은 4스퀘어 특성상 파일 하나하나는 블록 하나인 4KB보다 당연히 작고, 이 때문에 단편화 현상이 나타나 계속 용량을 차지한 상태에서 디스크 액세스가 계속되었기 때문에 서버 다운 결정..)

이후 서버를 대폭 증설하고 최적화까지 단행했다고 합니다 ;;;;;


자세한 내용은 원문 읽어보세요.
제가 mongoDB를 모르니 더 자세히는 번역을 못하겠네요.
귀찮기도 하고, 하나하나 직역하는 것보다는 원문을 보는게 더 나은 사실상의 기술문서이기도 하고요 ;;;


쓰고보니 이거 nerd를 위한 글입니다. ㅋㅋㅋ

댓글 없음:

댓글 쓰기