一点背景:
我们有一个windows服务,它从外部服务器获取数据并将它们存储在本地数据库(SQL Server 2012)上。
外部服务器每秒发送超过1500条“消息”,但本地服务器的存储速率几乎为500 msg / s(Windows服务和数据库位于单个虚拟机上,Xeon E5520和16 GB的RAM位于HP G7上服务器/ Windows服务器2012)。
当我将服务和数据库移动到本地PC时,存储速率上升到1100 msg / s。
我在多台PC(core2 duo和core i5)和服务器(HP G7和G8,VM和物理服务器)上进行了testing,结果是一样的:所有的PC以比我们的服务器更好的速度获得消息。
我们认为这可能是一个networking问题,但事实并非如此。
我在服务器和PC上用“Sisoft Sandra”进行了“内存交易吞吐量”testing,发现我们的PC比服务器做得好得多。 最低 PC结果为5.4MTPS(在Core2 Duo E7400上), 最高服务器结果为3MTPS(在带有至强E5-2650的HP Proliant DL380P上)。
我倾向于得出结论,至强处理器存在问题,但是这将是一个奇怪的结论,因为全球有数十个至强数据库服务器。
我错过了什么吗? 有没有在BIOS的特殊configuration来解决这个问题?
由于这是一个消息传递应用程序,而且您正在使用HP ProLiant服务器,所以我将其视为低延迟configuration…如果这是一个容易重现的testing,您可以尝试以下方法吗?
看看我们用于消息传递重大应用程序的一些调优build议 。