スケジュールされたタスクが多数あり、それらはさまざまなサーバーに分散されています。条件 (ステータス) を満たすデータをデータベースにポーリングして処理します。このようにして、数百または数千のスケジュールされたタスクがデータベースをポーリングし、データベースの負荷が急激に増加することに直接つながります。
この状況にどう対処すればよいでしょうか?データベースの負荷を軽減する方法。
黄舟2017-05-17 10:06:44
類似または同様のポーリングタスクを結合して、ポーリングタスクの数を減らします
ポーリングタスクの実行頻度を減らす
ポーリングタスク内のSQLステートメントを最適化して、データベースクエリの負荷を軽減します
ポーリングタスクの実行時間を均等に分割し、すべてのタスクを特定の期間に集中させないでください
ポーリングタスクを使用しないでください
データベースをアップグレード
PHPz2017-05-17 10:06:44
さらに、データベースは複数のスレーブ ライブラリでセットアップすることもでき、スケジュールされたタスクは異なるスレーブ ライブラリからデータをポーリングできるため、データベースへの負担ははるかに小さくなります