Articles of 性能

NGINX服务大型MP4文件效率极低

我目前在Centos 6.6操作系统上运行nginx / 1.0.15。 该服务器具有以下规格: 英特尔(R)Atom(TM)CPU C2750 @ 2.40GHz(8核心) 32GB内存 5 x 6000 GB 7200 RPM(Raid 10) 问题 服务器有一个1Gbit / s的连接,但是在400-500Mbit / s之后会出现瓶颈。 服务在大约100个连接处开始下降..服务器的速度急剧下降(尽pipe仍有50%的带宽可用) NGINX服务器严格用于提供静态.mp4文件。 每个文件通常是400-1200MB(平均700MB) 我已经尝试了很多很多configuration,几乎所有的configuration都给了我相同的结果..我非常沮丧.. 服务器负载也永远不会超过0.3。 在我的configuration中是否有明显的错误或误导? 任何事情都可能有帮助 configuration /etc/nginx/nginx.conf user nginx; worker_processes 9; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 51200; use epoll; } worker_rlimit_nofile 600000; http { include /etc/nginx/mime.types; default_type application/octet-stream; […]

页面加载长时间的停顿。 这是什么?

我一直在研究我正在build设的一个网站的performance,并注意到一个奇怪的东西,我无法find答案:两个请求(总是相同的两个)神秘地延长了停顿的时间,大大增加整体页面加载。 正如你所看到的, /css和/js页面似乎没有明显的原因。 谁会知道发生了什么事情(如果你需要更多的信息,请这么说)?

不同的linux页面caching行为为服务器做同样的工作

我有两组服务器(128位内存),它们在configuration时会有区别,在运行完全相同的守护进程(elasticsearch)时performance得非常不同。 我正在使用elasticsearch进行全文search,而不是日志存储,所以这个基本上只需要很less的写操作(小于1MB / s)的读操作。 这个守护进程mmap将大约350GB的完整数据集放入其虚拟内存中,然后访问它的某些部分来处理请求。 这些服务器没有configuration交换空间。 问题是一组服务器运行良好,每秒发出大约50个重大故障,平均需要10MB / s的磁盘IO来满足这个需求。 性能不佳的服务器每秒可以看到500个重大故障,平均需要200MB / s的磁盘来满足这个要求。 磁盘IO的增加导致较差的p95响应延迟和偶然的过载,因为它达到约550MB / s的磁盘限制。 他们都坐在同一个负载平衡器后面,并且是同一个集群的一部分。 我可以看到,如果一台服务器的性能不好,可能是负载的差异,但是与16台服务器的性能差别很大,20台服务器的性能不错,在不同的时间内,它们被淘汰+供应,内核/configuration级别必须引起问题。 为了解决这个问题,我该如何让这些performance不佳的服务器像那些performance良好的服务器一样行事? debugging工作应该集中在哪里? 下面是我收集的一些数据,用来查看系统在三种状态中的每种状态下的sar和page-types工具的function。 软件: – debian jessie – linux 4.9.25 – elasticsearch 5.3.2 – openjdk 1.8.0_141 首先从一个performance良好的服务器(来自sar -B )的一些页面错误数据: 07:55:01 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff 08:05:01 PM 3105.89 811.60 2084.40 48.16 3385.30 0.00 […]

在服务器2008 SP2上慢速读取SSD

我使用英特尔X25 – M 80G与最新的固件。 在XP / w使用IDE和WIN7使用AHCI我读取速度高达250MB / S。 但是,在AHCI上运行Server 2008 SP1或SP2时,读取速度大约为180MB / S。 我更新了2008年的驱动程序,用writecache打开/closurestesting。 任何input将不胜感激。 谢谢!

实时IIS监控

我们正在寻找一些监控软件来报告和显示IIS的实时性能信息。 我们正在使用perfmon来监视请求执行,请求排队等,但是我们正在寻找一个能够生成报告,图表等的永久解决scheme。 Nagios似乎得到了很多赞誉,但是我们正在寻找一些我们可以在Windows上安装的东西。 我偶然发现Nimsoft ,但想知道是否有其他的select? 我们只希望监视我们的networking服务器(less于5台机器)。

使用apache日志测量和可视化Web应用程序的性能?

我有一个由mod_wsgi和Apache提供的Django Web应用程序。 我在生产系统中有web应用程序的apache日志,这些日志包括以微秒为单位服务请求的时间。 我想查看这些数据(通过URL的URL)的基础上,看看应用程序的哪些部分(如果有的话)需要很长时间才能提供服务,可能应该改进。 有什么工具(在Ubuntu Linux上工作的FLOSS),如果一个Apache日志文件,将显示graphics,漂亮的picutres,计算统计数据,等等事情要服务多久? (我在这里先问一下,以防其他人已经做了,并阻止我重新发明轮子) 奖励点,如果它将使用我的Django的urls.py文件来聚合的url,并找出对应的视图。

新鲜的NGINX安装非常低的请求/秒

用新的nginx安装,我得到了运行apache基准testing的结果,我觉得这很奇怪。 获取的页面是由nginx安装的默认静态index.htmltesting页面。 在本地运行ab具有非常高的请求/秒,但是远程运行却非常低。 暂时禁用我的防火墙进行testing。 AB -n 100本地运行: 文档path:/ 文档长度:3698字节 并发级别:1 testing时间:0.21347秒 完成请求:100 失败的请求:0 写错误:0 总传输量:391000字节 HTML传输:369800字节 每秒请求数:4684.50 [#/秒](平均值) 每个请求的时间:0.213 [ms](平均值) 每个请求的时间:0.213 [ms](意味着跨所有并发请求) 传输速率:17847.94 [千字节/秒]收到 AB -n 100远程运行(从两台不同的机器,一个Windows 7和另一个Mac OS 10.7): 并发级别:1 testing时间:12.502秒 完成请求:100 失败的请求:0 写错误:0 总传输量:391000字节 HTML传输:369800字节 每秒请求数:8.00 [#/秒](平均值) 每个请求的时间:125.020 [ms](平均值) 每个请求的时间:125.020 [ms](mean,a 传输率:30.54 [千字节/秒] 连接时间(ms) 分钟平均值[+/- sd]中值最大值 连接:38 43 1.6 42 56 处理:78 82 […]

命令行速度testing

有几个网站给你体面的速度指标(DSLReports,Speakeasy; PhonePower甚至有额外的VoIP相关指标)。 我想定期获得这些指标。 理想情况下,我想把东西作为一个shell脚本和cron它在路由器上。 所以,这里是问题: 有人知道一个网站提供这些信息给基于命令的客户吗? 网站通常会下载几个不同大小的文件。 什么尺码最具代表性? 他们平均结果? 我尝试从kernel.org下载一个发行版(通过wget),从softlayer.com下载一个500MB的文件 – 与GUI相比,它有几倍的不同。 在DSLR和PhonePower中,相比于16Mbps的700KB / s(〜6Mbps)。 有没有可靠的高速服务器,我可以尝试上传速度? 如何(男人可以梦想!)VoIP指标,如抖动或延迟? Google上的每个人都会回答“使用wget / curl”讨论“如何从命令行测量下载”。 我们可以走一步吗?

如何使用HAProxy设置请求的开始时间?

我想测量完整请求堆栈的时间。 中间件的New Relic捕获时间(例如java,python,ruby)和请求时间(请参阅https://newrelic.com/docs/features/tracking-front-end-time )。 为此,我需要将X-Request-Start头configuration为通过HAProxy负载平衡的请求。 haproxy.cfg应该如下所示: backend www balance roundrobin mode http reqadd "X-Request-Start" UNKNOWN_TIME_FUNCTION() server servername 192.168.0.1:80 weight 1 check 有一个haproxy原生函数来replaceUNKNOWN_TIME_FUNCTION() ?

Linux文件系统caching:将数据从“脏”转移到“写入”

我的软件RAID可以持续写入800 MB / s。 当cat /proc/meminfo |grep Writeback: > 2 GB时,我看到了这种情况。 但是,大部分时间回写是0.5 GB,这使得性能在200 MB / s左右。 有大量的数据要写入。 cat /proc/meminfo |grep Dirty:表示脏caching是90 GB。 据我所知,Dirty是需要写的东西,而Writeback是写入磁盘的东西。 因此,在Writeback中的块旁边可能存在Dirty中的块,这些块不会写入同一行。 这可以解释为什么如果写回时间太短,为什么我的性能会变差,因为花在寻找上的时间要比写入一些额外的MB花费的时间长得多。 所以我的问题是:我可以不知何故告诉内核更积极地将更多的数据从肮脏到写入,从而增加写回? – 编辑 – 这是在低绩效期间: $ cat /proc/meminfo MemTotal: 264656352 kB MemFree: 897080 kB Buffers: 72 kB Cached: 233751012 kB SwapCached: 0 kB Active: 3825364 kB Inactive: 230327200 kB Active(anon): […]