Articles of 性能

如何理解Apache正在忙于什么?

我有一个Linux服务器上的Apache,并在其中的一个Python脚本(Trac,更具体)。 最小的stream量消耗了99%的CPU,平均负载高于3.00。 是否有可能了解它在那里做什么 – 光盘,networking,哪些文件等? 有些工具可以分析一个特定的过程是忙于什么? 编辑: strace apache2 -X给我看了很多内容相似的行: stat("/home/foo/apache/conf.d/trac-XXX.conf", {st_mode=S_IFREG|0644, st_size=1014, …}) = 0 open("/home/foo/apache/conf.d/trac-XXX.conf", O_RDONLY|O_CLOEXEC) = 6 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a93021000 fstat(6, {st_mode=S_IFREG|0644, st_size=1014, …}) = 0 mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a9301e000 read(6, "contents of my trac-XXX.conf"…, 4096) = 1014 read(6, "", 4096) = 0 […]

识别长时间运行或缓慢的PHP脚本

我有一个Web服务器,每天在yougetsignal.com上访问约25K次。 有时候这个网站感觉有点呆滞。 我用php5-fpm在nginx上托pipe它。 有没有办法让我看到所有来到网站的长时间运行的请求的列表? 我很乐意获得PHP正在处理的所有活动请求的实时列表,以及它们运行的​​时间。 有点像顶级,但只是为Web服务器。 这会让我知道要求多久,哪个脚本是罪魁祸首。 任何人有什么想法,我怎么能做到这一点?

请解释我的fio结果 – 是O_SYNC | O_DIRECT在linux上行为不当?

我很想知道我们的一个储物盒可能会出现什么问题。 用一个简单的fio脚本,我使用bs = 1M和直接= 1来testing随机写入。 SSD是连接到LSI HBA(3Gbit / s端口)的Samsung 840pro。 这是我在FreeBSD 9.1下得到的结果: WRITE: io=13169MB, aggrb=224743KB/s, minb=224743KB/s, maxb=224743KB/s, mint=60002msec, maxt=60002msec 无论同步设置为0还是1。 在linux上,这是sync = 0的结果: WRITE: io=14828MB, aggrb=253060KB/s, minb=253060KB/s, maxb=253060KB/s, mint=60001msec, maxt=60001msec 并且同步= 1: WRITE: io=6360.0MB, aggrb=108542KB/s, minb=108542KB/s, maxb=108542KB/s, mint=60001msec, maxt=60001msec 我的理解是,因为我在原始块设备上运行,所以O_SYNC不应该有任何区别 – 没有文件系统,任何屏障,写入和驱动器之间的任何东西。 尤其是在设置了O_DIRECT | O_SYNC的情况下。 有任何想法吗? 作为参考,这里是我正在testing的fio脚本: [global] bs=1M ioengine=sync iodepth=4 size=16g direct=1 runtime=60 filename=/dev/sdh […]

在生产服务器上有两个不同的servlet容器上的两个webapps是不是同一个webapps?

我需要在一个Ubuntu的VPS上运行两个webapps,但是一个(我自己的webapp)更喜欢在Tomcat和其他(Solr webservice)运行在Jetty中更好。 但是我认为为每个webapp运行一个单独的服务器会消耗更多的资源(比如内存消耗会更高),而不是运行在同一台服务器上的webapps,不是吗? 如果我在一台机器上同时运行Tomcat和Jetty以供生产使用,可能会有什么不好?

RAID-5configuration中的3ware卡缓慢写入时会导致负载

我的电脑之间有1Gb / s的带宽。 源可以通过SSH以25MB / s的速度读取和发送数据。 我的testing文件是4GB,我使用scp而不进行压缩testing传输。 开始时的速度是25MB / s,但在一个点之后它开始下降得相当突然。 发送2GB后,速率几乎稳定在4.5MB / s左右 ,负载高达6.磁盘为WDC WD5001ABYS-01YNA0型号。 文件系统是ext3。 瓶颈似乎是RAID bus controller: 3ware Inc 9550SX SATA-II RAID PCI-X tw_cli命令运行速度非常慢(我看到输出逐行显示,不会在没有压力时出现)。 # tw_cli /c1 show Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy —————————————————————————— u0 RAID-5 OK – – 256K 931.303 OFF OFF Port Status Unit Size Blocks Serial […]

在Linux上将多个分区上的Web项目拆分(SSD,HDD和RAM磁盘)

我有一个Web项目,几乎包括三个部分: Code , Assets和Cache 。 我正在考虑通过多个驱动器来分割它 – 将我的整个Code放入SSD分区,将Assets放到具有许多I / O操作的大HDD和Cache ,并放入Ram disk 。 这个设置是否有意义? 如果是的话,我应该调整我的分区表来处理这个configuration,或者使用ln就足够了吗?

如何提高Java构build服务器的性能?

我们正在为集成构buildbuild立一个新的服务器。 原来的集成服务器可以在3分钟内在一个Linux机器上完成“mvn install”。 现在,通过转移到VM上的Windows 2012服务器,它下降到9分钟。 单独的“mvntesting”部分需要7分钟。 很多这些testing都遵循相同的模式:1.启动一个新的JVM 2.从文件/ Excel电子表格加载testing数据到内存数据库3.运行对该数据库的查询,validation结果 在你看来,我们怎样才能提高虚拟机的性能呢? 服务器已经有16GB的内存,256GB的空间,8个vCPU。 一般来说,作为构build服务器,大部分工作是这样的:1.从工作区读取数千个文件,2.编译上面的源代码,3.生成数以千计的.class文件。 jar/压缩这些成千上万的文件。 5.将jar子拉链文件复制到其他地方。 这些似乎更多的CPU和磁盘I / O工作量,而不是内存,对不对? 谢谢吉荣

得到更多的内存,网站更慢

我正在运行我的网站在256MB内存与2内核,它运行正常,但我决定升级到1GB和4核心,但现在我的网站是慢..我的意思是需要超过22秒,加载1页.. .. 这是我最重要的一点: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6737 mysql 20 0 947m 24m 2404 S 55.9 2.4 1:23.52 mysqld 5529 apache 20 0 324m 38m 2772 S 2.0 3.7 0:01.18 httpd 和我的免费-m输出和SHOW PROCESSLIST : total used free shared buffers cached Mem: 1024 1017 6 0 0 790 […]

什么可以解释超线程引起服务器瘫痪

在去年,我有两台全新的服务器,我们委托他们的performance使他们无法使用。 这两台服务器都是带有一个处理器的戴尔R620服务器。 一个拥有6个内核,另一个拥有8个。其中一个拥有SLES 11SP3和Oracle,另一个拥有Windows 2008 R2。 Windows服务器从我安装操作系统的那一刻起就很慢。 对于从启动到应用程序使用的所有内容,我都感到非常震惊,但在CPU,磁盘,内存等任何性能计数器中都没有出现任何明显的症状。 我无法量化速度慢,但我会描述,如果我已经在10年前或更早的机器上安装操作系统。 我终于通过摆弄BIOS设置和禁用超线程来修复它。 只要我把它关掉,服务器就起飞了。 我估计会有10倍的性能提升。 Linux服务器更奇怪。 有了它,服务器最初工作了3或4周。 然后,有一天晚上,没有任何明显的触发,CPU使用率突然从平均水平的4%左右疯狂上升了20-60%。 到处都是。 同时Oracle连接时间从100ms到500ms。 总的来说,甲骨文的performance非常糟糕,以至于我们的生产stream程受到了影响,而且我们也不会在数据库上投入太多的负担。 DBA和我花了12个小时以上,没有任何可以解释的问题。 我使用top和Gnome系统监视器来查看系统,CPU跟踪从0-100%完全混乱。 我们重新启动了几次,启动时间大概是2-3倍。 这个问题终于修复了,无奈之下,我禁用了BIOS中的HT。 魔法。 一切都是固定的。 我的问题是,有其他人经历过这个? 我已经用Googlesearch了很多,人们只是谈论相对较小的性能影响,好的和坏的,但是和我所看到的一样。 我现在完全害怕HT,并已经把它作为默认,在新的版本上禁用它。 还有什么我不明白,可能会导致这一点? 这可能是实际有缺陷的硬件? 编辑:shodanshokbuild议下面这可能实际上是一个电源configuration文件的问题。 这个问题今天再次发生,即使HT被禁用。 我进入了BIOS设置,在“系统configuration文件”下find了省电设置。 它被默认为“每瓦性能”。 我改变了“性能”,问题又一次消失了。 很难确认这是一个最终的解决办法,单靠重新启动本来可以打乱这个问题,但是我对此感觉不错。 我稍后再跟进。 编辑2:确认。 我至less再看到过这个问题两次,但在另外两台服务器上。 在所有情况下,通过将“系统configuration文件”更改为“性能”来解决这个问题。 我没有看到任何服务器上的这个问题重复发生变化后。

PostgreSQL是否可以在Windows和Linux上执行

这个话题是在2011年提出的,大家的共识是,有一些devise上的考虑可以使PostgreSQL在Linux上占得先机。 现在是2015年,有没有改变? 如果有什么事情使得PostgreSQL在Windows上变慢,有人可以总结这些观点吗?