耶,第一次发帖!(杰夫等人干得好。)
当我们开始允许用户按需生成报告时,我们正在尝试解决其中一个 Web 应用程序中的瓶颈问题。
我们的基础架构如下: 1 台服务器充当 Webserver/DBServer(ColdFusion 7 和 MSSQL 2005)
它为我们的后端用户和前端网站提供 Web 应用程序。报告由用户从后端生成,因此用户必须登录(基于 Web)具有一定的安全级别。
在生成报告的高峰时段,由于 SQL Server 将资源用于大量查询以及随后的 ColdFusion 生成多页 PDF,因此 Web 应用程序和前端网站的速度令人无法接受。
我们不确定消除一些负载的最佳做法是什么,但目前还不能选择限制对报告的访问。
我们已经考虑将数据非规范化到其他表以简化最常见的查询,但这似乎只会进一步推动问题。
因此,我们正在考虑获得第二台服务器并将其用作“报告服务器”,其中包含将运行查询的数据库的复制副本。这将解决一个问题,但第二个问题仍然存在:生成 PDF 是资源密集型的。
我们也想将该任务卸载到报告服务器,但是在安全的 Web 应用程序中,我们不能只触发 HTTP GET 来创建 PDF,用户从服务器 1 登录 Web 应用程序并将其显示在web-application 但在服务器 2 上生成/获取它而不验证用户的凭据...
有人有这方面的经验吗?提前感谢堆栈溢出!