使用带有Service的Server2008 R2标准进行非常慢的处理。情境:使用文本数据读取文本文件,以填充一系列MS表。转换后的数据用于生成每月PDF发票文件;PDF文件直接保存到硬盘驱动器。该应用程序是多线程,一个线程用于文本转换,三个线程用于PDF发票生成。文本转换与发票生成同时进行。
应用软件: C#使用2010终极版。水晶报告撰写器2011运行时13_0_3 64位版本。目标平台是x64;也被测试为x86,以及任何具有类似结果的CPU。微软.NET框架4.0。Microsoft 2008
问题:这个软件运行得非常慢。文本文件的转换大约是每秒650条记录,而PDF文件的生成大约是每分钟12张发票。要转换的文本文件是600 Meg,需要生成7,000张发票。
该软件安装在来自同一分发文件的三台不同的机器上。在每台机器上转换了相同的文本文件。执行应用程序的用户是每台计算机上的管理员。唯一的差异是机器和操作系统。这些配置如下:
服务器:操作系统: Windows Server2008 R2标准64位(6.1,Build7601) SP1 Service Pack:系统制造商:Intel: System x3550 M3-7944AC1- BIOS:默认系统BIOS处理器:Intel Xeon CPU E 5620@ 2.4GHz (16 CPU)内存:16384 M3
笔记本电脑:操作系统: Windows 7家庭高级标准64位(6.1,Build7601)系统制造商:惠普系统模型: HP展馆dv7笔记本电脑BIOS:默认系统BIOS处理器: AMD N640双核处理器2.9GHz (2个CPU)内存:6144 II
桌面:操作系统: Windows 7专业64位(6.1,Build7601) SP1系统制造商:戴尔公司系统模型: OptiPlex 960 BIOS:菲尼克斯ROM BIOS +版本1.10 A11处理器: Intel Core™2四CPU Q9650 @3.00GHZ (4 CPU)内存:16384™
每台机器的处理结果:
应用程序执行了七次,下面显示了平均值。
Machine Text Records Invoices Generated
Converted Per Minute Per Minute
Server (1) 650 12
Notebook 980 17
Desktop 2,100 45(1)服务器专用于此应用程序的执行;不执行其他应用程序。
问:为什么服务器性能这么差?如何提高服务器的速度?
发布于 2012-11-21 02:43:25
Windows的客户端版本和服务器版本之间的区别之一在于“系统属性”中“性能选项”屏幕的“高级”选项卡。
调整程序或后台服务的最佳性能。
默认情况下,客户端SKU设置为程序,服务器SKU默认设置为后台服务。
这个设置真正做的是调整操作系统的线程量子。线程量是允许线程在线程调度程序决定执行另一个线程或继续让当前线程执行之前运行的时间。
“后台服务”或“服务器”设置使线程数量大大增加。这意味着减少上下文切换,这意味着服务器线程更有可能在被另一个线程中断之前为请求完成服务。
在Windows7和2008年的R2中,每个线程的两个时钟间隔与每个线程的12个时钟间隔是不同的。
这可能会导致在服务器上运行的多线程应用程序的性能问题,如果各种线程的工作负载不匹配,从而使上下文切换成为可能。
https://serverfault.com/questions/450647
复制相似问题