Articles of 性能

networking吞吐量问题(ARP相关)

我工作的小大学有一些非常奇怪的networking问题。 我在这里寻找任何build议或想法。 我们在夏天过得很好,但是在秋季学生回到校园后的几天,麻烦就开始了。 症状 主要症状是,互联网接入将起作用,但速度非常缓慢,经常到达超时。 例如,Speedtest.net的典型结果将返回0.4Mbps的下载速度,但允许3到8Mbps的上传速度。 较less的症状可能包括将数据传输到我们的文件服务器或从我们的文件服务器传输数据的性能严重受限,甚至在某些情况下无法login到计算机(无法访问域控制器)。 这个问题跨越了多个vlan,并且几乎在我们运行的每个vlan上都实现了设备。 该问题不会影响networking上的所有机器。 一台不受影响的机器通常会从speedtest.net下载至less 11Mbps的数据,而且这个数字可能要远远高于当时较大的校园stream量模式。 在更大的问题上有一个变化。 我们有一个vlan,用户根本无法login几乎所有的机器。 IT人员将使用本地pipe理员帐户(或在某些情况下caching的凭据)login,并从那里释放/更新或ping通网关将使机器工作…一段时间。 使这个问题复杂化的是这个vlan覆盖了我们的计算机实验室,它使用称为Deep Freeze的软件在重新启动后完全重置硬盘。 它可能只是相同的问题,因为机器上陈旧的数据,并没有永久改变低层次的信息几个星期不同的显示不同。 然而,我们可以通过创build一个新的vlan并将实验室迁移到新的vlan批发来解决这个问题。 Instigations 最终我们注意到受影响的机器都有近期的dhcp租赁。 我们可以通过观察一个DHCP租约续约的时间来预测一台机器何时变得“慢”。 我们在设置testingvlan的租用时间非常短的时候玩过,但是所有这些都消除了我们预测机器什么时候会变慢的能力。 具有静态IP的机器几乎一直正常工作。 手动释放/更新地址不会导致机器变慢。 事实上,在某些情况下,这个过程已经固定了一台机器。 但大多数情况下,这并没有帮助。 我们也注意到像笔记本电脑这样的移动设备在跨越新的虚拟机时可能会变得很慢。 校园内的无线networking被划分为“区域”,每个区域映射到一小组build筑物。 搬到一个新的build筑可以把你放在一个区域,从而使你得到一个新的地址。 从睡眠模式恢复的机器也很可能很慢。 缓解措施 有时(但并非总是),清除受影响机器上的ARPcaching将使其再次正常工作。 如前所述,释放/更新本地机器的IP地址可以修复该机器,但不能保证。 屏蔽默认网关有时也可以帮助一台慢速机器。 似乎最有助于缓解这个问题的是清除核心三层交换机上的ARPcaching。 此交换机用于我们的dhcp系统,作为所有vlan上的默认网关,并处理vlan间路由。 该型号是3Com 4900SX。 为了缓解这个问题,我们把交换机上的高速caching超时设置到最低的时间,但是没有帮助。 我还将每隔几分钟运行一次的脚本自动连接到交换机并重置caching。 不幸的是,这并不总是奏效,甚至可能导致一些机器在很短的时间内处于缓慢的状态(尽pipe这些似乎在几分钟后自行纠正)。 我们目前有一个每10分钟运行一次的计划任务,迫使核心交换机清除它的ARPcaching,但这远非完美或可取的。 再生产 我们现在有一台可以随意强制进入缓慢状态的testing机器。 它连接到一个端口为每个vlan设置的交换机。 我们通过连接到不同的vlan来使机器变慢,并且在新的连接或两个连接之后,它会变慢。 在本节中也值得注意的是,这在之前的条件开始之前就已经发生了,但过去几天之后,这个问题已经消失了。 它在我们有机会做很多诊断工作之前就已经解决了,所以为什么我们这次把它拖到这个时候这么长时间呢? 预计这将是一个短暂的情况。 其他因素 值得一提的是,去年我们有大约六台交换机彻底失败。 这些主要是2003/2004年代的3Coms(大多是4200年代),几乎同时进行。 他们应该仍然在保修范围内,购买惠普已经使服务有些困难。 主要是在电源失败的情况下,但是在一些情况下,我们使用了主板故障的交换机的电源,使电源故障的交换机恢复正常。 我们现在有四台交换机中的三台交换机都有UPS设备,但是两年半前我就没有这种情况。 […]

是否有使用Prelink的一点?

多年来,我使用各种各样的linux操作系统,已经进入了使用prelink的习惯,以加快应用程序的加载速度。 但是,每次重新安装包时,运行预链接的好处都会被否定,因为它,它的所有依赖项及其依赖项都需要重新链接。 这种预先链接可能会导致多个问题,其中之一是二进制MD5无效,这对于比较MD5与上游修订相比是有问题的,或者使用MD5来确定二进制文件是否已经改变,因此不希望在去除软件包时被清除。 最近,电脑已经快了很多,利润预收率现在几乎不值得注意。 使用前链还是一个理性的概念,还是可以随便丢弃,留下来作为过去的时代?

磁盘IOPS和sar tps之间的关系

我试图估计在32位CentOS 6.2上运行的应用程序的IOPS要求。 我开始在一台装有SATA磁盘的机器上进行一些测量,我对由sar测量的IOPS和tps之间的差异感到困惑。 据维基百科 SATA磁盘应该执行75-100 IOPS。 Ioping实用程序似乎证实了这个随机访问testing: # ./ioping -R /dev/sda — /dev/sda (device 931.0 Gb) ioping statistics — 279 requests completed in 3.0 s, 92 iops, 371.3 kb/s min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms 但sar生成的tps值要高得多(/ dev / sda): # iostat 1 avg-cpu: %user %nice %system %iowait %steal […]

在ext3 / 4上selectfs块大小的最佳实践?

我从来没有真正支付块大小的注意力,但显然有select以外的东西可以有其他的好处。 我正在寻找一个很好的“最佳实践”论文select块大小。 而且,在LVM之上使用时,性能上的收益或重要性是否会被否定? TIA

针对非常差的iSCSI / NFS性能的故障排除策略

我们有一个新的Synology RS3412RPxs,可以为三个Windows 2008 R2盒子和NFS提供iSCSI目标到一个OpenBSD 5.0盒子。 使用sshlogin到RS3412,使用dd和各种数据块读取和写入小文件和6GB文件,都可以获得出色的磁盘I / O性能。 在iSCSI / NFS客户端上使用dd或iometer,我们可以达到20Mbps(这不是一个错误的20 Mbps)。 我们有点希望能够更好地使用Synology中的多个Gbit网卡。 我已经validation交换机和网卡端口configuration设置为千兆,而不是自动协商。 我们尝试了使用和没有Jumboframe没有区别。 我已经用pingvalidation了MTU目前是9000.已经部署了两个固件升级。 我将尝试iSCSI目标和启动器之间的直接链接以排除交换机问题,但是我的其他选项是什么? 如果我打破wireshark / tcpdump,我该找什么?

消耗所有I / O的jbd2 / dm-0-8

什么是jbd2 / dm-0-8,为什么它消耗我所有的I / O使用,并导致I / O等待? 反正有禁用这个? Bonnie ++结果: http : //pastebin.com/iQCWP1qp $ sudo hdparm -t /dev/sda1 /dev/sda1: Timing buffered disk reads: 108 MB in 3.02 seconds = 35.71 MB/sec

在300Mbit(14%)的极端UDP数据包丢失,但TCP> 800Mbit w / o重新传输

我有一个我用作iperf3客户端的linux系统,testing了2个与Broadcom BCM5721,1Gb适配器(2个端口,但只有1个用于testing)相同的Windows 2012 R2服务器盒。 所有机器都通过一个1Gb交换机连接。 在例如300MbittestingUDP iperf3 -uZVc 192.168.30.161 -b300m -t5 –get-server-output -l8192 导致所有数据包丢失的14%(对于硬件完全相同的其他服务器机箱,但较旧的NIC驱动程序,损失大约为2%),但即使在50Mbit的时候也会出现丢失,尽pipe不太严重。 使用等效设置的TCP性能: iperf3 -ZVc 192.168.30.161 -t5 –get-server-output -l8192 产生800Mbit以北的传输速度,没有报告重传。 服务器始终使用以下选项启动: iperf3 -sB192.168.30.161 谁应该责怪? 在Linux客户端框(硬件?驱动程序?设置?)? 编辑:我刚刚从一个Windows服务器框到另一个testing,在300Mbit的UDP数据包丢失更高,在22% Windows服务器盒(硬件?驱动程序?设置?)? 连接所有testing机器的(单个)开关? 电缆? 编辑: 现在我尝试了另一个方向:Windows – > Linux。 结果:数据包丢失始终为0 ,吞吐量最大值为零 840Mbit为-l8192 ,即分段的IP数据包 250Mbit为-l1472 ,未分片的IP数据包 我想stream量控制上限吞吐量,并防止数据包丢失。 特别是后者,没有碎片的数字远远没有达到TCP吞吐量(不分片的TCP产生与碎片化的TCP类似的数字),但是在数据包丢失方面,它比Linux – > Windows有了无限的巨大改进。 以及如何找出? 我确实按照服务器上的驱动程序设置的通常build议来最大限度地提高性能,并尝试启用/禁用/最大化/最小化/更改 中断审核 stream量控制 接收缓冲区 RSS networking唤醒 所有卸载function都已启用。 […]

测量和基准安装的NFS共享上文件访问的速度和延迟

我有一个挂载一些NFS共享的Linux Centos系统,当从这个共享中读取和写入文件时,我可以使用什么技术来测量I / O速度/延迟/速率? 这种技术是否也可以应用于本地硬盘进行比较?

Nginx自动缩小html输出

有没有人知道一种方法来获取nginx(或任何其他方法)在飞行中缩小html输出? 这对我来说似乎很简单,可以减less几个kb,并帮助加快网站。

IO等待造成如此之多的减速(在99%IO的EXT4 JDB2)在Mysql提交期间

我正在写一个索引器,使用python,索引文件并将它们插入到数据库中。在它是单个进程之前,但是现在我使用4个并行进程进行多处理。每次文本提取之后,它将插入数据库并进行提交。 现在它遇到IO问题,主要IO问题不是我的过程,而是EXT4的jdb2,journeling系统。 在每个MySQL提交中,等待IO的时间为99.99%,并等待CPU。 我看到很多在互联网上有这个问题,他们的解决scheme是安装使用barrier = 0。 这将完全禁用日记? 我的服务器有UPS和诱惑去做,我应该吗?