标签: high-load

1GBit通道容量不足

有一个缓存服务器(Varnish):它根据请求从 Amazon S3 接收数据,保存一段时间并将其提供给客户端。我们遇到了1GBit通道容量不足的问题。4 小时内的峰值负载完全阻塞了通道。服务器性能目前足够了。每天大约传输 4.5TB 的数据。每月累积超过100TB。

想到的第一个想法就是再添加一个 1GBit 端口并安静地休眠,直到 2GBit 不够用(这可能很快发生)或一台服务器无法处理它。

然后我们只需要添加新的缓存服务器。但是现在我们需要一个负载均衡器,它将在同一个 URL 上发送请求,始终在同一个服务器上(以避免相同缓存对象的多个副本)。

以下是问题:

  1. 平衡器是否需要一个等于所有缓存服务器频段总和的频段?如果Balancer没有端口怎么办?我们应该添加更多的Balancer还是通过Round robin DNS来解决问题?
  2. 解决此类问题的标准方法是什么?
  3. 任何人都可以建议托管公司,这可以解决这个问题吗?我们对美国和欧洲市场感兴趣。

linux bandwidth high-availability load-balancing high-load

5
推荐指数
1
解决办法
125
查看次数

ksoftirqd 在与 ixgbe 驱动程序的接口上达到 100%

这是我的司机信息。

ethtool -i ethXX
driver: ixgbe
version: 3.9.15-NAPI
firmware-version: 0x800000a5
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
Run Code Online (Sandbox Code Playgroud)

现在我有 1/1.5 Gbps(每秒 75k 数据包)的平均流量到达这个接口,我可以看到一个/或多个 ksoftirqd 线程达到 100%。

我尝试启用 rx-usecs/rx-frames 选项,但没有改进。有点延迟对我来说不是问题。我只想减少 ksoftirqd 的使用。

我看到 rx-usecs 的限制是 1022,这是之后应该触发下一个中断的 usecs(这是我的理解,如果我错了,请纠正我)。虽然它不能解决我的问题。

另一方面,此驱动程序不支持 rx 帧。也不支持“adaptive-rx”。

我应该关注的下一步是什么?任何帮助是极大的赞赏。

linux-networking high-load

5
推荐指数
1
解决办法
3449
查看次数

CPU 核心利用率不均

tl; dr:第一个 CPU 内核始终处于饱和状态,所有其他内核始终负载不足。

一个虚拟机,在基于 Ubuntu 的 Xen XCP 中:

$ uname -a
Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux

$ lsb_release -a
没有可用的 LSB 模块。
分销商 ID: Ubuntu
描述:Ubuntu 11.04
发布:11.04
代号:natty

此 VM 有 8 个 CPU 内核。

这个虚拟机上运行着 10 个单线程工作进程,它们通过 FCGI 接口连接到 nginx 服务器(在本地网络端口上侦听)。

在来自 AB 的合成负载下,只有 8 个内核中的第一个内核会加载到 100%(如从 中看到的htop)。它或多或少地始终处于非常高的负载下,所有其他内核的负载从 0% 到 100% 不等,或多或少是随机的(并且这些内核的 CPU 负载在跳动)。

这是我在负载下通常看到的内容htop

  1 [|||||||||||||||||||||||||||||||||||||||||||| …

ubuntu performance-tuning cpu-usage high-load

5
推荐指数
1
解决办法
1382
查看次数

高服务器负载无法弄清楚原因

我的服务器目前运行 CentOS 5.2,WHM 11.34。

目前,我们的平均负载为 6.43 到 12。我们托管的网站需要花费大量时间来响应和解决。 top没有显示任何异常,iftop也没有显示大量流量。

我们有很多转销商,有些不擅长编写代码,我们如何找到罪魁祸首?

vmstat 输出

vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  2     84  78684 154916 1021080    0    0    72   274    0   14  6  3 80 12  0
Run Code Online (Sandbox Code Playgroud)

顶部输出(按 %CPU 排序)

top - 21:44:43 up 5 days, 10:39,  3 users,  load average: 3.36, 4.18, 4.73
Tasks: 222 total,   3 running, 219 …
Run Code Online (Sandbox Code Playgroud)

high-load load-average centos5

4
推荐指数
1
解决办法
478
查看次数

仅当负载不太高时才运行 cron 作业

我需要同步两个系统,以便生产者列出要在消费者应用程序上创建的新实体。它没有实时需求(主要是数据挖掘,因此延迟几个小时不是问题),但重要的是,当服务器已经忙于为真实用户提供服务时,不要运行此任务。

我尝试以较低的优先级运行同步服务(nice -n19),但就我所见,它仍然会损害性能,就好像此同步服务运行大型数据库查询一样,它仍然会增加数据库的负载工艺和整机

有没有办法测试负载并在负载太高时直接退出(比如上面的2)?

理想情况下,如果 cron 没有处理太长时间,就会发出某种警报,因为负载永远不会低于 2。

这是一个好方法还是我正在制造更多正在解决的问题?

linux cron high-load

4
推荐指数
1
解决办法
1683
查看次数

每分钟 350,000 个请求的负载测试

我需要一种方法来重现我们网站不久前经历的突然流量激增,以便有机会保持我们的堆栈正常工作。

我们的负载均衡器在某个时刻报告说每分钟执行大约 35 万个请求,破坏了一切,从操作系统到关闭后端。我尝试研究执行这种突发测试的服务,但似乎在调整测试设置以匹配所需条件时,它只会花费太多。

如何以符合这些条件的方式对我的堆栈进行负载测试?

load-testing high-load

4
推荐指数
1
解决办法
983
查看次数

用于高性能计算的 CPU 负载

在高性能计算的背景下,是否存在合理/安全的 CPU 负载水平?

我理解的意思平均负载在一般的服务器,但不知道会发生什么,建成并用于高性能计算服务器。

通常的约定是否load <= # of cores适用于这种环境?


鉴于我的系统特定详细信息,我很好奇,通常load >> # of cores每个节点:

  • 24 个物理内核,48 个虚拟内核的超线程(相对较新的硬件)
  • 平均负载:通常为 100-300

节点的正常运行时间很长,CPU 使用率/负载通常很高。很少有硬件故障,尤其是 CPU,但我不知道在给定高负载的节点的整个生命周期中会发生什么。

示例top输出:

top - 14:12:53 up 4 days,  5:45,  1 user,  load average: 313.33, 418.36, 522.87
Tasks: 501 total,   5 running, 496 sleeping,   0 stopped,   0 zombie
%Cpu(s): 33.5 us, 50.9 sy,  0.0 ni, 15.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 19650371+total, 46456320 …
Run Code Online (Sandbox Code Playgroud)

linux central-processing-unit cpu-usage high-load load-average

4
推荐指数
1
解决办法
219
查看次数

用于高容量站点的可扩展 WordPress 主机?

我需要为高容量 WordPress 网站推荐可扩展的网络主机。就我而言,高流量可能是 100K-500K 访问者/小时。可能会将 1M/小时的突发速率视为“高水位线”。

我知道 WP 不是目前性能最高的平台(哈!),但它是不容商量的。我可以进行“通常的优化”(例如,将静态文件放入 CDN,运行并遵循 YSlow 等性能分析器的建议)。但它仍然是 WordPress,并且会涉及十几个插件。

那么,在哪里托管网站?大多数“最好的 WordPress 主机是什么?” 讨论似乎集中在最低成本上。我需要相反的。您使用过哪些大容量、可扩展或集群的 WordPress 主机?

web-hosting scalability wordpress high-load

3
推荐指数
1
解决办法
3355
查看次数

具有多核的真实 CPU 负载

我的机器有 4 个内核。我的平均负载约为 1.2 是否意味着所有内核都非常忙?还是我机器的真实负载?1.2 / 4 = 0.3 也就是说这台机器是不是超载了?

linux ubuntu high-load

3
推荐指数
1
解决办法
5080
查看次数

NGINX:队列中查询的请求限制超时行为(突发)

目前,我们的队列大小为 3000 个请求。

location /api/v2 {
     limit_req zone=bursted burst=3000;
     include /etc/nginx/proxy.conf;
 }
Run Code Online (Sandbox Code Playgroud)

速率限制为每秒 10 个请求。

 limit_req_zone $limit zone=api_slow:10m rate=1r/s;
 limit_req_zone $server_name zone=bursted:10m rate=10r/s;
Run Code Online (Sandbox Code Playgroud)

保持活动超时为 30 秒。换句话说,当队列已满时,每 30 秒应拒绝 2700 个请求,并显示错误代码 408。

 reset_timedout_connection on;
 client_body_timeout 10;
 send_timeout 2;
 keepalive_timeout 30;
Run Code Online (Sandbox Code Playgroud)

在高峰时段,我在日志中找不到任何请求,由于超时,该请求被 NGINX 拒绝,错误代码为 408,而请求正在队列中等待转发到 servlet 容器。仅拒绝并返回 503 错误代码,这与请求速率开销相对应。

delaying request, excess: 2958.320, by zone "bursted"
limiting requests, excess: 3000.730 by zone "bursted"
Run Code Online (Sandbox Code Playgroud)

如果此类队列中的请求挂起时间过长,NGINX 是否会通过超时拒绝这些请求?这个超时是什么?它的配置在哪里?

nginx reverse-proxy 503-error high-load http-status-code-408

2
推荐指数
1
解决办法
5771
查看次数