広告sp

マイニングプール

マイニングプール用サーバーの拡張その2

更新日:

php-mposベースのデータベース負荷は主にシェアの書き込みとトランザクションの読み書きが大きな割合を占めます。シェアはブロックを発見すればアーカイブされて特定条件で物理削除されますがトランザクションはアーカイブフラグが立つことはあっても何もしなければ減りません。とは言え出金さえしてもらえればアーカイブフラグが立ってインデックスの効果でそれなりに負荷は抑えられます。

それでも参加者が増えるにつれてどうしても負荷は上がっていく為、最終的にはデータベース専用のサーバーを用意する形になるかと思います。そういうわけで将来的な事も考えてデータベースを別サーバーに切り出す作業を行いました。

私の環境だとデータベースを参照しているのはphp-mpos, stratum-mining, zabbixになるので、それぞれのDB参照先の変更が必要です。(下図にはzabbixは記載されていませんが、それぞれにzabbix-client、apacheが入っているサーバーにzabbix-serverが入っています)

具体的には下記の作業を行いました。

  • 新しいサーバーを立ち上げて初期設定を行う
  • 既存サーバーと新サーバーのプライベートネットワークでの通信速度計測
  • 既存サーバーの各種サービスを停止
  • 念のためバックアップを取っておく
  • 旧サーバーでデータベースをダンプし、新サーバーでリストアする
  • 各種サーバー参照先の設定を変更
  • 定期バックアップの設定を移行

作業は無事完了し、データベースだけを処理する専用のサーバーに切り出す事ができました。今後、負荷が高くなった場合はこのサーバーだけスケールアップする事で対応できるようになります。また、直接DBサーバー側にアクセスする経路が無くなったのでよりセキュアですね。

今後はphp-mpos側のサーバーはCDN経由にし、stratum-mining側のサーバーはプロキシサーバー経由にし、それぞれをIP制限かける形にすると殆ど固定IPだけを対象とした運用が可能になるかと思います。

※2018年1月頃は賑わっていたので負荷が高かったのですが投稿時点では結構減ってしまっており、設備側が過剰な状態です(泣)。かと言って落ちるギリギリまで耐えてしまうと結果的にマイナーみなさんの報酬が減ってしまう事になる為、判断は早目が正解だと思っています。

-マイニングプール

Copyright© みずたまりブログ , 2018 All Rights Reserved Powered by STINGER.