1

これは、memcache を再設定するタスク キューを呼び出すために 1 時間ごとに頻繁に実行される cron タスクの結果として、ほとんどすべての作業が完了しているサイトで、アプリが時折 CPU 制限のピークを経験する問題です。

最近、サイトのトラフィックが急増し、複数のインスタンスがスピンアップしました。

しかし、驚いたことに、トラフィック スパイクに関連する CPU 使用率は 1% 未満だったにもかかわらず、当時は Memcache タスクの頻度を減らす必要がありました。(このアプリで行われる作業の 99% は、(a) memcache タスク キューで、(b) クライアント側の JavaScript/JSON ロジックで行われます)。

私が疑問に思っているのは、スピンアップされた追加のインスタンスがすべて独自の Memcache タスク キューを必要とするかどうかということです。おそらくこれが、当時の期間に memcache を再作成するタスク キューに関連するはるかに高い CPU 使用率を見た理由です。タスクは実際にはインスタンスごとに個別に実行されていますか?

もしそうなら、どうすればタスク キューとそれが生成する Memcache がインスタンス間で共有されていることを確認できますか?

4

1 に答える 1

1

タスク キューと memcache はどちらもグローバルです。インスタンスの数に応じた何らかの方法でタスクをキューに入れていた可能性が高いため、本来よりも多くのタスクを開始していました。コードを見ずに言うことはできません。

于 2011-01-18T22:35:21.520 に答える