Articles of 联网

Netstat -s显示(和增长)“从接收队列中删除的数据包”和“数据包在接收队列中崩溃”

我们看到以下内容: [root@primary data]# netstat -s | grep buffer ; sleep 10 ; netstat -s | grep buffer 20560 packets pruned from receive queue because of socket buffer overrun 997586 packets collapsed in receive queue due to low socket buffer 20587 packets pruned from receive queue because of socket buffer overrun 998646 packets collapsed in receive […]

如何优化Tomcat 6的SSL性能

我们在slicehost.com上的Ubuntu 2GB切片上运行Tomcat 6 JSP应用程序fwiw是Open Clinica 3.1。我可以看到,本书几乎实现了SSL。 <Connector port="8443" scheme="https" SSLEnabled="true" keystorePass="XXXXX" keystoreFile="XXXXX" maxKeepAliveRequests="0" sessionCacheSize="0" sessionTimeout="0" compression="on" maxThreads="500" clientAuth="false" sslProtocol="TLS" /> 问题在于Open Clinica Java应用程序执行大量HTTP请求来构build页面 – 使用Chrome开发人员工具,我可以看到典型页面的70-80个请求。 当您为每个请求添加SSL握手时,额外的networking延迟只会杀死应用程序响应时间。 FWIW – 客户端用户位于以色列,欧洲和美国 – 所以在用户旁边运行本地服务器的选项并不是真的可行。 我知道,由于slicehose是在美国 – 以色列的networking延迟很差,但我觉得,由于服务器的HTTP性能是可以接受的 – 我们应该能够做得更好。 为了尽量减lessssl握手 – 我定义了无限的sessionCacheSize和SessionTimeout,可以在上面的连接器定义中看到 但是,当我在客户端运行ssldump时,我仍然看到很多握手进行,似乎表明Tomcat实际上忽略了这些参数 服务器没有压力 – 与5个同时用户,有大约100MB的可用内存和几乎没有交换。

使用10GB内存和50%连接的100%CPU的Haproxy

在Ubuntu 14.04 x64服​​务器上,Haproxy使用3.3 GB内存和6.8 GB交换,同时处理52k连接。 在大多数stream量被redirect到另一个haproxy框之前,CPU使用率也保持在100%。 stream量主要是连接的TCP连接。 pid = 3185 (process #1, nbproc = 1) uptime = 0d 6h14m21s system limits: memmax = unlimited; ulimit-n = 524341 maxsock = 524341; maxconn = 262144; maxpipes = 0 current conns = 54303; current pipes = 0/0 Running tasks: 1/54336 有人注意到,在大约50k的连接上,内存使用量猛增。 ulimit -n设置为1048576 。 问题:内存使用量是否exception高? 我们如何减less内存消耗? 我还从另一个问题读了下面的内容,是否相关? 我应该如何检查TCP设置是否足够(对于持续的TCP连接),以免导致内存使用量的巨大增加? […]

页面加载时间是否相关?

以此(ServerFault)页面为例。 它有大约20个元素。 当最后一个被加载时,该页面被认为是“加载”的 – 但不是之前。 这当然是我们的testing服务所使用的协议(它是提供这种服务的一小部分知名供应商之一)。 显然,这种方法基于一个明确的,明确的终点 – 因此很容易应用w /伴随的可靠性。 我认为这也是stream行的Firefox插件“YSlow”使用的指标。 对于我的雇主的网站,几乎总是最后加载的项目是跟踪代码,跟踪像素等,所以从用户的angular度来看 – 他们的感觉 – 页面在实际加载之前被“加载”根据我们testing服务所使用的标准(15-20%是粗略估计)。 我相信我不是第一个考虑这个问题的人,也不是第一个怀疑它是否会导致微观优化而忽略整个系统级或用户感知性能的人。 所以我的问题是,还有其他更实用(但仍然相当准确)的页面加载时间的措施?

简单的互联网连接正常运行时间

我只需要监视一次互联网连接的频率以及多长时间。 我只是写了一点python每分钟8.8.8.8,但我认为必须有一个实用程序这样做 – 并产生一个很好的报告 但是,这是一个简单的SOHOtypes连接的分支机构,没有SNMP路由器,仅Windows,必须在不专用于该任务的台式机上运行。 不需要知道容量,ping等待时间或任何事情 – 只需要几秒钟的时间就可以向有线公司报告。

Debian / Ubuntu中的静态IPv6地址广告和IPv6自动configuration

我有一个通过IPv6自动configuration广告IPv6地址的networking。 为了允许DNS查找并拥有很多IP地址,我们通过/ etc / network / interfaces设置“静态”IPv6地址: auto eth0 iface eth0 inet dhcp iface eth0 inet6 static address a:b:c:d:e::f netmask 64 无论何时我们现在通过IPv6连接Linux使用IPv6自动configuration地址: a:b:c:d:21d:60ff:fe4a:479 而不是静态的IPv6地址: a:b:c:d:e::f 另一端的服务器只能看到自动configuration地址。 有没有办法强制Linux(Debian / Ubuntu)的传出数据包使用静态地址? 这对反向DNS和防火墙设置特别有用。 我不想禁用IPv6自动configuration,因为我无法控制路由器通告的设置。

链接closures时,autossh不会终止ssh

我已经开始了我的autossh 30秒的投票时间: AUTOSSH_POLL=30 AUTOSSH_LOGLEVEL=7 autossh -M 0 -f -S none -f -N -L localhost:34567:localhost:6543 user1@server1 它工作正常: Sep 5 12:26:44 serverA autossh[20935]: check on child 23084 Sep 5 12:26:44 serverA autossh[20935]: set alarm for 30 secs 但是,如果我物理删除networking电缆,意味着隧道不能再工作,autossh不杀死SSH守护进程。 为什么? 我明白,autossh不能做任何事情,如果链接closures,但在我看来,它应该尝试做到以下几点: validation孩子的ssh过程( check on child … ) validation远端! (通过隧道的ping式操作) 意识到隧道已经closures了 停止ssh进程 尝试再次创build隧道 意识到它不工作,并build立一个(指数增长?)计时器,以再次检查 这就是为什么我正在运行autossh:如果隧道出现问题(无论是软件还是硬件问题),它应该尝试重新启动它。 相反,它只是在等待ssh进程死掉。 不应该试图重新启动它,即使没有重build连接的希望吗? 什么样的检查正在做autossh? 只需确认ssh已启动并正在运行? […]

作为一名寻求实践经验的学生,我应该如何configuration我的testing实验室以准确反映业务环境?

我离开我的BA IT一个class,我上了几门综合IT课。 在所有的书中,我发现只有两本书是非常有益的,所以我试图获得经验。 我想build立一个既有无线也有有线客户端,一台打印机,一台笔记本电脑,一台台式机和一台服务器的小型testingnetworking(我希望所有计算机都可以使用2个1TB的数据驱动器)。 我应该怎样做才能反映一个小企业如何build立起来,这样我才能有一些有意义的经验。

VirtualBox桥接适配器可以ping但不能curl

有一个运行Ubuntu Server 12.04.2的微妙的服务器。 这个服务器有4个可用的IP:A,B,C,D。服务器本身就是A. 服务器现在运行两个VirtualBox来宾,都使用“桥接适配器”networkingtypes。 一个guest虚拟机运行Windows Server 2003,使用IP地址B.另一个运行Arch Linux(Live CD),使用IP地址C. 在Ubuntu主机,networking是好的。 我可以apt-get和下载速度是好的。 在Windows客户端中,我可以通过cmd.exe ping www.google.com ,但无法访问IE6中的www.google.com。 在Arch Linux guest中,我可以用zsh ping www.google.com ,但curl -v www.google.com不起作用。 我也可以telnet www.google.com 80 ,这意味着至less80 / tcp和53 / udp端口正在工作。 (实际上服务器上没有iptables防火墙。) 在Arch Linux的客人,我甚至可以ssh到另一台机器! (使用标准22 / TCP) 在Arch Linux的客人,我尝试wget一些https网站,它卡在“连接到XXX.XXX.XXX.XXX:443 …连接”。 我已经尝试更改虚拟机的–nictype1设置和/或在来宾操作系统中设置不同的MTU,但问题仍然存在。 谁能帮我? 附加信息:将“桥接适配器”更改为“NAT”时,客户机操作系统可能会curl www.google.com 。 一切安好。 但是,因为我需要公共IP,所以我必须使用“桥接适配器”作为来宾操作系统。 附加信息2:在具有“桥接适配器”的客户机操作系统中,我可以使用22 / tcp来ssh其他主机,我可以使用53 / udp dig某个域,但是我不能使用80 / […]

我们如何在傀儡环境中实现自动联网?

我们的基础设施:我们运行一个约250个节点的木偶大师(大约100个硬件服务器)。 节点本身的操作系统完全被木偶化。 现在我们正在考虑将这个木偶设置扩展到以下领域: IP / DHCPpipe理 APCconfiguration 交换机configuration(通过SNMP,我们有Arista交换机) 库存pipe理(服务器在哪里?机器保修多久? 有没有一个软件(开源或无所谓),让我们实现这一目标? 我想它有一个关系数据模式,如server或switch ,可以通过Web UI填写。 然后,对于这四个点中的每一个,都有脚本从表中提取数据并将其推送到设备。 对,为什么我们不为这个傀儡呢? 我们很乐意,因为我们想要在一个地方有所有的configuration,但… 1 + 2 可以在傀儡中完成,但是250个节点看起来像是一个大傀儡地狱的地狱。 另外,我们希望通过puppet领class很快添加虚拟机configuration,所以“IP保留系统”需要“被动”,因此IMO需要在傀儡之外。 3可能是不可能的,因为交换机还没有准备好傀儡, 当我们在傀儡的节点层上面添加一个“硬件”层时,4可能与puppet是可能的 。 有什么想法吗?