是否有任何工具可以折磨 – testing和衡量公元performance? 我们正在考虑对我们的环境进行相当大的扩张(想想成千上万台计算机),这会在我们的AD环境中引发大量交易。 我们怀疑我们需要为我们的核心networking添加硬件,但是我不想盲目购买硬件,浪费金钱或者损害用户的性能。 有任何想法吗? 我正在考虑一个生成综合交易的工具,但我愿意接受任何build议。
我已经阅读和理解你能帮我做我的能力计划吗? ,但我不确定我是否明白在DNS服务器scheme中我的下一步是什么。 我认为我的CPU负载很高,或者我可能会开始删除查询,但我想更好地了解我的服务器的负载,然后我采取行动。 这对我来说尤其重要,因为众所周知,将基础架构扩展到DDoS负载正在失去战斗力。 我应该怎样分析才能了解我的环境?
原谅我,如果这似乎是一个基本的问题,但我真的不能在Google上find具体的东西,我不是一个交易的系统pipe理员。 我们正在使用具有8个磁盘的RAID Z3configuration(8 x 1.36 TB驱动器)的NexentaStor在我们的办公室build立一个SAN,并且正在configuration一切。 目前,就总磁盘空间而言,我们在SAN上有大约10.8 TB的“真实”存储,全部分配在一个zpool / zvol中。 我正在考虑对zvol进行精简configuration(为了争论起见)100TB的空间来解释未来的增长。 理论上这似乎很简单:当我们接近耗尽实际的磁盘空间时,我们只是添加一些新的驱动器,它将“正常工作”:无需担心文件系统resize或停机时间。 但是,我们如何知道何时需要增加更多容量,而不是每隔几小时login到SAN,并确保我们仍然有剩余空间? 例如,这通常是通过设置一个cron作业来处理的,或者NexentaStor(或者ZFS本身)在你接近容量的时候提供警告,或者是预计你应该“知道”你在给定的空间上剩下多less空间时间,必须自己跟踪它? 如果有帮助,10.8 TB zvol将用作我们的虚拟服务器和testing虚拟机(也是精简configuration)的后备存储(通过iSCSI),所以我看到的部分问题是可以很容易地运行如果我们不断地创build/快照/恢复虚拟机(当testing不同的机器configuration和软件环境时,我们做了很多工作),磁盘空间不足。
什么时候开始向您的Web应用程序添加(或考虑添加)服务器? 从一台服务器(DB和Web)到多台服务器有什么困难? 例如: 大多数情况下,你从一个用于数据库和Web的服务器开始,然后将DB / Web分离到不同的服务器上,然后转到多个Web服务器(这会创build会话问题),然后可能是DB等的NAS等。
我们正在运行一个网站,目前正在服务3-5万页面浏览量。 我们的网站是一个文件共享网站,因此它包含25万个文件和几千个符号链接。 硬盘是1500GB的SATA硬盘。 使用hdparm我们知道我们的硬盘速度已经降低到15-20 MB / s,这是80 MB / s。 所以现在我们要运行fsck来修复磁盘问题。 fsck会解决这个问题吗? fsck需要多less时间才能完成(只是我们要计算我们将要进入的停机时间)?
我有一个在Windows 2008 R2上运行的自定义服务器应用程序。 这是一个用.Net编写的本地Windows服务,支持多种自定义terminal。 我有一个testing机器,它和现场服务器有类似的规格,我有一套客户机模拟器,可以用来产生一个合理的真实系统的近似值。 我需要能够支持其中的12,000个,目前服务器内存不足(Paging正在通过屋顶)。 我的计划是只启动100个模拟器,测量内存使用情况,然后再次启动100多个测量内存,并重复,直到分页开始上升(实际上,我将采取超过三个数据点。)这应该给我一个数字100个模拟器所需的额外内存量,并使我能够预测需要多less内存。 我只需要一个大概的+/- 30Gb,以避免购买服务器将采取的完整的2TB(价值$ 150,000)。 我的问题是,这是一个合理的方法来使用,如果是这样的性能计数器,你会监视给实际使用的内存量? 我在此专门讨论内存,因为“工作集”,“私人字节”,“承诺”,“共享”,“虚拟”以及所有其他内存条款之间的区别让我感到困惑。 我想我可以自己pipe理CPU,IO和networking。 我注意到的另一件事是.Netcaching调整其内存使用情况取决于什么是可用的,这使得发现一个趋势很难看到。
在我工作的地方,我们有许多“大铁”服务器,用于使用Xen Hypervisor托pipe许多虚拟机。 这些通常configuration32GB内存,双四核处理器和具有I / O容量的快速磁盘。 现在我们正处于现有硬件configuration日益枯竭的时候,现在是时候出去,寻找更大,更快,更新的硬件。 如上所述,现有的套件已经部署了32GB内存,并有效地限制了我们可以部署到主机的虚拟机数量。 然而,在调查新硬件时,显然你可以在单个机箱内使用64,72甚至96GB的单个机器获得更多的RAM。 显然,这将使我们能够获得更多的机器给一个给定的主机,这总是一个胜利。 到目前为止完成的分析表明,限制因素现在将转移到磁盘子系统。 现在的问题是试图弄清楚我们所处的位置。根据使用情况,我们知道我们不限制I / O带宽,更重要的是随机数I / O操作,可以完成..我们知道,一旦我们打到这一点,然后艾奥瓦特将上空火箭,整个机器的性能将去的狗。 现在,这是我所问的问题的症结所在,是否有人知道如何准确跟踪/趋势现有的I / O性能,特别是随机I / O操作数量的完成? 我真正想要得到一个指标是“这个configuration可以成功地处理X个随机I / O请求,而且我们目前(平均)正在执行Y操作,带有Z操作的峰值”。 提前致谢!
这是非常依赖系统的,但是几乎可以肯定的是,我们将经过一些任意的悬崖,进入真正的麻烦。 我很好奇,对于一个好的RAM与磁盘空间的比例,存在什么样的规则。 我们正在计划下一轮的系统,并且需要对内存,SSD以及每个新节点的数量做出select。 但现在有些performance细节! 在单个项目运行的正常工作stream程中,MongoDB的写入比例非常高(70-80%)。 一旦处理pipe道的第二阶段结束,读取的数据就非常高,因为它需要对在前半部分处理中标识的logging进行重复数据删除。 这是“让你的工作集在RAM中”的工作stream程,我们正在围绕这个假设进行devise。 整个数据集不断被来自最终用户派生源的随机查询命中; 虽然频率是不规则的,但大小通常很小(10个文件组)。 由于这是面向用户的,所以回复需要在3秒钟的“无聊 – 现在”阈值之下。 这种访问模式在caching中的可能性要小得多,所以很可能会产生磁盘命中。 二次处理工作stream程是先前的处理运行的高度读取,其可以是几天,几周甚至几个月,并且很less运行,但仍然需要快速。 以前的处理运行中的文件最多可以被访问100%。 我怀疑,没有任何数量的高速caching可以帮助解决这个问题。 完成的文件大小差别很大,但中值大小约为8K。 正常项目处理的高读取部分强烈build议使用副本来帮助分发读取stream量。 我已经在其他地方看到,对于慢速磁盘,1:10的RAM-GB到HD-GB是一个很好的经验法则。由于我们正在认真考虑使用速度更快的SSD,我想知道是否有类似的规则的快速磁盘的拇指。 我知道我们正在使用Mongo的方式是caching – 一切真的不会飞,所以我正在寻找方法来devise一个系统,以保持这种使用。 整个数据集可能在半年内成为结核病的大部分,并持续增长。
我有一个应用程序写入一个ext3目录,随着时间的推移,已经增长到大约三百万个文件。 不用说,读这个目录的文件列表是不可忍受的慢。 我不怪责ext3。 正确的解决办法是让应用程序代码写入子目录,例如./a/b/c/abc.ext而不是仅使用./abc.ext 。 我正在改变这样的子目录结构,我的问题是:大概有多less文件应该存储在一个ext3目录,同时仍然可以接受的性能? 你有什么经验? 换句话说, 假设我需要在结构中存储300万个文件,那么./a/b/c/abc.ext结构应该有多less层次? 显然这是一个不能准确回答的问题,但我正在寻找一个球场的估计。
VMware内存pipe理似乎是一个棘手的平衡行为。 有了集群RAM,资源池,VMware的pipe理技术(TPS,膨胀,主机交换),客户机内RAM利用率,交换,预留,份额和限制,还有很多变数。 我处于客户端使用专用vSphere群集资源的情况。 但是,他们正在configuration虚拟机,就好像它们在物理硬件上一样。 反过来,这意味着一个标准的VM版本可能有4个vCPU和16GB或更多的RAM。 我来自小的学校(1个vCPU,最小的RAM),检查现实世界的使用和必要的调整。 不幸的是,许多供应商的要求和不熟悉虚拟化的人需要更多的资源,而不是必要的…我有兴趣量化这个决定的影响。 来自“问题”群集的一些示例。 资源池摘要 – 看起来几乎是4:1过度提交。 注意大量的膨胀的RAM。 资源分配 – “最差情况分配”列显示,这些虚拟机在受限条件下可以访问configuration的RAM的50%以下。 上面列表中顶级虚拟机的实时内存利用率图。 4个vCPU和64GB RAM分配。 平均使用9GB以下。 同一个VM的摘要 在vSphere环境中过度使用和过度configuration资源(特别是RAM)有什么缺点? 假设虚拟机可以运行在更less的内存中,那么说虚拟机的configuration比实际需要更多的内存,这是否公平呢? 有什么反驳: “如果一个虚拟机有16GB的RAM分配,但只使用4GB,有什么问题? ”? 例如,客户需要教育虚拟机与物理硬件不一样吗? 应该使用什么特定的度量来度量RAM的使用情况。 跟踪“主动”与时间的峰值? 看着“消费”? 更新:我使用vCenter Operations Manager来分析此环境,并获取上面列出的群集统计信息的一些详细信息。 虽然事情肯定是过度的,虚拟机实际上是过度configuration与不必要的内存,真正(微小)的内存足迹显示在集群/主机级别没有内存争夺… 我的结论是,虚拟机应该是正确的大小,有一点点的操作系统级caching的缓冲区。 超出无知或供应商的“要求”导致这里提出的情况。 在任何情况下,内存膨胀似乎都很糟糕,因为性能会受到影响,所以正确的大小可以帮助防止这种情况发生。 更新2:这些虚拟机中的一些开始崩溃: kernel:BUG: soft lockup – CPU#1 stuck for 71s! VMware将此描述为大量内存过度使用的症状 。 所以我想这个问题的答案。 vCops“超大型虚拟机”报告… vCops“可回收废物”图…