煮え切らないサーバ障害について
本日(2019/09/23) 0時過ぎ辺りから、数十分程度のサーバダウンが数回発生しました。
原因は2点あります。
- 某大規模鯖の詰まり解消によるリモートアカウントからの投稿が大量に流入したこと(アプリケーションサーバ死亡、ストレージサーバ死亡)
- 平素から投稿するたびに一時的に200待機ジョブ発生させている僕自身が何も考えずに投稿したこと
正直、なんとなく連合の濁流を見かけたからといって調子に乗った僕のせいというところではありますので、日頃よりAbyss.funを利用してくれているユーザ各位には大変お手数をおかけしているところではあります。
大変ご迷惑をおかけいたしました。今後は鯖負荷が高まっている際は、プロセス使用率と相談の上で投稿して良いかどうかを判断するようにいたします。
で、以上は内向きの謝罪。
以下は外向きの、というか某日本代表鯖についてのお気持ち表明。
何十万ものアカウントを管理しているとこういう障害が起きるものでしょう。僕はその規模のアカウント及び鯖を管理したことないので、その苦労は推測しようがありません。
ただし、ただでさえ大規模鯖からの処理に少なくないリソースを割いている小規模鯖が、こう何回も詰まり解消のキューを流されてしまっては対処しきることができず、今回のようにサーバエラーを引き起こしてしまいます。
特に、いわゆるMM号と呼ばれる現象。外部鯖の情報は流れてくるのに内側の情報は外に流れないために発生するキュー詰まりの症状です。 今回は1日以上続いたために、その間に投稿された内容がすべて弊鯖に流れてきました。この間に鯖を止めていただき、ユーザの投稿数を減らしていただいていればこのような事態にはなっていなかったと考えられます。
問題発生時は、すぐに解決できるよう対処していただきたいところはやまやまですが、最初に述べたとおりお忙しいことも重々承知しております。 そのためすぐにエラーを解決していただかなくても結構だと考えています。ただし、最低限被害を抑えるための対策だけは講じていただきたいと思っています。
例として、Slackなど普段利用しているチャットツールやメール等から鯖を再起動 or 停止させられるような仕組みを構築する、エラー発生に対する何らかの通報機能を用意するなどができると思います。お仕事が忙しいとはいえ秒単位でスケジュールが決まっているわけありませんから、通知を受け取ったら再起動 or 停止の指示を送るくらいはしていただきたいと思う所存です。
今回は弊鯖のサーバダウン時間も1時間以上にもなりました。正直ここまでひどい状況はバルスのときにもありませんでした。