タグ

チューニングとredisに関するreboot_inのブックマーク (2)

  • 【ポエム】Scala製ゲームサーバーのあれやこれやを大チューニングした

    私は現在、Scalaで書かれているわりと古めのゲーム用サーバーに、いろいろ機能追加したり不具合修正したりする仕事をしています(オマケとして、Nodeで管理ツール(イベントやお知らせの編集、プレイヤーの個別情報の閲覧や設定)やKPIツール(各種統計をとってビジュアライズする、ゲーム運用の生命線となるツール)を書いたり、PythonGoでテストクライアントを書いたりもしています)。 このサーバーシステム、これまでのいくつかのゲームタイトルでおおむね順調に稼働していた実績を買われ、差分開発ということで別のゲームへの流用を打診いただき、ふたつ返事でOKさせていただいて機能追加をしてきたものです。 で、簡易的な負荷試験で見つかった問題を改善し、臨んだクローズドβテストでは何も問題なく左うちわ。 しかし、大量のプレイヤーが参入したオープンβテストで、これがもう、壮絶過ぎる大破産を迎えてしまいました。

    【ポエム】Scala製ゲームサーバーのあれやこれやを大チューニングした
  • Redis のメモリが足りなくなった時にどうやってチューニングしたか - Qiita

    Redis は便利なのですが、メモリが半分しか使用出来ないという問題が有ります。 非同期でファイルの書き込みを行う際に、メモリのスナップショット(コピー)を取るために、その分の空きメモリが必要なのです。 ここに Redis のソースコードのコメントを翻訳したものを置いておきます。 今回、メモリの空きが足りなくなったのは、準永続的な情報用のサーバと利用している物で、簡単に消すことは出来ませんでした。 そこで Redis のメモリダンプを解析し、利用していないキーの削除やデータ型の変更を行うことにしました。 メモリの解析 メモリダンプはそのままでは人間には理解不能なので、ローカルにdump.rdbファイルをコピーし、 Rdbtools を利用してCSVに出力し、そこから必要なデータに整形しました。 $ rdb -c memory dump.rdb > redis_memory.csv # バイ

    Redis のメモリが足りなくなった時にどうやってチューニングしたか - Qiita
  • 1