본문 바로가기

mysql53

9. snapshot으로 mysqldump 실행 시 장애가 발생하는 경우 Replication 연결을 위해서나 복구를 위한 백업을 진행하는 경우에, snapshot으로 dump를 받게 되는데요. 그와 같은 경우에 서비스 장애를 유발할 수 있는 상황이 있습니다. 다음의 예제를 보시죠~ 위 예제에서 보면 세션 id가 253372 즉, 파란색 박스 안에 들어있는 세션이 보이는데, 이것은 현재 4319초나 진행된 select 쿼리이다. 이 쿼리가 현재 진행중이고, 그 이후에 실행된 id 257695 즉, 보라색 박스에 들어있는 세션은 현재 flush tables 진행중이다. 헌데 상태는 waiting for table flush 이다. 기본적으로 flush tables는 실행되는 쿼리가 아무것도 없는 상태에서만 진행되는 것으로, 파란색 박스안에 들어있는 세션처럼 오랜 시간동안 동작하.. 2014. 3. 24.
16. Seconds_Behind_Master에 대해... Replication의 현재 상태의 가장 빨리 파악할 수 있는 show slave status의 상태값 중 Seconds_Behind_Master값에 대한 것을 정리해 보자. 이 필드는 slave가 얼마나 늦었는지를 보여주는 항목이다. slave가 update를 할 때, 이 필드는 Master에서 받은 로깅된 timestamp의 값과, 현재 slave에서 실행되는 현재의 timestamp의 값의 차이를 보여준다. slave에서 아무런 이벤트도 실행하고 있지 않다면, 그 값은 0 이다. 본질적으로, 이 필드는 SQL thread와 I/O thread의 차이를 측정하려는 것이다. 만약, Master와 Slave사이의 네트웍이 매우 빠르다면, slave I/O thread는 Master 로 부터 매우 빨리 이.. 2014. 3. 19.
15. MySQL 실행 시 메모리 관련 library 설정하는 방법 MySQL Version 5.5 부터는 MySQL을 실행 할때 malloc() library 대신에 사용할 수 있는 라이브러리를 설정할 수 있다. MySQL을 어떤 시스템에서 사용하느냐에 따라 성능에 큰 차이가 나는데...다음의 url은 그것을 테스트한 외국 사이트의 자료이다. http://www.mysqlperformanceblog.com/2013/03/08/mysql-performance-impact-of-memory-allocators-part-2/ 결과로만 얘기하면, "cpu core가 8 이상이 되는 시스템 에서는 기본 library보다는 tcmalloc이나 jemalloc을 사용하는것이 성능에 더 좋다." 고 나와있다. 그럼 그와 관련된 설정 정보를 알아보자. 다음의 mysql referenc.. 2014. 3. 18.
14. MyISAM과 InnoDB를 섞어사용하는 경우의 문제점. 2014. 3. 7.