イェーイ、SO に初投稿!(よくやったジェフら)
ユーザーがオンデマンドでレポートを生成できるようにしたときに導入された Web アプリケーションの 1 つのボトルネックを解決しようとしています。
当社のインフラストラクチャは次のとおりです。 Web サーバー/DB サーバーとして機能する 1 台のサーバー (ColdFusion 7 および MSSQL 2005)
バックエンド ユーザー用の Web アプリケーションとフロントエンド Web サイトを提供しています。レポートはバックエンドからユーザーによって生成されるため、ユーザーがログインする必要があるレベルのセキュリティがあります (Web ベース)。
レポートが生成されるピーク時には、SQL Server が大量のクエリにリソースを使用し、その後 ColdFusion が複数ページの PDF を生成するため、Web アプリケーションとフロントエンド Web サイトの速度が許容できない速度になります。
負荷を軽減するためのベスト プラクティスが何であるかは正確にはわかりませんが、現時点では、レポートへのアクセスを制限することはできません。
最も一般的なクエリを簡素化するために、データを他のテーブルに非正規化することを検討しましたが、それは問題をさらに押し進めるだけのようです.
そのため、2 台目のサーバーを取得し、それを "レポート サーバー" として使用して、クエリが実行される DB のレプリケート コピーを使用することを考えています。これで 1 つの問題は解決しますが、2 つ目の問題は残ります。PDF の生成はリソースを大量に消費します。
そのタスクをレポート サーバーにもオフロードしたいと考えていますが、セキュリティで保護された Web アプリケーションでは、サーバー 1 から Web アプリケーションにログインし、それをWebアプリケーションですが、ユーザーの資格情報を検証せずにサーバー2で生成/取得しています...
誰でもこれを経験したことがありますか?よろしくお願いしますスタックオーバーフロー!!