Coldfusion开发服务器比生产慢

时间:2011-01-19 10:32:24

标签: coldfusion windows-server-2008 performance

我们已经构建了一个开发服务器来测试我们的Web应用程序,然后再将它们部署到部署中。

这是开发服务器的配置:

  

Win Server 2k8 - 32bit - 网络版
  Coldfusion 9 Entreprise
  MySQL 5
  IIS 6

此配置是生产环境的副本。 不幸的是,我们面临着执行时间缓慢的问题。 示例:已在生产服务器上启动的应用程序的执行时间平均为45-60毫秒,而开发时为500-600毫秒。 当我们必须重新启动应用程序时,这种情况经常在开发中发生,我们会浪费很多时间...... 6500-7000ms:((vs 1200ms)

我在本地服务器(我的电脑)上尝试过相同的应用程序,响应时间相当于生产服务器。

这是开发服务器的JVM配置:

  

-Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 5005   -server -Dsun.io.useCanonCaches = false -XX:MaxPermSize = 192m -XX:+ UseParallelGC -Xbatch -Dcoldfusion.rootDir = {application.home} /../   -Dcoldfusion.libPath = {application.home} /../ LIB

源文件托管在NAS上;我们必须在NAS上创建一个用户,与服务器的管理员用户完全相同。我们必须将Coldfusion和IIS应用程序池配置为以创建的用户身份运行以解决访问权限问题。但我不认为这是问题,因为我做了一些测试,将文件放在服务器本地的磁盘上,执行时间保持不变。

我不知道在哪里看......

**服务器监视器已关闭**

有人会有任何建议吗?

感谢。

4 个答案:

答案 0 :(得分:5)

有很多可能的原因:

  • 开发服务器是否具有同等功率?
  • 你关闭了调试吗?
  • 您是否打开了可信缓存?
  • 这两台机器的Disable CFC Type Check
  • 设置是否相同
  • 两台机器上的jvm最小和最大堆大小设置是否相同?例如-Xms512m -Xmx512m
  • 您是否在本地启用了任何服务器监控选项,但在实时服务器上没有启用?
  • 您的应用是否连接到生产服务器本地但远程开发服务器的数据库服务器?

答案 1 :(得分:2)

答案似乎很常见:尝试FusionReactor找出瓶颈。用这些信息“猜测”原因真的很难......

答案 2 :(得分:2)

您是否关闭了“报告执行时间”?

这可能导致CFC繁重的应用程序(以及几乎任何复杂的应用程序)大幅减速

答案 3 :(得分:1)

LarZuK,你说“服务器监视器已关闭”:你的意思是CF Enterprise Server Monitor(也可以在免费的Developer Edition中找到)?如果是这样,让我们​​确定你的意思是你所说的:你是说“服务器监视器界面已关闭?”说实话,这并不意味着什么。

如果启用任何“启动”功能,尤其是“启动内存跟踪”,则监视器界面是否打开无关紧要。无论您是否打开界面,都已导致CF开始执行该监视。

我怀疑这可能是你的问题。打开监视器并单击“停止内存跟踪”(如果它已打开)(如果有大量查询,则“停止分析”,因为它跟踪它们)。 “开始监控”是最不麻烦的。让我们知道结果如何。

就像其他人所说的那样,可能会有其他许多解释,并且很难猜测并且在没有更多信息的情况下完成所有这些解释。像FusionReactor或CF Server Monitor这样的工具可以提供更多细节,但要知道如何最好地解释他们告诉你的内容可能会很棘手。我尝试通过我自己的网站(carehart.org,包括我的博客,文章和演示文稿)和我正在构建的新cf911.com网站等各种资源提供帮助。我还提供咨询服务,帮助人们,按需和短期,但我意识到你可能不会只为你的开发服务器寻求解决问题的帮助。

希望这有帮助。