- Web アプリケーションのパフォーマンスのハードルを克服した個人的な経験はありますか?
- データ駆動型 Web アプリケーションのパフォーマンスを改善するために推奨される戦略はありますか?
私の開発チームは、Oracle データベース (PL/SQL) を使用する Web アプリケーション (JSP レポート、HTML、JavaScript) に取り組んでいます。このアプリケーションが提供する主要な機能は、ユーザーが高レベルのレポートの PDF を取得し、下位レベルのサポート詳細にドリルダウンできるレポート機能です。
サポートする詳細レコードの数が数百万に達すると、システムのパフォーマンスが大幅に低下します。メトリックの現在の分析に基づくと、ボトルネックは DB にヒットするロジックと DB パフォーマンスにあるようです。DB モデルを変更し、サーバー側のロジックの一部をやり直すことは、現在調査中です。
パーティショニング、インデックス作成、Explain Plan、および実行中の統計は、パフォーマンスを向上させるために DB 側で行われたことです。彼らは助けてくれましたが、問題を十分に解決していません。パフォーマンス データの分析で最も難しいのは、データベースと Web サーバーが IT 組織の別の部門によってリモートで管理されていることです。そのため、開発者は何が起こっているかを確認するための通常の完全なアクセス権を持っていません (特に運用環境では、他の開発/テスト環境では正確に反映されません)。