Articles of 性能

为什么使用Hyper-V时SSD的性能下降?

我刚刚在Windows Server 2008 R2 Hyper-V服务器上安装了新的M4 256GB。 在使用Crystal Disk Mark的主机系统上,我已经获得了212 Mb / s的4k QD32写入性能,但是当我在SSD上创build一个VHD磁盘并在来宾Windows Server 2008 R2上使用相同的configuration进行testing时,我获得了7 Mb / s,即慢大约30倍。 任何提示? 当然固定大小的VHD

ZFS快照回滚的速度取决于文件数量吗?

我testing了两台主机之间的10Gbit连接,以便能够从host1读取10GB文件,并使用netcat将其写入host2,速度为410MB / s。 当我通过同一个专用的10Gbit连接与netcat再次发送/接收时,我只能获得70MB / s。 快照是2.5TB,有1500万个文件。 题 这种放缓的原因是什么? 使用这么多文件回滚快照需要花费很多时间,还是文件数量不受ZFS回滚速度的影响? 更新 10GB的文件传输testing,我得到了410MB / s的,我想模拟一个ZFS发送/接收与回滚。 所以有了这个假设,我很惊讶,我看到如此不同的速度。 我正在使用两个testing之间的比较速度,所以我不必生成随机数据2.5TB文件。 所以我不明白为什么“从host1读取文件,使用netcat传输,写入文件到host2”要比“zfs从host1发送快照,使用netcat传输,在host2上使用ZFS接收/回滚”快得多。 也许另一种方式来问同样的事情会是? 如果我有两个相同大小的2,5TB快照,其中snapshot1包含1个文件,snapshot2包含1500万个文件。 两个zfs receive的时间是一样的吗? 或者会比另一个更快?

ext3文件系统性能调优:要监控的指标

我有一个高IO应用程序正在工作,并且扩展到目前为止。 在过去的几个月中,我们一直在试图放眼未来,预测下一个瓶颈将发生的地方。 其中之一肯定是文件系统。 我们正在监测 可用空间 每秒读取操作 每秒写入操作 这对我来说似乎有点太稀疏了。 还有什么我应该看? 我甚至不确定每秒操作的“黄线”是什么。

如何在configurationRAIDarrays时select最佳的条带大小

互联网上有各种各样的“参考资料”,深入讨论了在为磁盘arraysselect特定的RAID条带大小(4KB到128KB或更多)时需要考虑的因素,但是这些都不是非常权威也不一致的彼此真的 例如: 约翰的技术位 条纹宽度和大小 RAID优化指南 特别是文件系统types(FAT,NTFS等),文件系统集群大小,caching策略,磁盘驱动器命令调度策略,多个命令是否可以是排队(标记排队)到有问题的驱动器等。 我正在寻找的是一个权威的,数据驱动和参考的论文,究竟是什么所有因素的考虑真正是最终如何采取分析方法来select最佳的条带大小给定的应用程序,而不经过暴力行使尝试所有这些因素的组合,以查看最佳性能的结果。

在具有16个内核/处理器的2处理器计算机上,SQL Server 2012的CPU利用率非常不均衡

在使用Server + Cal许可证模型安装SQL Server Enterprise 2012之后,在具有两个每个都有16个内核的处理器(并且不涉及超线程)的计算机上,并且将服务器置于极其繁重的负载下,第一个处理器上的16个内核的利用率非常低,第二个CPU上的前4个内核被大量使用,最后12个内核根本不使用(因为这个sql服务器版本的内核限制为20个)。 总CPU利用率显示为25%左右。 不幸的是,即使如果任务在20个内核上均匀分配,服务器的性能也会非常差,但是这种性能不会太差。 Windows Server在ESX Server下的VMWare虚拟映像上运行,但是所有的CPU都被分配给了Windows服务器。 我们试着改变关联设置(例如,将大多数核心分配给CPU,其他核心分配给I / O),但是这并没有帮助解决性能问题。 将产品版本升级到SQL Server Enterprise Core 2012不仅使SQL Server能够利用第二个处理器上先前未使用的12个内核,而且还可以在所有处理器上实现更均匀的任务分配。 为了解决积压的问题,CPU利用率跳升到90%左右,一旦被赶上后下降到33%左右,但是从最新的版本失败后,性能大幅提升,性能问题也随之消失。 我想知道是否有人知道什么可能会导致SQL Server不均匀地分配负载,几乎完全依赖于第二个处理器的前12个核心处于空闲状态的4个内核,并且只在第一个内核的16个内核中分配了几个任务处理器。 另外,有没有什么办法可以让我们更平均地分配20个内核的负载,而不用进行产品版本升级呢? 这个问题的另一面是产品升级做了什么,导致SQL Server开始在所识别的所有核心上平均分配负载? 感谢任何见解,以回答这些问题和/或链接,可能会帮助我更好地了解如何理解发生了什么事情。

TIME_WAIT连接在超时时间到期后没有被清除

我正在用一个连续不断的新networking连接来testing我的一台服务器, tcp_fin_timeout设置为60,所以如果我发送一个类似于每秒100个请求的连续数据stream,我期望看到一个滚动平均值在TIME_WAIT状态下有6000(60 * 100)个连接,这种情况正在发生,但是在netstat (使用-o)查看计时器时,我看到如下连接: TIME_WAIT timewait (0.00/0/0) 他们的超时时间已经过期,但是连接仍然悬而未决,于是我终于用完了连接。 任何人都知道为什么这些连接不清理? 如果我停止创build新的连接,它们最终会消失,但是当我不断创build新的连接时,他们不会这样做,好像内核没有机会清理它们。 有一些其他的configuration选项,我需要设置为删除连接,只要他们已经过期? 服务器运行的是Ubuntu,我的web服务器是nginx。 它也有连接跟踪的iptables,不知道这是否会导致这些TIME_WAIT连接生活。 谢谢马克。

APC真的提高了PHP 5.3+的性能

据Hostgator上的Linuxpipe理员介绍: 使用安装了APC的PHP 5.3并不需要,因为PHP 5.3已经有了APC在其中解决的改进。 这种说法是否准确? 安装APC(可选PHPcaching)是否可以提高PHP 5.3的性能? 我对这个声明提出了质疑,而另外一个pipe理员则通过以下方式进行辩护 我们高层pipe理员的官方话语是避免APC,因为PHP 5.3+已经比以前的版本有所改进,因此APC可能会变得多余甚至冲突 我在这里被扔在这里或者这个陈述是否有效 ? 与Hostgator讨论了这个问题,关于在其7级 VPS上安装APC。

ZFS池缓慢顺序读取

我有一个关于这个问题的相关问题,但它太复杂,太大了,所以我决定我应该把问题分解成NFS和本地问题。 我也尝试过在zfs-discuss邮件列表上询问这个问题,但没有取得太大的成功。 在同一台服务器上的NFS / CIFS目录之间慢速复制 大纲:我如何设置和我的期望 我有一个4个磁盘的ZFS池。 2TB REDconfiguration为2个带条纹的镜像(RAID 10)。 在Linux上,zfsonlinux。 没有caching或日志设备。 数据在镜像之间保持平衡(对于ZFS很重要) 每个磁盘可以以147MB /秒的速度并行读取(raw w / dd),总吞吐量达到588MB / sec。 根据类似的4TB RED磁盘的基准testing结果,我预计每个磁盘的写入速度为115MB / sec,读取速度为138MB / sec,重写顺序数据的速度为50MB / sec。 我预计不会低于100MB /秒的读取或写入,因为现在任何磁盘都可以这样做。 我认为在负载读取或写入顺序数据的情况下,在所有4个磁盘上都会看到100%的IO利用率。 而且在100%的利用率下磁盘将会超过100MB /秒。 我认为这个池可以让我在单个磁盘上进行2次写入,2次重写和4次读取 – 我错了吗? 新的我认为在同一个池上的ext4 zvol与ZFS的速度大致相同 我实际得到的 我发现游泳池的读取性能没有我预期的那么高 bonnie ++基准testing池在几天前 版本1.97 ——顺序输出—— – 顺序input – – 随机 – 并发性1 -Per Chr- –Block– -Rewrite- […]

Linux禁用单个命令的磁盘caching

我们的服务器运行正常,但是当备份或其他扫描进程运行时,它会占用整个服务器。 像clamd会运行并扫描许多文件。 虽然我们预计性能会下降,但它会导致我们的caching死机,最终的结果是我们没有一个可以做任何事情的系统。 有没有办法禁用单个命令的光盘/磁盘caching? 这个想法是这样运行的: # ./nocache clamd 然后,在运行clamd时,不会在读取系统上的所有文件的同时冲击已启动的高速caching。

让清漆从caching中发送旧数据,而获取新数据?

我正在cachingdynamic生成的页面(PHP-FPM,NGINX),并在他们面前有清漆,这工作得很好。 但是,一旦达到caching超时,我看到这个: 新的客户端请求页面 清漆识别caching超时 客户端等待 清漆从后端获取新的页面 清漆递送新的页面到客户端(并且页面被caching,对于即时得到它的下一个请求) 我想要做的是: 客户端请求页面 清漆识别超时 清漆将旧页面传递给客户端 清漆从后端获取新的页面并将其放入caching 在我的情况下,它不是过时的信息是一个大问题的网站,特别是当我们谈论几分钟内的caching超时。 但是,我不想惩罚用户排队,而是立即提供一些东西。 这在某种程度上可能吗? 为了说明,下面是一个对我的服务器运行攻城战5分钟的示例输出,configuration为caching一分钟: HTTP/1.1,200, 1.97, 12710,/,1,2013-06-24 00:21:06 … HTTP/1.1,200, 1.88, 12710,/,1,2013-06-24 00:21:20 … HTTP/1.1,200, 1.93, 12710,/,1,2013-06-24 00:22:08 … HTTP/1.1,200, 1.89, 12710,/,1,2013-06-24 00:22:22 … HTTP/1.1,200, 1.94, 12710,/,1,2013-06-24 00:23:10 … HTTP/1.1,200, 1.91, 12709,/,1,2013-06-24 00:23:23 … HTTP/1.1,200, 1.93, 12710,/,1,2013-06-24 00:24:12 … 我忽略了几百个运行在0.02左右的请求。 但是,我仍然担心用户需要等待2秒钟才能获得原始的HTML。 我们不能在这里做得更好吗? (我遇到Varnish发送caching […]