我有一个服务器阻止突发请求(如果相同的IP地址访问服务器每秒超过3次,它将服务500错误)。 所以当我使用Apache基准testing时,即使将并发性设置为1,我也会看到很多失败的请求。 是否有一个选项来设置每个请求之间的时间间隔? 还是有类似的基准testing工具,提供这种间隔function?
有很多的基准,比较Apache,Nginx,Lighttpd,LiteSpeed / OpenLiteSpeed,切诺基等 不幸的是,似乎大多数的基准是“小静态文件”types,这是相当无用的…谁使用Web服务器来提供小的静态文件? 为什么没有人运行基于PHP应用程序的DEFAULT安装基准: WordPress的 Drupal的 亚历克 Menalto画廊 Magento的 Opencart的 等等 这将更好地说明在实际使用情况下什么效果最好,并且可以让人们更好地了解最适合他们需求的服务器。 上面stream行的PHP应用程序可能会覆盖大量的Web服务器用户的需求。 当然,在这种基准testing中,MySQL,PHP等等的性能会发挥作用,我们将无法获得Web服务器的RAW性能数据。 但是,究竟谁真的关心RAW数字呢? 人们真的只关心比较performance,所以他们检查基准。 如果我们开始做这样的基准testing,我们终于可以得出这样的结论:服务器比较是没有意义的,因为竞争产品之间没有显着的性能差异,基础设施/设备中还有其他项目需要更多的优化关注。 我相信那些运行基准testing的人很聪明,知道上面所有的…所以我们如何继续变得毫无价值的“小静态文件”基准?
我有两个程序写入我的服务器磁盘。 我写的一个是线性写入,它快速写入数据。 另一个我是基准testing,它以三分之一的速度写数据。 它没有什么别的,我相信这个问题是由第二个程序寻求更多的(即它更随机的文件访问)造成的。 在Linux上是否有一个工具可以用来确定在特定磁盘上执行的查找次数? 还是由一个特定的过程?
众所周知,由于编码和解码操作, 纠删编码增加了额外的复杂性。 由于这个缺点,大多数云服务build议使用热数据的数据复制和擦除冷数据的编码。 例如,从Ceph文档: 擦除编码池压碎规则集针对的是用于冷存储的硬件,具有高延迟和较慢的访问时间。 复制缓冲池规则集旨在提供更快的硬件,以提供更好的响应时间。 热数据的定义比“比其他数据更容易访问的数据”更好吗? 让我们考虑一个依靠擦除编码的存储系统和一个运行在其上的应用程序,这个应用程序由I / O密集型工作负载来定义。 它被视为热门数据吗? 现在,我怎么能说我的存储系统的擦除代码是否可行? 测量某些特定testing(即随机/顺序读取/写入)的应用程序IOPS是否相关? 是否存在一个阈值,说删除代码不适用于热数据,因为我只logging(例如)100个IOPS应用程序端用于4 kB块的随机写入操作? 如果我logging一千亿IOPS呢? IOPS是否与这种testing相关(也许其他度量会说更多)? 我对这个问题充满疑问,任何帮助都会感激不尽。
我正在做同一个应用程序的多个实例的应用程序基准testing。 我发现把它们的进程(在Linux下是sched_setaffinity,在Windows下是TaskManager)固定到特定的CPU可以提高性能。 所以我会有: * whatever.exe pinned to CPU 1 * whatever.exe pinned to CPU 2 * whatever.exe pinned to CPU 3 * whatever.exe pinned to CPU 4 每个whatever.exe都有自己的缓冲区和堆内存。 我想避免CPU 1上的进程必须从CPU 2访问RAM,因为使用来自Intel的Core Microarchitecture,这将需要QPI跃点到下一个处理器。 我怎样才能确定在Windows下,一个进程正在使用哪个CPU的RAM? 我怎样才能在Linux下做到这一点? 我正在考虑一个类似于“进程X的RAM从物理RAM地址Y到Z,CPU A直接连接到从地址B到C的RAM”的答案。 有没有一个Windows工具来获得这种答案?
我打算在VPS上托pipe我的网站,在此之前,我想testing一下给定数量的并发用户需要多lessram / cpu。 什么是最好的方式来build立一个VPS的家用主机与分配给它的特定CPU和RAM,以便我可以在其中testing我的网站? 我应该使用Virtualbox吗? 还是有更好的select来实现这个?
我一直试图blitz.io我的网站,AB等,试图了解有多less并发用户可以使用我的网站。 在我自己的盒子里: 并发500,10000每秒3k点击次数。 传输速率:130,339千字节/秒。 从我的箱子外面: 并发500,10000点击我得到大约每秒150-200个请求。 传输速率:5,543千字节/秒。 Blitz.io 使用blitz.io,当并发开始移动超过200时,我以每秒200个请求的速度进行限制。 所以越来越多的并发请求,我的应用程序仍然返回每秒200响应。 这是否意味着networking吞吐量正在限制我的RPS到外部客户端? 因为我的印象是,我的服务器能够响应每秒3000次点击,如果客户端能够下载足够快(如localhost)。 我曾经玩过nginx的工作人员数量和连接数,但是我的上网电话是200 RPS。 我能做些什么来为更多这些网页提供服务? 我怎么知道networking瓶颈是在我的服务器还是在调用者? 由于我在这里缺乏经验,我不知道是否有从我的服务器出站的networking带宽瓶颈,除非我做了另外3个负载均衡的nginx服务器。 假设因为内部可以达到100mb / s,外部命中(1000个用户)需要100mb / s,那么服务器就能够将它输出到世界各地吗?
是否有命令来删除ZFS和UFS磁盘caching? (最好只有一个文件夹层次结构。) 我试图调整从大量文件读取/写入数据的应用程序的性能设置。 大部分阅读。 在实际使用中,应用程序将只运行一次,所以有问题的文件将不可能被caching。 但是,由于我连续testing多次,因此Solaris正在试图通过将这些文件保存在内存中来提供帮助。 在基准testing运行之间,我可以指示Solaris从它的caching中删除/path/to/data下的任何内容吗? 谢谢
我正在testing我的Linode Ubuntu 14 64位服务器,这是他们提供的最基本的服务器。 我正在使用Apache Benchmark来testing服务器,以及我用Python编写的multithreading脚本,但稍后会介绍更多。 使用AB我注意到,当从服务器本地运行本地时,每秒约7k个请求,但是从另一个networking/因特网运行时只有约15个请求。 本地1000个并发连接的响应时间也约为150毫秒。 对于100个并发连接,响应时间大约为1.5-2.5秒。 我运行远程testing的networking有很多带宽,而且我运行它的计算机有很多内存和处理器的速度。 这是一个快速的商业networking。 我甚至在美国的其他两台电脑上试了两台,速度都差不多。 在运行我的multithreading脚本时,我注意到只要尝试了超过100个并发请求,就会打嗝,这是来自外部networking。 我还没有在服务器上本地尝试我的脚本,因为我需要将服务器上的Python升级到3+或将脚本更改为2.7兼容。 我在本地进行了testing,在运行1000个multithreading连接的脚本时获得了150毫秒的响应时间,这只是使用urllib2。 我直接对nginx(一个静态文件),nginx后面的pywsgi应用程序以及直接对pywsgi进行testing。 pywsgi应用程序有一个简单的路线,回复一个基本的回应,所以它应该是快速的。 毫不奇怪,nginx-> pywsgi提供了最好的结果,可能是因为它缓冲了请求。 有没有什么是特定的Linode的networking导致这个问题? 内部和外部testing之间的数量级差异使我想知道可能是什么原因。 唯一的办法就是iptables防火墙,只需要在http / s和ssh中进行过滤。 dmesg没有关于我的testing的信息。
我有一堆旧的和各式各样的服务器。 我想在testing实验室环境中进行基准testing,压力testing和收集所有硬件信息。 我也想能够比较这些服务器之间的结果。 我可以把什么工具放在一个活的Linux USB上执行上述任务? 我已经使用了硬件信息,但它没有能力与我自己的机器进行比较。 问候