Articles of 性能

在Ubuntu上监视ZFS Raid池的完整性和性能

我在Ubuntu上设置了ZFS(通过保险丝)作为存储arrays,尽pipe它处于“testing”状态,但它已经运行了近一年了。 我每隔一段时间login并检查一次数组,使用: zpool status 其结果是: NAME STATE READ WRITE CKSUM media ONLINE 0 0 0 raidz1 ONLINE 0 0 0 sda ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 errors: No known data errors 这一切都很好,但我想自动化一种方法来检查每一次,以确保我的游泳池是没有错误的。 我有仙人掌和zabbix在我的处置。 我想我也可以编写一个程序来处理这个输出,如果找不到“没有已知的数据错误”的话,给我发一封电子邮件。 但是,有没有这样做的软件包,或者说我如何从这个数组中获得一些性能指标?

在Windows Server 2008上浪费多less时间?

我正在使用运行在Hyper-V虚拟机中的Windows Server 2008。 系统performance非常糟糕。 我们很确定这是由于内存不足。 我已经看了如何找出我的Windows Server 2003是否需要更多内存? ,而且我很确定看到每秒input大于300页,那么内存就是问题所在。 不过,我正在问一个更广泛的问题。 我希望将pipe理层的注意力集中在等待这些页面错误时浪费的时间。 有没有办法确定等待分页或其他资源需要花费多less时间? 我对交互式用户花费的时间特别感兴趣,但是包含非交互式用途的编号也是有帮助的。 澄清,所以这似乎不像呜呜声: 这个系统是如此之慢,以至于它花了几分钟 ,而一个notepad.exe窗口是活动的,以激活已打开并显示第二个notepad.exe窗口。 这只是激活 。 性能不是稍差。 我认为这一天浪费了几十个工时。 我正在寻找一种方法向pipe理层明确表示浪费了多less时间。 这是在我们实际上没有十个工时浪费的时候发生的。 对不起,我没有提供更多的细节。 此服务器正在用于SharePoint(WSS 3.0)开发。 它运行IIS 7,每个开发人员至lessconfiguration一个应用程序池。 每个开发人员都有一个或多个Web应用程序,每个Web应用程序都在AppPool中分配给该开发人员凭据。 我们正在运行Visual Studio 2008 SP1和SQL Server 2008. SQL Server数据位于与操作系统不同的虚拟磁盘上。 我已经在系统上看到了多达8个开发人员。 服务器configuration有2GB的RAM,由于主机的限制,此时更多的RAM不是微不足道的。 如果我能够提出足够的理由来纠正这个问题,我希望这个问题能够得到纠正:这是浪费了多less时间。 编辑 感谢您的答复和评论。 我同意这个解决scheme – 将SharePoint加载到一个4-8GB的服务器上,然后把SQL Server移动到另一个2-4GB。 但我的问题更像是:是否有任何性能计数器或工具,可以告诉我等待页面读取和写入的时间量? 任何可以告诉我等待排队的磁盘I / O花费的时间? 有可能获得像“每秒input页数”这样的性能计数器,但很难说这个计数器的值是“太多”了。 如果有“计数器”可以说因为每秒input页面而花费了多less时间,那对我的目的会更好。

为什么在具有相同硬件/数据的Oracle服务器上,此SQL运行速度比另一个Oracle服务器快得多?

我的应用程序有一个SQL需要大约30分钟才能在生产中的Oracle服务器上运行。 这在testingOracle服务器中大致相同。 出于某种原因,在另一个Oracle服务器上,运行速度要快得多:只有5分钟左右! 这些时间确实只针对SQL(没有应用程序处理开销)。 我从Oracle企业pipe理器中获得了它们。 而且,它们是一致的,也就是说,如果您再次运行SQL,则可以获得相同的计时。 硬件,Oracle版本(10g),这三台服务器的数据是一样的。 即使是SQL执行计划也完全一样。 在testing环境中SQL是如何运行的呢? SQL是一个MERGE: MERGE /*+ USE_NL(DORMANT_POINTS) */ INTO MKT_CURVE_POINT DORMANT_POINTS USING (SELECT // big select ) ACTIVE_POINTS ON ( // .. ) WHEN MATCHED THEN UPDATE SET DORMANT_POINTS.ACTIVE_PARENT_PRICE = ACTIVE_POINTS.ACTIVE_PARENT_PRICE WHERE DORMANT_POINTS.ACTIVE_PARENT_PRICE <> ACTIVE_POINTS.ACTIVE_PARENT_PRICE; 我怀疑这是关于caching的事情。 与运行SQL的服务器中的物理读取相比,我注意到大量的缓冲区获取。 在运行缓慢的服务器中,这个比率较低。 什么可以解释这个巨大的性能差异?

文件系统在填满时是否会失去性能?

问题的上下文是一个Windows计算机(因此所讨论的文件系统是NTFS),正在填充可能被删除的数据。 但是我不知道是否值得花时间去研究,还是应该整理一下,然后继续前进。 基本上,文件系统的“完整性”是否会导致性能下降,还是仅仅是碎片化会降低速度? 如果是这样,它是否有意义的区别?

什么是从内存中的单个服务器服务单个静态网页的最快方法?

一直在处理对网站系统资源日益增长的需求,并让我思考: 什么是从内存中的单个服务器服务单个静态网页的最快方法? 随意请求澄清,基本上尽量减less应用程序堆栈,尽量less使用内存,但尽可能使系统保持在内存中。 猜测静态网页不会超过HTTPS,将是20K,没有图像和内联CSS / JS; 这意味着它是一个文件。 更低成本/资源系统的要点。

如何降级120 Mbit线路,testing网站速度?

如何将120mbit的线路 (我们目前的连接)临时降级到10mbit,以testing我们的潜在客户使用速度较慢的互联网正在经历的网站加载? 在这一刻,一切都在不到一秒的时间内加载:对于我们来说,现在没有办法体验作为用户在视觉上build立起来的页面。 我一遍又一遍地查找了FireFox的插件目录,但没有find。 任何和所有的提示,欢迎! UPDATE 是啊,虽然只是有一些Firefox插件,你知道,在哪里可以设置最大虚拟Kbit,这样你甚至可以体验56K的人将如何体验。 不是世界上的普通人可以使用它,而只是潜入怀旧的一分钟,并感受十年前的互联网体验(或远离世界另一端的用户访问您的服务器…非常方便将速度限制在1 Mbit 。

在VMware ESX中将来自不同供应商的NIC组合在一起可以吗?

我想用我的两台服务器(SAN和ESX)实现最佳性能。 我有良好的RAID(LSI,SASes),显示1GB / s的结果,所以现在的瓶颈是networking部分,因为我在每个端口上只有两个NIC(英特尔)。 我也有4个Broadcom。 如果我将在每台服务器上配备2个Broadcom,我将获得4 Gbps的性能吗? 我知道10Gb网卡会更适合我的需求,但现在我没有这个选项。

使用腻子客户端的SMB SSH隧道痛苦地缓慢

我已经使用putty SSH客户端设置SMB ​​SSH通道,直接从我的Windows机器上的服务器编辑我的网页(也因为我的virtuazoo服务器不允许NFS)。 即使将blowfish作为encryptionalgorithm,它也会超慢(2-3 KB / s) 任何想法来提高性能?

Apache 2.4 +中的Apache MPM事件

多年来,我一直在使用mpm-prefork模块,因为据我所知,这是Apache 2和1.3的首选工作者。 现在我将安装一些新的Apache服务器,并将使用更新的2.4版本,基于事件的mpm使用epoll / kqueue。 我知道在过去的几年里,基于事件的系统已经变得非常stream行(例如nginx,lighttpd,node.js),所以既然mpm-event现在在Apache中是稳定的,那么这是首选的多处理模块吗? 我还注意到了mpm-event文档页面的评论: 改进的连接处理还不适用于某些连接筛选器,特别是SSL。 对于SSL连接,此MPM将回退到worker MPM的行为,并为每个连接保留一个工作线程。 我们的主站强制build立一个SSL连接,所以很明显,我们不会从改进的与保持连接有关的连接处理中获益,但是我的理解是正确的,因为线程的发生将会减less,所以仍然会有一些性能改进。

当使用RAID10 + BBWC时,为什么将PostgreSQL数据文件从操作系统和事务日志中分离出来比把它们全部放在同一个arrays上更好?

我已经看到了各地的build议(包括这里和这里 ):将操作系统分区,数据库数据文件和数据库事务日志保存在不同的磁盘/arrays上。 一般的build议是使用RAID1作为操作系统,RAID10作为数据(或RAID5,如果加载非常偏向读取),RAID1作为事务日志。 但是,考虑到您至less需要6或8个驱动器才能build立此设置,那么使用BBWC的6-8驱动器的RAID10性能会不会更好? 如果硬盘是固态硬盘呢? 我在这里谈论内部服务器驱动器,而不是SAN。