0

約 20 個のアプリで共有される memcached サーバーがあります。Web アプリの 1 つ (またはユーティリティ アプリの 1 つ) が定期的に flush_all コマンドを発行しています。頻度はランダムに見えるか、少なくともパターンはまだ見られていません。1時間に約10回発生します。

これがこすりです。どのアプリがこれを行っているかを判断する良い方法がわかりません。memcacehd ログはまったく役に立ちません。これまでに行ったことは次のとおりです。 * すべてのソース コードを grep します - memcached ライブラリ以外に、このコマンドを発行した場所がどこにもありません。* memcached で詳細ログ (-vv) を有効にします。コマンドが発行されるのを確認できますが、ログには、コマンドの発行元に関する情報が表示されません。* 管理上これを無効にする方法を調べてください。memcached への承認されていないソース パッチがなければ、それを行う良い方法がわかりません。

他の誰かがこの問題を抱えていますか? これは Web アプリの 1 つから来ていると思いますが、他の場所から来ている可能性もあります。助言がありますか?

私の次のステップは、2 番目の memcached サーバーをセットアップし、アプリケーションを 1 つずつ移動することです (これは遅くて時間がかかります)。もっと良い方法があるはずです。

4

1 に答える 1

0

少し遅れましたが、他の誰かがこれを打った場合に備えて...

複数の memcache プロキシを設定し、各アプリケーションが異なるプロキシを使用するように構成することをお勧めします。私が見つけた最初のプロキシはtemproxy でした。それがどれほど優れているかはわかりません。

その後、プロキシのログを使用して、コマンドを発行しているアプリケーションを特定できます。

于 2014-04-12T20:56:37.247 に答える