【发布时间】:2013-12-10 12:58:04
【问题描述】:
我的公司正在将应用程序/Web 服务器从 Windows 2003 升级到 Windows 2008(主要是因为托管公司不再提供 2003,我们需要新硬件来获得性能)。
我们的应用程序是用 Delphi 7(CGI 模块)编写的,数据库是(这有点尴尬)DBF 文件(使用 HalcyonDataSet 组件访问)。
我们的旧服务器是:
- Windows 2003 Web SP2 (IIS6) - 32 位
- 2 GB 内存
- Intel Xeon CPU 3040 @1.86GHz(双核)
- 250 GB SATA RAID 1 硬盘
新服务器是:
- Windows 2008 Web R2 (IIS7) - 64 位
- 4 GB 内存
- Intel Xeon CPU 3320 @2.50GHz(四核)
- 500 GB SATA RAID 1 硬盘
应用程序主要需要高读取速度,因为我们必须连续循环遍历表来加载信息(是的,我们使用索引来查找位置)。
生产服务器负载通常低于每秒 5 个请求(很少),除非 google 正在编制索引(最多 10-20 个)。有时请求需要一些时间(搜索、销售列表...)。
问题:我们遇到了严重的性能问题。新服务器运行良好,但请求现在需要双倍的时间才能完成。坏事是 4 个内核在执行过程中显得相当空闲。
我在应用程序池中启用了 32 位应用程序。 我尝试过创建一个网络花园(有 4 个工作进程),并同时启动 4 个 CPU 密集型 CGI,但旧服务器仍然胜过新服务器。我已经尝试增加工作进程的优先级,没有任何区别。
是否有人知道会发生什么,以及我可以做些什么来提高新服务器的性能?
(除了重写我们的应用,显然)
提前致谢!
【问题讨论】:
标签: iis-7 cgi iis-6 windows-server-2008 delphi-7