我想知道按计划重新启动服务器是否是提高性能的好主意。
假设我们想在每 2 晚的凌晨 02:00 重新启动服务器。
这里的服务器是Windows Server 2008 R2. 主要是 SQL Server 和 IIS 7.5(近 15 个应用程序正在运行)在此服务器下运行。服务器有 4GB 内存。
我错误地认为我的内部 AB 测试意味着我的服务器每秒可以处理 1k 并发 @3k 命中。
我目前的理论是网络是瓶颈。服务器无法足够快地发送足够的数据。
来自 blitz.io 的 1k 并发的外部测试显示我的命中/秒上限为 180,页面响应时间越来越长,因为服务器每秒只能返回 180。

我已经从 nginx 提供了一个空白文件并将其固定:它以 1:1 的并发比例扩展。

现在为了排除 IO / memcached 瓶颈(nginx 通常从 memcached 中提取),我从文件系统提供了缓存页面的静态版本。

结果与我原来的测试非常相似;我的上限约为 180 RPS。
将 HTML 页面一分为二使 RPS 翻倍,因此它绝对受页面大小的限制。

如果我从本地服务器内部使用 ApacheBench,我会在高传输速率下在整页和半页上获得大约 4k RPS 的一致结果。传输速率:62586.14 [Kbytes/sec] 接收
如果我从外部服务器 AB,我得到大约 180RPS - 与 blitz.io 结果相同。
我怎么知道这不是故意节流?
如果我从多个外部服务器进行基准测试,所有结果都会变得很差,这让我相信问题出在我的服务器出站流量上,而不是我的基准测试服务器 / blitz.io 的下载速度问题。
所以我回到我的结论,我的服务器不能足够快地发送数据。
我对吗?还有其他方法可以解释这些数据吗?是设置多台服务器+负载均衡的解决方案/优化,每个服务器每秒可以提供180次点击?
我对服务器优化很陌生,所以我很感激解释这些数据的任何确认。
出站流量
以下是有关出站带宽的更多信息: 网络图显示最大输出为 16 Mb/s:每秒 16 兆位。听起来一点也不像。
由于一个关于节流的建议,我调查了这个,发现 linode 有一个 50mbps 的上限(我什至没有接近击中,显然)。我把它提高到100mbps。
由于 linode 限制了我的流量,而我什至没有达到它,这是否意味着我的服务器确实应该能够输出高达 100mbps 但受到其他一些内部瓶颈的限制?我只是不明白如此大规模的网络是如何工作的;他们真的能像从硬盘读取数据一样快地发送数据吗?网管有那么大吗?

1:基于上述,我想我绝对可以通过在多 nginx …
I'm running a relatively low-traffic site that experiences a large spike in visitors once a week following a site update. During this spike, site performance is extremely poor compared to the rest of the week. The actually load on the servers remains very low, reliably under 10% CPU and under 30% RAM (the hardware should be complete overkill for what we're actually doing), but for some reason Apache seems to be unable to cope with the quantity of requests. We …
我有一个 cron 基本上在晚上做一个简单的“tar zcf”。
服务器有:
正如您在监控屏幕主机上看到的:
在 tar 的几乎所有时间里,磁盘 I/O 都超过 90%,并使所有其他应用程序(mysql、apache)变慢很多。
2个问题:
谢谢!
通常有两种在 Apache 上处理东西的可能性:
使用htaccess文件对文件夹进行一一配置
完全放弃htaccess并将所有规则放入httpd.conf
htaccess 的使用是一个加载时间问题。我想知道,htaccess 的使用在加载时间方面有多昂贵?有任何测试吗?
关于 IOPS,我在网上看到几个消息来源表明给定磁盘数量的 IOPS 只是单个磁盘的 IOPS 乘以磁盘数量。
如果我对 IOPS 的理解是正确的(我完全不确定),我会认为现实将取决于 - 在许多其他因素中 - RAID 级别。使用 RAID 1/10,所有数据都至少在两个磁盘上复制,从而减少了某些 IO 模式在特定磁盘上的争用。但是,在条带化 RAID 级别(例如 RAID 0/5/6)中,数据是分布的而不是复制的,这意味着连续的读取请求可能针对同一主轴,从而导致在前一个 IO 完成时发生阻塞。写的更有争议。
我应该补充一点,由于各种优化和其他因素,我意识到现实要复杂得多。我的问题实际上只是在非常基本的层面上推动我对 IOPS 含义的理解是否在正确的轨道上。可能是我断言 IOPS 甚至可能以这种方式受到 RAID 级别的影响,这表明对该概念的基本误解。
我听说 RAID 5 的写入性能有时会令人震惊。虽然我想要它提供的冗余,但我不想牺牲我的数据库插入/更新时间。
这是我应该担心的事情,如果是这样,获得具有良好写入性能的冗余的建议是什么?
我看到一些随机页面提到使用空 gif 图像以某种方式提高性能。我还发现 nginx 有一个用于此目的的模块。我无法弄清楚的是,应该如何提供这个小文件来提高 Web 服务器的性能或感知响应能力。谁能帮我了解一下好处?
我想知道是否有人在通过网络发送/接收请求时有设置专门为性能不佳而设计的环境的经验。我正在开发一个应用程序,并希望使其在性能极差的网络上保持稳健。有谁知道是否可以将路由器配置为:
如果在路由器上不可能,是否可以将计算机配置为路由器并执行此操作?
非常感谢!
如果有人能指出rabbitmq(“平均”硬件,fwiw)的一些合理比例数字/限制的方向,或者发布您对其性能的经验,我将不胜感激。我试图了解队列数量、队列上的订阅者数量、扇出队列上有数百或数千个侦听器的性能影响、任何人在高容量环境中运行兔子的任何硬数字。
performance ×10
apache-2.2 ×3
nginx ×2
raid ×2
.htaccess ×1
backup ×1
database ×1
hard-drive ×1
httpd.conf ×1
io ×1
iops ×1
linux ×1
mpm-prefork ×1
rabbitmq ×1
router ×1
storage ×1
ubuntu ×1
web-server ×1