Articles of networking

数据包队列性能与BIND域名服务器的差异

背景: 我已经inheritance了大容量caching域名服务器环境(Redhat Enterprise Linux 5.8,IBM System x3550),其环形缓冲区设置不一致:eth0为1020,eth1为255。 eth0连接到本地数据中心的交换机1,eth1连接到交换机2。 集群中的每台服务器在eth0或eth1是否为活动接口之间进行切换,并且每个集群位于不同的区域。 环形缓冲区显然需要保持一致。 这里是事情变得更加棘手的地方:当研究为什么一些名称服务器频繁地logging“错误发送响应:未设置”错误, ISC知识库build议与出站拥塞有关时,我发现了上述问题 。 具有较高环形缓冲区设置(1020)的服务器会在ifconfig上丢弃更less的数据包(正如人们所期望的那样),但往往会以高频率logging上述错误,在我的最高负载组中,每天约20千次。 我们称之为“第一组”。 具有较低环形缓冲区(255)设置的服务器每天的入站数据包数量明显减less(同样是预期的),但是在同一个负载组中,BIND错误的实例通常为0-150。 这里也不是一个很大的谜团。 cachingDNS是recursion服务:如果某些东西没有被caching,服务器必须代表这个问题进行多个查询,直到它最终能够返回一个答案。 这是(一) – >(多出)查询关系。 修复RX环形缓冲区应该使这个数字在板子上等于一个新的值,从那里调整proc(wmem_max / wmem_default)中的内核出站networking队列可能是个好主意。 我喜欢能够评估configuration变化对性能问题的影响,因此我在写作之前编写了一份报告来收集一些数据,然后才开始进行生产更改。 以下是组1中前两台服务器的输出示例: group1-01 RX: 7166.27/sec av. TX: 7432.57/sec av. RXDROP: 7.43/sec av. unset_err: 27633 group1-02 RX: 7137.37/sec av. TX: 7398.50/sec av. RXDROP: 9.94/sec av. unset_err: 107 这些是公式。 请注意,这是一个本地脚本,不需要依赖每个服务器必须维护的shell脚本。 RXPACK=$(ssh $server "sar […]

如何检测在PHP中,如果它运行在Apache,Nginx或其他networking服务器?

首先我知道这个variables: _SERVER["SERVER_SOFTWARE"] 在我的一个应用程序中,我想从PHP脚本检查它运行的是哪个web服务器。 基本上这将是一个wordpress插件,这将有助于博主调整一些configuration。 我为Apache&Nginx创build了独立的进程,并且正在考虑将代码发布为2个不同的WordPress插件。 然后,我只是好奇,知道在PHP中是否有一个FULLPROOF方法来完美地检测Web服务器。 请考虑所有情况:: Apache,Nginx,Apache + Nginx,PHP作为Apache模块,PHP使用fastcgi,php-fpm,lighttpd,IIS等。 此外,它对我的​​应用程序来检测组合和代理的存在至关重要。 谢谢, -Rahul

启用IOAT但不能用于Linux?

在使用igb版本4.1.2的R610上,我看到了ioatdma模块加载(并加载了lsmod): ioatdma: Intel(R) QuickData Technology Driver 4.00 ioatdma 0000:00:16.0: irq 80 for MSI/MSI-X ioatdma 0000:00:16.1: irq 81 for MSI/MSI-X ioatdma 0000:00:16.2: irq 82 for MSI/MSI-X ioatdma 0000:00:16.3: irq 83 for MSI/MSI-X ioatdma 0000:00:16.4: irq 84 for MSI/MSI-X ioatdma 0000:00:16.5: irq 85 for MSI/MSI-X ioatdma 0000:00:16.6: irq 86 for MSI/MSI-X ioatdma 0000:00:16.7: irq 87 for MSI/MSI-X […]

服务器机房布线问题

我正在考虑重新布线我们的服务器机房,使其更易于展示,组织并更容易排除故障。 目前我们有4个惠普机架(现在不知道这个型号)。 我们没有build筑物的UPS,所以我们在每个机架(10K,5K)放置UPS。 这是造成了很多混乱,但我不幸的是没有办法做到这一点。 我们也没有提出地板。 我的机架之一包含防火墙,networking交换机和光纤交换机。 目前,我们正在从主交换机向其他机架中的所有服务器/ SAN(直接)运行电缆。 其他机架大多包含一个服务器,其中也有一个SAN。 这是我的问题: 是否应该在每个机架中放置配线架,并将电缆从主交换机连接到配线架? 然后将每台服务器连接到自己机架上的配线架? 正确的,我们把空调指向了机架前部的通道(我们展开时准备热通道/冷通道设置)。 我把它提出来的原因是因为我们的交换机在机架的前面,而不是在后面。 我应该把开关和配线架放在后面还是前面? 如果将配线架放在机架的前面,那么从服务器后部连接配线架的最佳方式是什么? 我不能真正地访问机架的侧面(打开面板),因为其他机架正在接触。 对于电源情况,我们目前有两个HP PDU连接到每个机架上的HP扩展条。 这些位于左侧,右侧的LAN电缆位于左侧。 我确实有一些服务器的左侧有电源,右侧有一些。 所以在左右两边有扩展条和PDU是很好的,但是我读过你应该把CAT电缆和电源分开。 我应该继续这样做吗? 如果您认为我错过了任何问题,请告诉我! 提前致谢!

如何find使用最多带宽的进程

我怎样才能find在Linux PC上使用最多带宽的进程? iftop有可能find哪个连接产生最多的带宽,但是如何find这个过程呢?

在Linux中限制传入和传出的带宽和延迟

我意识到许多类似的问题已经被问到,但到目前为止,我还没有find解决我的问题。 我有一个用于testing网站速度的虚拟linux服务器(运行Debian Squeeze),以测量所述网站的加载时间的增加和减less。 我试图限制这个服务器的带宽和延迟,以便能够接近现实世界的加载时间在网站上,但迄今为止失败了。 我特别想要的是以下几点: 设置50 ms的传入和传出延迟。 设置512 kbps的传入带宽限制。 设置4096 kbps的传出带宽限制。 我一直在阅读netem和使用tc命令,但它仍然在我头上。 我已经设法把这个命令放在一起来控制似乎工作的延迟,但我甚至不确定是否只处理传出延迟或两者: tc qdisc add dev eth0 root netem delay 50ms 任何networking大师可以帮助我吗? 编辑: 经过进一步的研究,我已经获得了一半的目标,使用这个命令,所有传出的stream量按照我的意愿行事: tc qdisc add dev eth0 root tbf rate 4.0mbit latency 50ms burst 50kb mtu 10000 但是,我仍然无法正确地遏制stream量。 我了解到,我应该使用“Ingress Policerfilter”,我一直试图用下面的命令来做这件事,玩弄不同的价值观,但没有运气。 tc qdisc add dev eth0 ingress tc filter add dev eth0 parent […]

解释ethtool合并输出

除了tx和rx是传输和接收,任何人都可以解释在ethtool -c (合并输出)中字段的含义,以及它们对合并的工作有什么影响? Coalesce parameters for eth0: Adaptive RX: off TX: off stats-block-usecs: 999936 sample-interval: 0 pkt-rate-low: 0 pkt-rate-high: 0 rx-usecs: 18 rx-frames: 12 rx-usecs-irq: 18 rx-frames-irq: 2 tx-usecs: 80 tx-frames: 20 tx-usecs-irq: 18 tx-frames-irq: 2 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: 0

光纤电缆可能太短? (dBm太高?)

我有几个交换机在同一个机架上,必须通过光纤OM2,50/125 MM,LC / LC(另外增加2个用于参考的例子是10GbE和OM3)连接。 Verizon的技术人员告诉我,他必须添加衰减器,因为激光太强,会烧毁光学器件。 我从来没有听说过,有没有这些数据库级别的最佳做法? 瞻博networking上的输出 >show interfaces diagnostics optics ge-0/2/1 Physical interface: ge-0/2/1 Laser bias current : 5.284 mA Laser output power : 0.3120 mW / -5.06 dBm Module temperature : 35 degrees C / 95 degrees F Module voltage : 3.2670 V Receiver signal average optical power : 0.2986 mW / -5.25 […]

在Linux / FreeBSD下用一个WiFi适配器连接到多个AP?

如何使用单个无线适配器同时连接到多个Wifi接入点? 我目前使用pfSense作为我的家庭路由器,我希望它可以无线连接到多个AP。 你知道是否有可能吗? 另外,我们如何在Ubuntu下做到这一点? 请给我一些光:) 有趣的笔记: pfSense以及许多路由器发行版都支持使用单个无线适配器作为多个AP,但是对于我们来说,它们是否可以充当多个客户端 Windows 7中的“虚拟Wifi适配器”显然可以做到这一点 对于有线networking,可以很容易地创build接口别名(如eth0:1),并通过ifconfig获取多个IP。 这有什么帮助吗?

Amazon EC2私有IP是否可以从EC2中运行的任何实例访问?

在这里search以前的问题之后,普遍的共识似乎是,如果我拥有的一个实例被分配了一个私有IP 10.208.34.55,那么只有其他实例我可以在那个地址find它。 看到: 如何encryption两个Amazon EC2实例之间的stream量? 那是对的吗? 因此,我可以将所有实例视为在局域网上,并authentication并信任来自10.XXX.XXX.XXX的任何计算机,因为我确信自己拥有它? 我只是想确定一下。 我发现,亚马逊似乎更感兴趣的是打蜡关于云的诗意和他们的3个字符的缩写比实际提供明确的技术文件。