Articles of 性能

Dell R710上的PERC 6 / i RAID:慢速磁盘…单个控制器上的RAID10?

这里有多个问题 – 但是从这个开始:我们有一个带有RAID10configuration的PERC 6 / i RAID控制器(或控制器)的戴尔PowerEdge R710。 系统正在运行Ubuntu Server 10.04 LTS,MySQL执行读取密集型工作负载。 我使用blockdev –setra ### /dev/sda增加了readahead blockdev –setra ### /dev/sda来增加readahead(读取至less在理论上是顺序读取)。 这似乎没有产生重大影响。 我没有改变磁盘电梯(我已经看到了推荐和deadline推荐)。 系统上的负载突然升起,似乎与磁盘I / O等待有关。 系统可以等待磁盘I / O的50%时间 – 而CPU%大约为7-10%。 与RAID5和写密集型MySQL安装相当的系统完全吸引了这个系统。 根据Dell OpenManage的报告,RAID10系统似乎有两个PERC 6 / i控制器; 然而,只有控制器0有一个机箱,只有控制器0有RAID。 RAID由四个磁盘组成(插槽0-3,我相信)有两个空闲插槽。 系统还运行在PowerSavingconfiguration文件中,该configuration文件可让操作系统pipe理CPU速度。 该系统也受到一些Linux内核中发现的fsync()错误的困扰。 最后,PERC 6 / i报告固件已过期:它具有6.2.0-0013并且希望6.3.0-0001。 现在的问题是: 是否有可能将RAID10arrays的一部分移动到第二个控制器? 实际上有两个控制器可以在同一个背板上使用吗?还是我错过了一些东西? 固件更新会解决磁盘速度问题吗? RAID级别与大磁盘IO等待有关吗? PowerSaving模式有多less效果? (有些报道似乎说它会降低内核速度。) 我强烈怀疑有一些configuration会将磁盘变成可怕的高速度,但我似乎无法把它压低。 更新 :这里使用的四个磁盘是日立HDS721010CLA332型号,它被列为具有SATA“总线协议”,但也有“SAS地址”? 这些磁盘是那些我听说过的SAS模拟驱动器应该是相当慢的? […]

如何find虚拟化性能瓶颈?

我们最近开始将我们的C ++构build服务器从真实机器迁移到虚拟机中。 (MS Hyper-V) 我们有一些性能问题,我目前不知道如何解决。 我们有: Test-Box – 这是我的同事用来设置虚拟机的台式机工作站硬件,在我们将其移动到实际的服务器硬件之前 Srv-Box – 这是服务器硬件 Test-Box-Real – 这是直接在Test-Box HW上运行的Windows Test-Box-VM – 这是testing盒HW上的Hyper-V VM中的Windows Srv-Box-Real – 这是运行在Srv-Box HW上的Server2008R2。 Srv-Box-VM – 这是在Srv-Box HW上的Hyper-V虚拟机上运行的Windows,即在Srv-Box-Real上。 现在,问题是我们比较了Test-Box-Real和Test-Box-VM之间的构build时间,它们基本相等(大约在2%以内)。 然后我们把虚拟机移动到了Srv-Box机器上,我们看到的是在Srv-Box-Real和Srv-Box-VM之间有一个显着的性能下降,也就是说,现在看到在实际的服务器硬件上的性能的主要差异。 (在虚拟机内部构build慢了大约50%。) 我应该补充一点,Test-Box和Srv-Box都只运行这一个单独的虚拟机,而且什么都不做。 我还应该注意到,“Real”操作系统是Win2008R2(64位),VM托pipe的操作系统是Wind2003R2(32位)。 硬件规格: Srv-Box : 英特尔XEON E5640 @ 2.67Ghz(这意味着8个内核在Real系统上具有超线程,而在虚拟机上只有4个内核,因为Hyper-V不允许超线程,但内核数量似乎不能解释问题这里。) 16GB内存(我们有4GB分配给虚拟机) 虚拟DELL RAID 1(2x 450GB HUS156045VLS600日立15k SAS硬盘) Test-Box : 英特尔XEON E31245 @ 3.3GHz 16GB RAM […]

随着时间的推移,CPU / JVM / JBoss 7变慢

我在JBoss 7.1.1 Final上遇到了性能下降的问题。 我写了一个简单的程序来展示这种行为。 我生成了一个10万个随机整数的数组,并对其执行冒泡sorting。 @Model public class PerformanceTest { public void proceed() { long now = System.currentTimeMillis(); int[] arr = new int[100000]; for(int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * 200000); } long now2 = System.currentTimeMillis(); System.out.println((now2 – now) + "ms took to generate array"); now = System.currentTimeMillis(); […]

如何对AWS性能有适当的期望?

我正在将Web应用程序从本地服务器迁移到其他地方,以便最终部署。 我目前正在评估AWS和Rackspace,并且正在尝试使用AWS的网站。 我试图保持两个尽可能相似的环境。 两者都在Fedora 17之上运行一个非常简单的LAMP堆栈,具有相同版本的Apache,PHP等。 我的开发机器是基于具有32GB内存的i7 860芯片的自制软件包; 在AWS上,我通常使用一个m1.small实例,这个实例是用标准的fedora 17实例构build的,它通过一些基准testing被描述为“Intel Xeon E5-2650 0 @ 1.80GHz(1 Core),内存:2048MB”我一直在使用的软件。 我的AWS实例的根设备被设置为EBS卷。 该网站已经在两个盒子上运行,我很高兴地看到,网站性能大致相当,AWS速度稍慢。 不过,我也通过我在这两个网站上从源代码构build的ffmpeg版本,在网站的工作中做了一些video编码。 在这里,我得到了巨大的性能差异,我的开发服务器比AWS快10倍。 我已经运行了一些基准testing,他们也显示出了类似的区别:Phoronix“apache”基准testing显示我的服务器运行的是AWS实例的12倍。 所以,我感到困惑。 我明白AWS实例的“E5-2650”描述仅仅是为了描述,而且我并没有真正拥有E5-2650的机器。 但是,想想这个的正确方法是什么? E5-2650似乎是一个疯狂的快速8核心芯片,通过一些措施是我的i7的两倍, 也许我应该认为我实际上有这样一台机器的1/8(8个中有1个)? 这仍然不能让我达到10倍,但也许这是由于我的开发机器的(更)大量的内存? 或者是我用我的AWS安装搞砸了一些东西 – 我比完整的AWS新手差不多一步,但没有更多,所以搞砸了很有可能。 有任何意见呢?

如何解释Perfmon计数器的值Hyper-V虚拟机pipe理程序虚拟处理器\ CPU每次调度的等待时间

因此,Web上有很多指导,build议跟踪Perfmon计数器Hyper-V Hypervisor虚拟处理器\ CPU的值。将每次调度的等待时间视为与VMWare CPU就绪时间最近的Hyper-V等价物。 不幸的是,似乎没有太多的指导意见,这个柜台的价值可能是有问题的,或者是一个性能良好的系统预期的价值范围。 我最初的想法是,如果CPU使用率与CPU每次调度的等待时间同时增加,则表明至less有一个来宾vCPU存在CPU瓶颈。 有没有更好的方法来解释这个柜台? 例如,是否有可能将其转换为等待CPU的时间百分比? 微软或Hyper-V从业者倾向于使用的参考价值范围是多less? 任何人都可以给我一个指示,说明他们在没有CPU超额订阅的性能良好的系统上看到的这个计数器的值是多less? 谢谢!

在新的ZFS镜像(raid1)中,可怕的(〜1.4倍vs预期〜2x)随机读取性能

我正在使用FIO(灵活I / Otesting器)testingZFS镜像,以了解ZFS镜像的随机读取可扩展性。 主要和次要caching已经被设置为none,因为我使用的应用程序执行它自己的caching。 出于testing目的,我使用磁盘/dev/sdb和/dev/sdc ,它们具有〜100个随机读取IOPS。 当使用单个磁盘ZFS安装时,单个磁盘数字是从FIO获得的。 我对ZFS镜像的理解应该经历大约200(100 + 100)个随机读取IOPS。 当testing时,我只遇到大约140随机读取IOPS。 完整的结果如下: test@pc:/mnt/zfs-raid1# fio –name=randread –ioengine=libaio –iodepth=16 –rw=randread –bs=4k –direct=0 –size=512M –numjobs=8 –runtime=240 –group_reporting randread: (groupid=0, jobs=8): err= 0: pid=4293: Wed Nov 16 21:02:08 2016 read : io=137040KB, bw=584482B/s, iops=142, runt=240091msec slat (usec): min=222, max=2246.9K, avg=56047.94, stdev=85252.98 clat (usec): min=2, max=5142.9K, avg=838922.05, stdev=443521.12 lat (msec): […]

诊断SQL Anywhere中的I / O带宽性能

在诊断由SQL Anywhere(9.0.2)运行的供应商软件的性能问题时,我偶然发现了一些关于I / O带宽的有趣数据。 根据9.0.2手册,数据库属性“CurrIO”显示“服务器发出但尚未完成的文件I / O的当前数量”。 但是,在给定硬件configuration和/或数据库利用率的情况下,该数字应该是什么还不清楚。 经过一番search之后,我发现SQL Anywhere 10.0.0手册在关于性能的章节中进一步详细介绍了这一设置: 要检测I / O带宽是否是限制因素,请检查CurrIO数据库统计信息。 如果此统计量不在图表中,请单击添加统计量button并selectCurrIO。 寻找这个统计数字的最大持续数字。 例如,在图上寻找高原; 它越宽,影响就越显着。 如果graphics的值等于或大于数据库服务器使用的物理磁盘数量的3 +,则可能表示磁盘系统无法跟上数据库服务器活动的级别。 这是说,例如,如果我在服务器中有5个磁盘,这个数字理想情况下应低于8? 这个值的含义是否与10.0.0版本相同? 我觉得难以置信的原因是下面这个命令的结果在我的具体情况中有点偏离: SELECT db_property ( 'CurrIO' ), db_property ( 'MaxIO' ) 上述命令为CurrIO返回900以上,为MaxIO返回1150 。 我一直在监测这个数字几个小时,平均约为950 (感谢来自RisingRoad的Foxhound监视器)。 这些读数已经在正常的数据库负载下进行。 我的input/输出带宽是否真的不够好,还是我误解了这些数字? 这是当前的服务器configuration: 操作系统:Windows Server 2003 R2 32位 数据库版本:SQL Anywhere(Adaptive Server Anywhere)9.0.2.3381 CPU:4x Intel Xeon双核3.00GHz RAM:26GB(22GB分配给SQL Anywherecaching) HDD(C:/):OS +临时文件位置 […]

networking磁带还原速度比磁盘到磁盘复制要快

怎么会这样? 对93Gb运行cp或rsync(带-W –inplace)需要两个小时; 通过专用备份networking的磁带恢复时间为41分钟。 磁带恢复是50 Mb / s; 磁盘到磁盘的测量和计算是16 Mb / s的顶端 – 如果CPU繁忙,则为2 Mb / s。 还原软件是Veritas NetBackup; 磁盘位于光纤上的EMC Symmetrixarrays上。 该机箱是一台运行HP-UX 11i v2的16 Gb HP rx6600(Itanium)。 所有的磁盘都在一张光纤卡上,列表如下: HP AD194-60001 PCI/PCI-X Fibre Channel 2-port 4Gb FC/2-port 1000B-T Combo Adapter (FC Port 1) 这些磁盘也都使用Veritas Volume Manager(而不是HP LVM)。 更新:我发现这不仅是一个直接的磁盘到磁盘复制; 实际上,这是磁盘复制的快照 。 能否读取快照会减慢这些事情的速度? 快照是HP VxFS快照(不是vxsnap); 也许快照和VxVM之间的交互造成速度下降? 更新:使用fstyp -v,看起来块大小(f_bsize)是8192; […]

如何衡量开机时间?

我想知道什么是测量客户端机器启动时间的“正确”或“最重要”的方式: 从打开到login提示 从打开到login提示(硬盘指示灯熄灭) 从打开到浏览器打开(硬盘指示灯熄灭) 从开启到最常用的3个应用程序打开(HDDclosures) 等等… 我通常使用第三个,因为这是在系统变得可用和有用之前的时间。 你怎么看?

桑巴阅读性能

每当我从我的Samba服务器读取一个大文件时,我都会获得大约40 MB /秒的传输速率。 如果我再次读同一个文件,速度突然变得高达70 MB /秒。 为什么我第一次没有达到70 MB /秒? 磁盘容易执行高达95 MB /秒。 Samba是否必须将整个文件caching在RAM中才能获得性能呢? 当写文件到服务器时,我得到每次95 + MB /秒,差别很大。 我曾尝试设置一些套接字选项(TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF = 65535 SO_RCVBUF = 65535),但他们似乎没有太多的帮助。 那么,有关如何提高Samba读取性能的技巧? 注意:这些磁盘是在软件RAID 1中configuration的2x1TB Samsung Spinpoint F1 7200 RPM。 更新:看起来客户端和服务器一样有这个问题,如果不是更多的话。 我正在使用我可靠的老总指挥官,这些人似乎太老了。 当我使用Windows资源pipe理器来复制文件时,即使是未caching的文件也是非常快的。 谢谢你的帮助。