うまさくの接続障害が発生しているのでデータベースのグレードアップしてみた


更新日:2023年11月13日

8月にアクセス負荷対策として
サーバー増設したのですが
最近になって、アクセス出来ないエラーが発生している。
その原因と対策をまとめました。

うまさくのアクセスが増えたので負荷分散対策してみた

うまさく運用トップ  更新日:2023年8月15日 うまさくロト予想の方のサイトの アクセスが増えてきたことで 閲覧しにくい時間などが出来たので サーバーの負荷対策を行いました。 2023年 ...

ー本ページについてー

どんな状況

まず、最初に
サーバーが接続しにくくなった場合に
常に自分でチェックするわけにもいかないので
さくらクラウドシンプル監視を使っています。
簡単に言うと
うまさくサイトに定期的にアクセスして
接続できない状態が何度か続いた場合に
メールなどで通知してくれる仕組み

こんな感じでいくつかのサーバーを監視しています。

その通知メールが
最近になって頻繁に来るようになりました。
上図のはメールが送られてきていたタイミングです。
かなりの頻度です。
時間帯を調べてみると
うまさくセレクトが頻繁に利用されている
お昼と夕方の販売締め切り直前でした。

原因は?

現在のサーバー構成図の
DB1サーバーの負荷が異常に高くなっていました。
下図のの部分のサーバーです。

原因は、うまさくセレクトでした。
うまさくでは、通常の分析ページ、公開予想については
予めプログラムでページを自動生成しており
リアルタイムにデータベースの参照と更新は発生しません。

ただ、うまさくセレクトについては
ボタンが押されたタイミングで
数字を生成するので、ボタンが押された数だけ
生成した数字、生成した人のニックネームなどの情報を記録するので
データベースの負荷はあがります。



postmasterのプロセスが異常に発生して残ってしまっています。

そして、LoadAvarageもCPUのコア数を遙かに上回ってます。
CPUのコア数が5に対して
LoadAvarageは19を超えてます。

さらに、負荷があがると
先ほどのサーバー構成図の
WEB1サーバーとWEB2サーバーから
DB1サーバーを参照した際に、データベースへの接続待ちが発生してしまい

レスポンスが遅くなり
監視ツールで障害発生と見なされて
エラーになっていました。

一部の利用者からうまさくセレクトが利用できない
トラブルが起きていたと思われます。

対策は?

うまさくセレクトの利用者が増えていることもあり
現在、1日のうまさくセレクトのデータ増加量は
10万件を超えています。

とりあえず、すぐにできる対策として
以下の対応を行うこととしました。

●データベースのアップグレード
●vaccumdb fullを実行

データベースを止めないと出来ない作業なので
2時間程度、メンテナンスにして作業を行いました。

データベースのアップグレード

データベースは
postgreSQL 9.6でした。
立ち上げ当初のデータベースのバージョンなので
9.6はかなり古いです。
今回アップグレードするバージョンは
出来るだけ最新で
アップグレードに失敗しないバージョンを選びました。

postgreSQL 14.10にしてみました。

postgreSQL9.6から14.6へアップグレードした人の
記事がインターネット上にありましたので
そちらの記事を参考にしました。

こちらの記事

特に問題なく移行出来ましたが
データベースの容量が100GB以上あったので
途中のデータコピー処理に1時間近くかかりました。

vaccumdb fullを実行

毎月1日の早朝に自動的に
vaccumdbは処理していたのですが
vaccumdb fullでは実行していなかった。
ただ、レコードの削除はそんなに発生しない仕組みなので
気にしていませんでした。

ただ、新しい機能を作ったりした時に作成したテーブルに
何度かデータ入れ替えたりしていたので
実際に、vaccumdb fullで実行したら
データ容量が半分に落ちました(😀
処理時間は1時間程度。

効果は?

まだ、1日程度しか見てないですが
今のところ、postmasterが異常に増えて
LoadAvarageを圧迫する状態にはなっていません。

ただし、毎月1日のvacuumdbを
昨日から毎日に変えて、今朝動かしていたら
LoadAvarageが20まで上がり
postmasterが増殖していました。

vacuumdbの取扱は注意することとして
しばらくは様子を見たいと思います。

年末年始にサーバー構成は見直す予定です。

宝くじは
年始は4日から
年末は28日ぐらいまで発売するので
うまさくのサーバー構成を変更できるのは
年末年始しかありません(😀

土日も翌週の番号選びでアクセスして頂いているので
安心して作業出来るのは
年末年始なんですよね...

でも、たくさんの人に利用してもらっているので
本当に感謝しています。
モチベーションあがります!

引き続き、ご利用ください。

-追記-
やはり、昼のアクセス集中時間は
アクセス出来ない状態になります。
そこで、うまさくセレクトのボタンは1秒経過しないと
再び押せないように対応しました。

(今までは0.5秒設定でした。)
これで少し様子を見ていきます。

サポート支援金の使い道

うまさくのサービスをより充実させるために
サポート支援を受け付けています。
いただいた支援金は以下の用途に活用させていただきます。
サーバー増強・運用コストの補填
新しいデータ分析機能の開発
さらなるサービス向上のための運営費用

うまさくセレクトの有料化によって
今後さらに分析ページや予測機能を強化していきますが
もっと精度の高い分析を追加してほしい
新しい機能を開発してほしい
といったご要望をサポート支援を通じて
後押ししていただけると、大変助かります!

サポート金額100円から5万円までお選びいただけます。
※ご支援は「月額(サブスクリプション)」ではなく
一度きりのご決済となります。
YouTubeのスーパーチャット(Super Chat)を通じた
ご支援も受け付けております!

皆さまの応援が
うまさくの成長につながります!
今後のさらなる進化のために、ご支援いただけると幸いです。

うまさくセレクト







© 2025 - うまさく -