Web服务器和数据库服务器之间缺少“位奇偶校验”会影响性能吗?


10

我今天与软件供应商举行了会议,讨论了他们推荐的用于部署特定应用程序的基础结构。该应用程序需要两台服务器:用于服务器网页的应用程序服务器(.NET,Windows)和数据库(SQL Server)。供应商声称这两个服务器必须具有“位奇偶校验”。它们的意思是,如果应用程序服务器是32位,则SQL Server应该是32位,或者,如果应用程序是64位,则SQL Server是64位。否则会对性能产生负面影响。

这对我来说似乎很可笑。这些服务器是独立的,仅通过网络进行通信。网络协议与任一台服务器上的处理器的“位”无关。

我错了吗?是否存在不匹配实际上可能会对性能产生负面影响的原因?

注意:我知道某些应用程序在32位和64位上可能运行得更快或更慢。但是供应商说Web服务器和DB服务器之间的不匹配会导致问题。这是我要询问的声明。


在其他所有条件都相同的情况下,他认为32和32的运行速度比32和64快?
JeffO 2011年

这就是供应商所声称的,是的。32,32或64,64的性能高于32,64或64,32。
RationalGeek

让他们设置系统的两个变体。然后对它们进行压力测试。购买满足您要求的最便宜的版本。
马丁·约克

Answers:


10

我想他们很可能知道这两种产品之间存在某种特定的相互作用,当出现不匹配时会引起问题(但我真的对此表示怀疑-我会以10:1的比例认为供应商装满了)。

您可能希望查看serverfault来查找有关不匹配影响的问题,但我怀疑您会发现很多东西,因为我怀疑是否有任何真正的问题可以找到...


1
+1,我认为您是对的。每个盒子上可能都有性能方面的考虑,但是在网络上,32位还是64位无关紧要。
Moo-Juice

1
可能吗?我不认为这是一种物理可能性。我也倾向于“供应商最多”选项。:-)
RationalGeek

@jkolhepp:我可以想到几种可能的方法,但是我怀疑其中任何一种方法都适用。仅出于一种遥远的可能性,考虑服务器发送数据的速度快于接收器处理数据的速度,因此数据被丢弃,必须重新传输。这是真的可能性不大,但只是勉强可以想象。
杰里·科芬

只有当他们使用允许这种情况的低级网络协议时,这才可能。使用“常规” TCP / IP或其他方法可以防止这些类型的问题。发送速度与接收速度与服务器的“位”无关。
RationalGeek

3
我已经看到由于供应商的愚蠢而出现问题,例如,在网络消息中公开一个字段,该字段的大小取决于应用程序的“位”而有所不同,而没有提供发现应该发送/期望的字段大小的方法。
Jeffrey Hantin 2011年

6

要求证明。他发表了一个令人怀疑的声明,他在(误)卖给您东西,要么备份它,要么收回它。节省您的繁琐工作。


那是一个好主意。我正在计划这样做。这个问题的目的是要确保我在这样做之前没有发疯。:-)
RationalGeek

4

32位和64位服务器对之间的差异很可能不会造成任何差异。将会有所不同的是各种过程的字节序,销售人员可能会将其混淆为“位奇偶校验”。


2
即使这取决于协议(而且我承认我不知道DB的工作原理)。如果服务器/客户端声明了其字节序,而另一个服务器适应了它,那么您是绝对正确的;但是传统上,网络协议是big-endian,在这种情况下,两个little-endian框必须进行转换,这使其比LE / BE对更不利。
ijw 2011年

3

简而言之,我想说没有任何奇偶校验无关紧要。SQL Server没有单独的64位和32位协议。

但是,无论如何,我建议您将服务器切换到64位。SQL Server仅以64位提供,我相信Windows Server也在朝着这个方向发展。


我同意64位是未来。但这不是我的问题。我质疑供应商的假设,即位奇偶校验是他们对我们提出的有效要求。我们想使用现有的服务器场,这些服务器场不是奇偶校验的。
RationalGeek

2

好吧,如果说供应商严格地指性能,那可能是有些道理。x86和amd64系统之间肯定不存在不兼容性,因为网络协议应该将其隐藏起来。

但是,值的内部表示必须在传输期间进行转换。因此,某种形式的pack/unpack将成为其中的一部分。但是,我假设网络协议没有定义两个变体,而是针对64位网络或32位值进行了优化。因此可能涉及转换,并且甚至可以衡量。但这可能并不重要。


1

从技术上讲,与SQL Server的连接通常是一个二进制通道(现在我不知道这个系统特别是它可能是一个基于文本的通道),因此在检索查询结果时,目标端将进行一些转换。

这导致两个问题:

  1. 此转换仅在32x64上完成吗?
    可能是二进制通道与系统无关(因此它可以支持32x64、32x32和64x64),并且转换将始终在32x32系统上进行。

  2. 转换的费用​​是多少。
    我无法想象这会影响到你。二进制到二进制转换的成本很小且固定。

您还需要问另一个问题:

具有位奇偶校验的成本是否更高?如果没有,那为什么还要惹恼顾问。如果存在明显的成本差异,那么真正的性能下降是什么,最重要的是,性能下降会使Web服务器的性能下降到您的阈值接受以下。

即如果您的服务器需要每秒处理200页。一个32x32系统可以交付202个,一个32x64系统可以交付200个,一个64x64系统可以交付210个。那么,在这种情况下,您拥有的系统并不重要(它们都符合标准),但是值得额外花钱的是每秒多出的10页。

最后,即使有少量的额外费用(我对此表示怀疑)。与WebServer产生的其他成本相比,该成本是否可观或可衡量?即看一个极端的例子:如果构建页面的成本是100毫秒,其中15毫秒是WebServer。如果非位奇偶校验版本的价格(20毫秒)高出33%,则此门槛只会将构建页面的成本提高到105毫秒,仅增加5%。


马丁,这很有趣。该二进制通道转换有参考页吗?
RationalGeek

@jkohlhepp:您将需要查找有关“ SQL Server”的实现详细信息。显然,它使用专有协议“ 表格数据流”,对此我一无所知,但根据此页面,MS已发布了该协议。
马丁·约克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.