4월 23일부터 발생한 간헐적 접속 불가 현상 안내

최근 편집: 2021년 5월 19일 (수) 04:04
.
낙엽1124

요약
서버 소프트웨어 교체 이후인 2021년 4월 23일부터 발생하고 있는 간헐적 접속 불가 현상의 원인을 파악하고 해결하기 위해 노력하여 일부를 해결했으나, 아직 문제가 남아 있는 상태이며 계속하여 노력할 예정입니다.

문제 기록

2021년 4월 23일(한국 시간, 이하 동일)부터 페미위키의 접속이 되지 않거나 속도가 느려지는 현상이 반복적으로 발생하고 있습니다.

  • 4월 23일 16시 40분 경 ~ 17시 5분 경 - php-fpm의 메모리 제한이 낮아서 발생한 문제(이하 "php-fpm")
  • 4월 24일
    • 6시 0분 경 ~ 6시 15분 경 - php-fpm
    • 6시 55분 경 ~ 7시 22분 경 - php-fpm
    • 8시 30분 경 ~ 10시 18분 경 - EBS의 Burst Balance가 고갈됨(이하 "Burst Balance")
  • 4월 25일
    • 2시 55분 경 ~ 3시 35분 경 - php-fpm 해결을 위한 점검
    • 8시 10분 경 ~ 12시 0분 경 - php-fpm
  • 4월 26일 6시 20분 경 ~ 6시 30분 경 - php-fpm
  • 4월 27일
    • 14시 45분 경 ~ 15시 10분 경 - Caddy의 메모리 제한이 낮아서 발생한 문제
    • 20시 0분 경 ~ 20시 15분 경 - php-fpm
  • 4월 28일 13시 42분 경 ~ MySQL의 메모리 제한이 낮아서 발생한 문제(이하 "MySQL0")
  • 5월 3일 1시 5분 경 ~ 1시 35분 경 -
  • 5월 4일 14시 51분 경 ~ 16시 26분 경 - MySQL가 너무 많은 메모리를 써서 발생한 문제(이하 "MySQL")
  • 5월 5일 6시 30분 경 ~ 6시 45분 경 -
  • 5월 7일 6시 10분 경 ~ 6시 40분 경 -
  • 5월 11일
    • 17시 0분 경 ~ 17시 15분 경 - yum-cron이 디스크를 많이 써서 발생한 속도 저하(이하 "yum-cron")
    • 19시 45분 경 ~ 19시 55분 경 - yum-cron
  • 5월 14일 11시 11분 경 ~ 11시 20분 경 - MySQL
  • 5월 15일 5시 55분 경 ~ 6시 15분 경 - yum-cron
  • 5월 16일 3시 47분 경 ~ 4시 5분 경 - yum-cron
  • 5월 17일 9시 0분 경 ~ 9시 30분 경 - yum-cron
  • 5월 18일 10시 5분 경 ~ 10시 35분 경 - yum-cron
  • 5월 18일 23시 55분 경 ~ 19일 1시 경 - yum-cron

각 문제와 원인 및 해결 상태

가장 큰 원인은 페미위키를 구동하기 위해 사용하는 소프트웨어를 Docker Swarm에서 Nomad로 변경한 것입니다. 이 변화는 2019년 11월 제안되어[1] 많은 시행착오와 오랜 준비 기간 끝에 2020년 4월 실행되었습니다.

비록 현재 서비스 중단 등의 문제를 겪고 있지만 그것을 상회할 수 있는 많은 장점이 있어 가능한 유지하고 해결할 수 있도록 노력 중입니다.

php-fpm, Caddy, MySQL0

해결 상태
해결됨

Nomad를 통해 각 작업에 설정한 최대 메모리 사용량이 너무 낮아 발생한 문제로, 점진적으로 메모리 설정을 늘려 현재는 같은 문제가 발생하지 않고 있습니다.

Burst Balance

해결 상태
해결됨

4월 24일[2] 이전까지 페미위키가 사용 중이던 2세대 gp EBS 볼륨은 디스크 입출력에 대한 제한을 두고, 이 제한이 Burst Balance에 의해 유동적으로 관리되는 특징이 있습니다. 4월 24일 이후 사용 중인 3세대 gp 볼륨은 Burst Balance이 아예 없이 입출력 제한이 고정되어 있으므로 같은 문제가 다시 발생할 수 없습니다.

MySQL

해결 상태
해결 방법을 모색하고 있습니다.

Nomad에서는 퍼포먼스 향상을 인해 Swap 메모리를 아예 사용하지 않도록 하고 있습니다. 이에 따라 이전보다 MySQL이 쓸 수 있는 메모리가 많이 줄어든 데에 반해 MySQL이 사용할 메모리 설정은 그대로인 상태입니다. MySQL 실행 직후에는 괜찮으나 사용 메모리가 시간이 지남에 따라 점점 증가하여, 60~80시간 정도 흐르면 문제가 생깁니다.

MySQL의 메모리 사용량을 줄이기 위한 설정을 찾고 있으며, [1]에서 진행 상황을 볼 수 있습니다.

yum-cron

해결 상태
원인을 파악하고 있습니다.

yum-cron은 서버에서 사용하는 소프트웨어를 업데이트하는 스크립트로, 저희 설정에서는 매 시간마다 한 번씩 실행됩니다. 이 yum-cron이 실행되는 동안, 100%는 아니고 가끔 한 번씩 디스크 입출력이 늘어나면서 페미위키가 느려지는 문제가 발생하고 있습니다. 문제가 발생하는 빈도가 늘어나고 있지만 원인은 아직 파악하지 못하였습니다.

[2]에서 진행 상황을 볼 수 있습니다.

맺음말

아무쪼록 페미위키가 불안정한 것으로 인해 많은 사용자분들께서 불편과 불안을 겪고 계실 것으로 생각합니다. 비록 즉각적인 해결이 이뤄지지는 못하고 있지만 문제의 원인이 비교적 파악된 상태이며, 몇 문제는 이미 해결되었다는 점을 알려드려 불안을 줄여 드리고 싶었습니다. 남은 문제에 대한 개선을 위해 노력하고 앞으로의 진행 상황도 이 포스트를 계속 업데이트하여 전달할 수 있도록 하겠습니다.

감사합니다.

링크

출처