Questions tagged «performance»

有关服务器硬件和软件性能或网络性能的问题。

4
FreeBSD性能调整:Sysctl参数,loader.conf,内核
我想通过sysctl.conf/ loader.conf / KENCONF/等分享关于调优FreeBSD的知识。它最初是基于Igor Sysoev(nginx的作者)的演讲,内容涉及FreeBSD调优多达100,000-200,000个活动连接。较新版本的FreeBSD可以处理更多功能。 调整适用于FreeBSD7-FreeBSD-CURRENT。由于7.2 amd64,其中的一些默认情况下调整良好。在7.0之前的版本中,其中一些仅是引导(通过设置 /boot/loader.conf)或根本不存在。 sysctl.conf: # No zero mapping feature # May break wine # (There are also reports about broken samba3) #security.bsd.map_at_zero=0 # Servers with threading software apache2 / Pound may want to rise following sysctl #kern.threads.max_threads_per_proc=4096 # Max backlog size # Note Application can …

13
网络现在比磁盘快吗?
这是一个软件设计问题 我曾经为速度制定以下规则 cache memory > memory > disk > network 每个步骤是上一步的5到10倍(例如,高速缓存比主内存快10倍)。 现在,似乎千兆以太网的延迟小于本地磁盘。因此,也许读取大型远程内存数据库的操作要比本地磁盘读取的速度更快。对于像我这样的老计时器来说,这感觉像是异端。(我只是花了一些时间在磁盘上建立本地缓存,以避免必须进行网络往返-因此是我的问题) 在这个领域有人有经验/数字/建议吗? 是的,我知道找出答案的唯一真正方法是构建和衡量,但是我想知道一般规则。 编辑: 这是来自最佳答案的有趣数据: 同一数据中心内的往返行程500,000 ns 磁盘搜寻10,000,000 ns 这让我震惊。我的思维模型是网络往返本来就很慢。而且它不是-它比磁盘“往返”快10倍。 杰夫·阿特伍德(Jeff attwood)在主题http://blog.codinghorror.com/the-infinite-space-between-words/上发布了此v好博客
126 performance  io 

8
硬件SATA RAID-10阵列中的单个磁盘如何使整个阵列停止运转?
序幕: 我是一个代码猴子,越来越多地为我的小公司承担SysAdmin的职责。我的代码是我们的产品,越来越多的我们提供与SaaS相同的应用程序。 大约18个月前,我将服务器从以高级托管为中心的供应商转移到了IV级数据中心的准系统机架推动器中。(实际上是在街对面。)这项工作自己做得更多—诸如网络,存储和监视之类的事情。 作为一项重大举措,为了替代托管公司租赁的直接连接存储,我构建了一个9TB两节点NAS,该NAS基于SuperMicro机箱,3ware RAID卡,Ubuntu 10.04,两打SATA磁盘,DRBD和。这一切都在三篇博客文章中得到了详尽记录:建立和测试新的9TB SATA RAID10 NFSv4 NAS:第一部分,第二部分和第三部分。 我们还建立了一个默认监视系统。最近,我们一直在添加越来越多的数据点,例如SMART值。 没有ServerFault 令人敬畏的 boffins , 我无法完成所有这些工作。这是一次有趣的教育经历。我的老板很高兴(我们节省了$ 5的装箱费),我们的客户很高兴(存储成本降低了),我很开心(乐趣,有趣,有趣)。 直到昨天 中断与恢复: 午餐后的一段时间,我们开始从我们的应用程序(按需流媒体CMS)中收到有关性能下降的报告。大约在同一时间,我们的仙人掌监测系统发送了大量电子邮件。更具说服力的警报之一是iostat等待图。 性能变得如此差,以致Pingdom开始发送“服务器停机”通知。总体负载适中,没有流量高峰。 登录到NAS的NFS客户端的应用程序服务器后,我确认几乎所有内容都经历了高度间歇性的IO等待时间。当我跳到主要NAS节点本身时,在尝试导航问题阵列的文件系统时,同样的延迟显而易见。 是时候进行故障转移了,一切顺利。在20分钟之内,所有内容都被确认可以正常运行。 事后: 在任何系统故障后,我都会进行事后检查以确定故障原因。我要做的第一件事是将ssh重新插入框中并开始查看日志。完全离线。前往数据中心的时间。硬件重置,备份并运行。 在/var/syslog我发现这个可怕的条目: Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: …

27
如何在两个服务器之间快速复制大量文件
我需要在两个服务之间传送大量的mp3(Ubuntu)。我所说的巨大是指大约一百万个文件,平均30万个文件。我尝试过,scp但要花大约一周的时间。(大约500 KB / s)如果通过HTTP传输单个文件,则我的传输速度为9-10 MB / s,但我不知道如何传输所有文件。 有没有办法快速转移所有人?

8
什么限制了Linux服务器上的最大连接数?
哪些内核参数或其他设置控制可在Linux服务器上打开的TCP套接字的最大数量?允许更多连接的权衡是什么? 我注意到在使用ab对Apache服务器进行负载测试时,最大化服务器上​​的打开连接非常容易。如果您取消了ab的-k选项,该选项允许连接重用,并使其发送大约10,000个以上的请求,则Apache会处理大约11,000个左右的请求,然后暂停60秒钟。查看netstat输出显示TIME_WAIT状态下有11,000个连接。显然,这很正常。出于TCP可靠性的原因,即使在客户端完成连接后,连接也会保持默认打开状态60秒。 看来这是对服务器进行DoS的一种简便方法,我想知道通常的调整和预防措施是什么。 这是我的测试输出: # ab -c 5 -n 50000 http://localhost/ This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 5000 requests Completed 10000 requests apr_poll: The timeout specified has …

4
在Xen下,为什么TCP accept()性能如此糟糕?
在Xen下,我的服务器可以接受()新的传入TCP连接的速率确实很差。在裸机硬件上进行的相同测试显示速度提高了3-5倍。 在Xen下怎么这么糟糕? 您可以调整Xen来提高新TCP连接的性能吗? 是否有其他虚拟化平台更适合此类用例? 背景 最近,我一直在研究在Xen下运行的内部开发Java服务器的一些性能瓶颈。服务器使用HTTP并回答简单的TCP连接/请求/响应/断开连接呼叫。 但是,即使在向服务器发送大量流量时,它每秒也不能接受超过7000个TCP连接(在8核EC2实例上,运行Xen的c1.xlarge)。在测试过程中,服务器还表现出一种奇怪的行为,其中一个内核(不一定是cpu 0)的负载超过80%,而其他内核几乎保持空闲状态。这使我认为问题与内核/底层虚拟化有关。 在裸机,非虚拟平台上测试相同的方案时,我得到的测试结果显示,TCP accept()的速率超过35000 /秒。这是在运行Ubuntu的Core i5 4核心计算机上,所有核心几乎完全饱和。在我看来,这种数字是正确的。 再次在Xen实例上,我尝试启用/调整sysctl.conf中几乎所有的设置。包括启用“ 接收数据包控制”和“ 接收流控制”以及将线程/进程固定到CPU,但没有明显的收获。 我知道运行虚拟化时性能会下降。但是到这个程度呢?较慢的裸机服务器胜过虚拟机。8核心减少了5倍? Xen确实是这种预期的行为吗? 您可以调整Xen来提高新TCP连接的性能吗? 是否有其他虚拟化平台更适合此类用例? 重现此行为 在进一步调查并查明问题时,我发现netperf性能测试工具可以模拟我遇到的类似情况。使用netperf的TCP_CRR测试,我从不同的服务器(虚拟服务器和非虚拟服务器)收集了各种报告。如果您想对某些发现做出贡献或查找我当前的报告,请参阅https://gist.github.com/985475 我怎么知道这个问题不是由于软件写得不好? 该服务器已经在裸机硬件上进行了测试,并且几乎饱和了所有可用内核。 使用保持活动的TCP连接时,问题消失了。 为什么这很重要? 在ESN(我的雇主),我是Beaconpush的项目负责人,Beaconpush是用Java编写的Comet / Web Socket服务器。尽管它的性能非常好,并且在最佳条件下几乎可以饱和分配给它的所有带宽,但是它仍然受到新TCP连接建立速度的限制。也就是说,如果用户频繁流失,那么用户来回频繁,则必须建立/删除许多TCP连接。我们尝试减轻这种影响,以使连接尽可能长寿。但是最后,accept()性能才是使我们的内核无法旋转的原因,我们对此并不满意。 更新1 有人将此问题发布到Hacker News,那里也有一些问题/答案。但是,我将不断努力,以我发现的信息来使这个问题保持最新。 硬件/平台我已经在以下方面进行了测试: 实例类型为c1.xlarge(8核,7 GB RAM)和cc1.4xlarge(2x Intel Xeon X5570,23GB RAM)的EC2。使用的AMI分别为ami-08f40561和ami-1cad5275。有人还指出,“安全组”(即EC2防火墙)也可能会受到影响。但是对于此测试方案,我仅在localhost上尝试过消除此类外部因素。我听到的另一个谣言是,EC2实例的推送速度不能超过100k PPS。 两个运行Xen的私有虚拟服务器。在测试之前,一个负载为零,但没有影响。 Rackspace的专用Xen服务器专用。大约有相同的结果。 我正在重新运行这些测试,并在https://gist.github.com/985475上填写报告。如果您想提供帮助,请贡献您的数量。这很容易! (行动计划已移至单独的综合答案中)

6
平均负载高,CPU使用率低-为什么?
我们正在Web应用程序上看到巨大的性能问题,并且正在尝试寻找瓶颈。我不是系统管理员,所以有些东西我不太了解。一些基本调查显示,CPU处于空闲状态,大量内存可用,没有交换,没有I / O,但是平均负载很高。 该服务器上的软件堆栈如下所示: Solaris 10 Java 1.6 WebLogic 10.3.5(8个域) 在该服务器上运行的应用程序与另一台服务器上的Oracle数据库进行通信。 该服务器具有32GB的RAM和10个CPU(我认为)。 跑步prstat -Z给这样的东西: PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 3836 ducm0101 2119M 2074M cpu348 58 0 8:41:56 0.5% java/225 24196 ducm0101 1974M 1910M sleep 59 0 4:04:33 0.4% java/209 6765 ducm0102 1580M 1513M cpu330 1 …

6
软件与硬件RAID性能和缓存使用情况
我已经阅读了很多有关RAID控制器/设置的文章,其中有很多内容是没有缓存的硬件控制器如何提供与软件RAID相同的性能。真的是这样吗? 我一直认为,即使没有缓存,硬件RAID卡也会提供更好的性能。我的意思是,您具有专用的硬件来执行任务。如果真是这样,获得没有缓存的RAID卡有什么好处,例如LSI 9341-4i并不便宜。 另外,如果仅通过高速缓存才能获得性能提升,是否有一种高速缓存配置可立即写入磁盘,但将数据保留在高速缓存中以进行读取操作,从而使BBU不再成为优先事项?
73 raid  performance  lsi 

10
如何[礼貌地?]告诉软件供应商他们不知道他们在说什么
但这不是一个技术问题,而是一个有效的问题。场景: HP ProLiant DL380 Gen 8,带有2个8核Xeon E5-2667 CPU和256GB RAM,运行ESXi 5.5。给定供应商系统的八个VM。用于测试的四个VM,用于生产的四个VM。每个环境中的四个服务器执行不同的功能,例如:Web服务器,主应用程序服务器,OLAP DB服务器和SQL DB服务器。 已配置CPU份额,以阻止测试环境影响生产。所有存储在SAN上。 我们对性能有一些疑问,供应商坚持认为我们需要为生产系统提供更多的内存和vCPU。但是,从vCenter可以清楚地看到,现有分配没有被触及,例如:主应用程序服务器上CPU使用率的每月视图徘徊在8%左右,奇数峰值高达30%。峰值往往与备份软件的启动相吻合。 RAM上的情况与此类似-服务器上的最高利用率约为35%。 因此,我们一直在使用Process Monitor(Microsoft SysInternals)和Wireshark进行一些挖掘,我们建议该供应商首先对它们进行一些TNS调整。但是,这不是重点。 我的问题是:我们如何让他们确认我们发送给他们的VMware统计数据足以证明更多的RAM / vCPU无效? -更新2014年12月7日- 有趣的一周。我们的IT管理层表示,我们应该更改VM分配,现在我们正在等待业务用户的一些停机时间。奇怪的是,业务用户说应用程序的某些方面运行缓慢(与我所不知道的相比),但是当我们需要关闭系统时,他们会“让我们知道”(抱怨) ,发牢骚!)。 顺便说一句,系统的“慢”方面显然不是HTTP(S)元素,即:大多数用户使用的“瘦应用” 。听起来像是主要财务机构使用的“胖客户端”安装,显然“速度较慢”。这意味着我们现在正在调查中考虑客户端和客户端-服务器的交互。 由于该问题的最初目的是寻求帮助,是沿着“戳”路线,还是只是进行更改,而我们现在正在进行更改,因此,我将使用longneck的答案将其关闭。 谢谢大家的意见; 像往常一样,serverfault不仅仅是一个论坛-就像心理学家的沙发:-)

12
虚拟机是否比基础物理机慢?
这个问题很笼统,但是最具体地说,我想知道运行Ubuntu Enterprise Cloud的虚拟机是否比没有任何虚拟化功能的同一物理机慢。多少(1%,5%,10%)? 有没有人衡量Web服务器或数据库服务器(虚拟VS物理)的性能差异? 如果取决于配置,让我们想象一下运行64位ubuntu企业服务器的两个四核处理器,12 GB内存和一堆SSD磁盘。最重要的是,只有1个虚拟机允许使用所有可用资源。



5
如何检查每个进程的磁盘I / O利用率
我在Linux系统停顿时遇到问题,我发现sysstat / sar报告磁盘I / O利用率,平均服务时间以及系统停顿时的平均等待时间的峰值。 我如何确定下一次发生这些峰值的是哪个过程? 可能与sar有关(即:我可以从已记录的sar文件中找到此信息吗? 输出“ sar -d”,系统停顿发生在12.58-13.01pm左右。 12:40:01 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 12:40:01 dev8-0 11.57 0.11 710.08 61.36 0.01 0.97 0.37 0.43 12:45:01 dev8-0 13.36 0.00 972.93 72.82 0.01 1.00 0.32 0.43 12:50:01 dev8-0 13.55 0.03 616.56 45.49 0.01 0.70 0.35 0.47 …

6
应该使用哪个PHP(操作码)缓存,为什么?
我一直在听一些PHP(操作码)缓存,例如-APC,XCache,Memcache,eAccelerator等。 但是我永远无法弄清楚如何选择一个。除了性能优势(缓存系统应该提供的性能优势)之外,其他因素也应引起关注。 就像为什么您会说X缓存系统胜于Y?我不太担心相对性能的提高。任何两个系统之间的细微差别都不会产生太大的影响。 如果无法对我的问题有一个通用的答案,那么这里没有几个提示。我将专用VPS与Mediatemple一起使用(具有root访问权限)。RAM是512 MB(物理)+ 400MB(交换)我担心WordPress及其表亲WordPress-MU和BuddyPress。我们90%的代码/网站属于WordPress系列。 在此先感谢您的帮助。

4
为什么我的rsync这么慢?
我的笔记本电脑和工作站都连接到千兆交换机。两者都在运行Linux。但是,当我使用复制文件时rsync,它的性能很差。 我得到约22 MB / s。从理论上讲我不应该达到125 MB / s的速度吗?这里的限制因素是什么? 编辑:我进行了一些实验。 在笔记本电脑上写性能 便携式计算机具有带全盘加密功能的xfs文件系统。它使用aes-cbc-essiv:sha256具有256位密钥长度的密码模式。磁盘写入性能为58.8 MB / s。 iblue@nerdpol:~$ LANG=C dd if=/dev/zero of=test.img bs=1M count=1024 1073741824 Bytes (1.1 GB) copied, 18.2735 s, 58.8 MB/s 在工作站上读取性能 我复制的文件位于5个HDD上的软件RAID-5上。在raid之上是lvm。卷本身使用相同的密码加密。该工作站具有FX-8150 CPU,该CPU具有本机AES-NI指令集,可加快加密速度。磁盘读取性能为256 MB / s(缓存很冷)。 iblue@raven:/mnt/bytemachine/imgs$ dd if=backup-1333796266.tar.bz2 of=/dev/null bs=1M 10213172008 bytes (10 GB) copied, 39.8882 s, 256 MB/s …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.