我看了一下用于加载testingHTTP服务器的工具? 但是我看不到如何在任何这些工具中重放我自己的现有日志。 我有一个只发生在我现有的JMeter和ABtesting的东西无法重现的某些负载操作的错误。 我想简单地给这个工具的access_logs,并让它回放,要么更快,要么以相同的速度。
在计算传统RAIDarrays的IOPS时,可以使用以下公式(从Symantec Connect上获取IOPS v1.3挂起中借用): Ieffective = (n * Isingle) / (READ% + (F * WRITE%)) 哪里: 有效的是有效的IOPS数量 Isingle是单个驱动器的平均IOPS 。 n是arrays中的磁盘数量 READ%是从磁盘分析中读取的部分 WRITE%是从磁盘分析中读取的部分 F是RAID写入的惩罚 : RAID Level Write Penalty RAID-0 1 RAID-1 2 RAID-5 4 RAID-6 6 RAID-10 2 RAID-DP 2 公式基本上是一个函数: arrays中每个驱动器的IOPS 磁盘的数量。 更多的磁盘意味着更多的IOPS 每个写操作的RAID惩罚。 每次写入RAID5和RAID6需要4个以上的磁盘操作。 控制器必须读取块,然后读取奇偶校验数据(两个操作),计算新的奇偶校验数据,然后更新奇偶校验块并更新数据块(另外两个操作)。 RAID6有两个奇偶校验块,因此需要三次读取和三次写入。 因此,RAID5和RAID6arrays的IOPS较less,然后是RAID1。 RAID1和RAID10只需要2个写入,镜像中的每个磁盘一个写入。 而且要清楚的是,这一切都提供了理论性能的估计 。 各种各样的控制器和RAID方法都有一些技巧来加速其中的一些。 ZFS相当于RAID5和RAID6是RAIDZ和RAIDZ2。 在计算RAIDZarrays的IOPS时,我可以使用与RAID5和RAID6相同的公式,或者ZFS有特殊的技巧来减less写操作所需的操作次数。 计算RAIDZarrays的IOPS时有没有不同的公式?
问候, 我正在编写一些脚本来处理来自各种照片网站的图像。 现在我将所有这些数据存储在同一目录中的单个文本文件中。 该目录是networking访问。 最终用户调用Web服务,该服务将path返回到用户需要的文件。 我想知道在什么阶段,我将所有这些文件放在同一个目录下,从而使性能受到影响? (如果有的话)
由于我们体系结构的重大更新,我们现在在IIS下有一些未使用的应用程序池(没有映射到它们的网站)。 我明白如何删除它们以提高可读性,但是我的问题更多的是性能影响:这些未使用的应用程序池在内存,CPU,IIS请求处理速度或任何其他性能指标方面是否有问题? 从我所看到的,一个没有网站的应用程序池不会创build一个工作进程,所以我怀疑在性能上没有任何区别,但是我想确保我不会错过任何东西。
在ubuntu上运行postfix,每天发送大量的邮件(大约100万条消息)。 负载是极高的,但在CPU和内存负载方面并不多。 任何人在类似的情况下,知道如何消除瓶颈? 此服务器上的所有邮件都是出站的。 我将不得不假设瓶颈是磁盘。 只是一个更新,这里是iostat的样子: avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.12 99.88 0.00 0.00 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 12.38 0.00 2.48 0.00 118.81 48.00 0.00 0.00 0.00 0.00 sdb 1.49 22.28 72.28 42.57 629.70 1041.58 14.55 135.56 834.31 8.71 100.00 这些数字是否与单个磁盘所期望的性能一致? sdb专用于后缀。 […]
EC2实例的读访问速度更快; “本地”驱动器或附加的EBS卷? 我有一些需要坚持的数据,所以把它放在EBS卷上。 我正在使用OpenSolaris,因此此卷已作为ZFS池附加。 但是,我有一大堆的EC2磁盘空间将被闲置,所以我正在考虑重新使用这个ZFScaching卷,但是我不想这样做,如果磁盘访问将会比EBS数量可能会产生不利影响。
我有一个安装在虚拟目录(作为应用程序)的ASP.NET(v4.0)Web应用程序,并托pipe在它自己的应用程序池中。 对于应用程序的每个实例(即每个客户)重复这一点。 应用程序池是集成(非经典)模式,并且LoadUserProfile设置为true。 否则,默认设置。 每个实例当前都有它自己的代码/configuration副本,它是自己的数据文件夹(基本文件读/写)。 这个应用程序的1个实例运行良好(用于比较的操作需要约4秒)。 每个其他实例运行缓慢(从10-25秒为同一操作)。 如果我将较慢的实例移动到“最快”的应用程序池,那么这个实例就会变成现实。 如果我将更快的实例移动到速度较慢的应用程序池中,则该实例会减慢抓取速度。 应用程序池最初是以相同的方式创build的 – 手动。 后来我使用了powershell copy例程,以确保更快的应用程序池的精确副本,并仍然是相同的行为。 比较apppool.config文件显示它们是相同的,禁止虚拟目录分配。 没有共享资源正在被阻止,据我所知,我testing通过closures性能的应用程序池并重新启动…慢仍然很慢,然后当我重新启动应用程序池(所以它被加载最后)还是更快
我没有达到线速的OpenVPN隧道的问题。 网关是在OVH托pipe的Debian Jessy虚拟服务器。 客户端是我的freebsd 10.2 homeserver(Intel I3 Ivy Bridge)或我的RaspberryPI2。 我停用了encryption和authentication。 我有一个100mbit / s的对称FTTH连接,但隧道只能达到20-40mbit / s的速度。 直接连接(无隧道)总是产生我期望的100mbit / s。 我用iperf3testing了性能。 我第一次尝试使用我的freebsd homeserver。 我尝试了所有关于mssfix,fragment等的推荐设置。没有任何帮助。 然后我想也许这是我的freebsd机器。 所以我在RPI2上安装了一个新的rasbian Jessy,并做了一些更深入的testing: 首先,我从OpenVPNconfiguration中删除了所有的MTU设置,并让pathMTU处理事情(希望)。 由于我在两台机器上都没有防火墙,所以它应该可以工作。 这些是我的VPNconfiguration: server 10.8.0.0 255.255.255.0 port 1194 proto udp dev tun sndbuf 0 rcvbuf 0 user nobody group nogroup persist-key persist-tun ifconfig-pool-persist ipp.txt keepalive 10 120 push "redirect-gateway def1" […]
我们有一个使用IIS托pipe的ServiceStack实现的API。 在执行API的负载testing时,我们发现响应时间是好的,但是一旦我们每服务器达到约3,500个并发用户,它们就会迅速恶化。 我们有两台服务器,当用7000个用户点击它们时,所有端点的平均响应时间都低于500ms。 这些盒子位于负载平衡器的后面,所以我们可以得到每台服务器3500个并发数。 但是,一旦我们增加了总并发用户的数量,我们就会看到响应时间显着增加。 将并发用户数量增加到每个服务器5,000个,每个端点的平均响应时间约为7秒。 服务器上的内存和CPU都非常低,两者的响应时间都很好,而且在恶化之后。 在拥有10,000个并发用户的峰值时,CPU的平均值仅仅低于50%,而RAM的坐标大约是3-4 GB。这让我们认为我们正在某种程度上受到某种限制。 以下屏幕截图显示了在负载testing期间perfmon中的一些关键计数器,共有10,000个并发用户。 突出显示的计数器是请求/秒。 在屏幕截图的右侧,您可以看到每秒请求图变得非常不稳定。 这是响应时间缓慢的主要指标。 一旦我们看到这种模式,我们注意到在负载testing中响应时间慢。 如何解决这个性能问题? 我们正试图确定这是一个编码问题还是一个configuration问题。 web.config或IIS中是否有任何设置可以解释这种行为? 应用程序池运行的是.NET v4.0,IIS版本是7.5。 我们通过默认设置进行的唯一更改是将应用程序池“ 队列长度”值从1,000更新为5,000。 我们还将以下configuration设置添加到Aspnet.config文件中: <system.web> <applicationPool maxConcurrentRequestsPerCPU="5000" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000" /> </system.web> 更多细节: API的目的是合并来自各种外部源的数据并作为JSON返回。 目前它正在使用InMemorycaching实现caching数据层的各个外部调用。 对资源的第一个请求将获取所有需要的数据,对相同资源的任何后续请求将从caching中获取结果。 我们有一个“caching运行程序”,作为后台进程实现,以特定的时间间隔更新caching中的信息。 我们添加了从外部资源中获取数据的代码。 我们还实现了以asynchronous方式从外部数据源获取数据的服务,以便端点只能像最慢的外部调用一样慢(除非我们有caching中的数据)。 这是使用System.Threading.Tasks.Task类完成的。 我们可以在进程的可用线程数方面受到限制吗?
在VMWare ESXi / vSphere中,可以将磁盘或LUN标记为“Flash” ,指示该磁盘是SSD(或者该LUN是SSD /闪存存储支持的) 当你这样做,你会得到以下警告: 将HDD磁盘标记为闪存磁盘可能会降低数据存储和使用它们的服务的性能。 只有当您确定这些磁盘是闪存磁盘时,才将磁盘标记为闪存磁盘。 这个警告让我很好奇:标记一个LUN 实际上是做什么的? 它如何改变VMware的行为/性能? 性能如何恶化,IE技术上在低层次上有什么变化?