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