我正在使用Nginx在专用服务器上提供静态文件。服务器没有网站,它只是一个文件下载服务器。文件大小从MB到GB不等。
以前我有8个专用服务器与500 Mbps的unmetered.com。他们每个人都表现出色。
我想从FDCServers买一台10 gbps的服务器。因为一台服务器比多台服务器更容易管理。
下面是服务器的规格:
Dual Xeon E5-2640(15M Cache,2.50 GHz,7.20 GT/s Intel® QPI)- 24 Cores 128 GB RAM 10 Gbit/s Network Unmeteored Ubuntu 14.04 LTS 1.5 TB SATA
但是我的新巨型服务器的速度不超过500到600 Mbps。我安装了nload来监控流量和上传/下载速度。它的报告几乎与以前的unmetered.com服务器相同。
然后我认为这可能是由于SATA硬盘的读取速率限制。
所以我购买并安装了3 X 240 GB的SSD驱动器在新的强大的服务器.
我将文件移动到SSD驱动器并下载它用于测试目的.速度仍然不好.我得到只有250至300 Kbps.而它应该给我至少给予2 Mbps(这是我放在Nginx配置文件中的每个IP的速度限制).
然后我搜索了千兆以太网调整设置。发现几个sysctl设置,需要调整为10 Gbps网络。
http://www.nas.nasa.gov/hecc/support/kb/Optional-Advanced-Tuning-for-Linux_138.html
我实现了它们,但吞吐量仍然与我以前的500 Mbps服务器相同。
你能帮助提高这个服务器的网络吞吐量吗?我问了FDCServer支持团队,他们证实他们的服务器可以很容易地给予3到5 Gbps,他们不能帮助我调整它。
经过所有的调整和设置,我得到最多只有700兆比特。
如果你需要更多的细节就告诉我。
3条答案
按热度按时间wvt8vs2t1#
执行内存测试:
适用于DDR3 1333 MHz PC 10600
字符串
测试磁盘IO:
型
使用help pipe测试cpu速度:
型
从本地主机下载nginx速度应该是~1.5-2 GB/s
检查:
型
检查此解决方案。
删除行:
型
和改变
型
到
型
好运
iezvtpos2#
我认为你需要把问题分开,独立地进行测试,以确定真实的问题--猜测是磁盘问题,如果是网络问题,花几百或几千块钱买新磁盘是没有用的。你有太多的变量,不能随意改变--你需要分治。
1)要测试磁盘,请使用磁盘性能工具或老式的
dd
来测量吞吐量(以字节/秒为单位)和延迟(以毫秒为单位)。从磁盘读取数据块并写入/dev/null
以测试读取速度。从/dev/zero
读取数据块并写入磁盘以测试写入速度-如果需要。顺便问一下,你的磁盘是RAIDed的吗?在多少个控制器上分配?
2)要测试网络,请使用
nc
(也称为netcat
)并反复测试网络以查看您测量的吞吐量和延迟。从/dev/zero
读取数据块并使用nc
通过网络发送。从网络读取数据块并丢弃到/dev/null
以进行其他方向的测试。3)为了测试你的nginx服务器,把一些静态文件放在RAM磁盘上,然后你将独立于物理磁盘。
只有这样你才知道什么需要调整...
crcmnpdw3#
我遇到了同样的问题。在1 Gbit时,文件下载速度高达20 Mbps/秒。更改
sendfile_max_chunk
参数后,速度变为最大。变更:
字符串
收件人:
型