如何改进Windows Server 2008 R2以处理多个连接?

前端之家收集整理的这篇文章主要介绍了如何改进Windows Server 2008 R2以处理多个连接?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
到目前为止,我已经花了几天时间试图解决这个问题.首先,我正在运行一个平均每日页面浏览量为350,000的网站.以前,所有广告管理(跟踪每个广告所投放的点击次数和展示次数)和内容都在一个服务器中提供,具有以下规范:
Server 1
OS: Windows 2008 R2 64-Bit
cpu: Intel® Core™ i5 - 4 cores
RAM: 8 GB
Storage: 2 x 1 TB hard drives
Bandwidth: 10 TB per month

为了提高我们的网站速度,我决定将广告管理脚本分离到另一台专用服务器,因为我们每页有超过15个广告客户,每30个广告客户.

Server 2
OS: Windows 2008 R2 64-Bit
cpu: Intel® Core™ i5 - 4 cores
RAM: 4 GB
Storage: 2 x 300 GB hard drives
Bandwidth: 10 TB per month

问题
问题是服务器1可以处理内容和广告系统.现在,我将广告系统带走并将其放在服务器2上.服务器2几乎不能仅用于广告系统.

测试

>首先,我将75%的广告移至服务器2.然后,执行ping服务器:ping -t xxxxx. [我做了10分钟的ping,以及下面类似的模式]

Reply from xxxxx bytes=32 time=290ms TTL=116
Reply from xxxxx bytes=32 time=289ms TTL=116
Reply from xxxxx bytes=32 time=320ms TTL=116
Reply from xxxxx bytes=32 time=286ms TTL=116
Reply from xxxxx bytes=32 time=286ms TTL=116
Reply from xxxxx bytes=32 time=348ms TTL=116
Reply from xxxxx bytes=32 time=284ms TTL=116

>然后,我将100%的广告移动到服务器2.然后,再次执行ping服务器. [我做了10分钟的ping,以及下面类似的模式]

Reply from xxxxx bytes=32 time=290ms TTL=116
Request timed out
Reply from xxxxx bytes=32 time=320ms TTL=116
Reply from xxxxx bytes=32 time=286ms TTL=116
Request timed out
Request timed out
Reply from xxxxx bytes=32 time=284ms TTL=116

尝试

>增加MaxUserPort和TcpNumConnection
>重新启动服务器
>增加IIS Max实例和实例MaxRequests

服务器资源

>仅使用10%-15%的网络连接
>仅使用10%-15%的cpu
>仅使用25%的内存

好吧,让我们开始吧.这个更长.

你完全错误地判断了它看起来的事实. Windows – 即使是过时的2008 R2,你应该尽快更新 – 完全能够处理我的手机没有问题处理的卷.

因此,这留下了3个可能的问题领域:

>安装.你的司机可能很糟糕.鉴于您运行的是过时的操作系统 – 您的驱动程序有多好?更新它们 – 这会导致各种问题.
>网络.这看起来很像“我的车太慢了,请帮我把它变得更快”,问题是你花了大部分时间在交通堵塞和抱怨交通不动.不是汽车改装问题. 10tb流量对网络拥塞一无所知.观察您的NIC上的网络流量统计信息,然后做出相应的反应 – 如果它们没有以他们应该的速度超过……您的提供商已经超卖.很简单.
>代码.可能你需要更多的RAM(计算机正在忙于交换RAM而不是处理)或者糟糕的编码使用所有cpu到一定程度,使内核级TCP堆栈没有正确反应(是的,ICMP回复很低).这将是残酷的 – 但这是另一种检查的途径.也可能是你经常访问它而不是在RAM中缓存来重载磁盘,但我不知道这会导致丢失ping.这里的任何问题都不是管理员可以处理的事情 – 你必须向它投掷硬件,或者拿起一根棍子并用它来打击程序员直到他修复它(如果它是一个“愚蠢”级别的错误,吃掉了性能 – 如果不是,那么获得认真的收益要困难得多,而且可能只是你需要更强大的硬件).

它绝对不需要调整窗口 – 配置良好的窗口可以提供更多的窗口.我的文件服务器会在更长的时间内定期服务 – 从相对库存设置中提供4-6千兆位.

现在,你给出的所有数字都没有说真的.

> 10-15%的cpu使用COULD意味着交换.
> 25%的内存使用可能是一个很好的指标,现在交换发生,但它仍然可能意味着cpu正在等待IO.
使用> 10%-15%的网络意味着 – 绝对没有,因为它只是网络的一面.上游怎么样?如果提供商在机架上的1千兆位上行链路上放置20台1千兆位服务器并且像地狱一样溢出怎么办?

最后一点非常可能 – 丢弃数据包是一个很好的指标.这对你来说是不可见的.

我的建议….暂时关闭机器上的任何东西,用大型静态文件从外部进行速度测试.我打赌你会陷入更高的拥堵状态.

到目前为止你做的任何事情 – maxuserport,tcpnumconnection,重新启动服务器,玩弄IIS设置 – 完全没有,并且在最好的地方什么都不做.在慢车上敲一把锤子永远不会修理任何东西 – 特别是如果汽车很慢,因为它在交通堵塞中.我会撤消所有更改并开始分析问题,而不仅仅是您的服务器.我打赌目前网络拥堵.

猜你在找的Windows相关文章