更多的内存与更多的服务器


9

最近有人问我:“你知道什么时候决定要增加内存还是增加服务器?” (在扩展数据挖掘应用程序的上下文中)。

我不知道,所以有什么方法可以决定?我对体系结构和扩展的了解很少(我对计算机内存和服务器功能的了解仅限于高级基础知识),因此,也欢迎普遍了解更多有关这些内容的提示。


3
请给我两个
Dirk Eddelbuettel

1
我能想到的每个实例中都有更多的RAM ...(除了服务器已在RAM上
最大化

3
与大多数Thigns系统管理员一样。如果可能的话,最好的答案是在开发或生产系统上收集数据,然后根据您收集的数据做出决定。
Zoredache

您要问的问题是要扩大还是扩大规模。
micmcg 2010年

大多数数据挖掘软件都是为一台计算机设计的。因此更多的RAM。如果您使用的是Mahout或parallel-R或拥有什么,则更多的服务器。我会租用Amazon AWS服务器进行实验,以找到最佳的#servers / ram组合。
尼尔·麦圭根

Answers:


8

“您知道何时决定在增加RAM还是增加服务器之间做出决定吗?” (在扩展数据挖掘应用程序的上下文中)。

答案是,一旦您为我提供了有关服务器的指标,我就会告诉您哪个(或者是否值得添加两者之一)。这种类型的调整不是巫毒(除非您使用的是没有工具的应用程序和没有工具的服务器操作系统,是的,这是巫术),这是科学。测量应用程序和服务器。简而言之,使用监视指标可以找出性能瓶颈所在,并添加更多的性能瓶颈。


不,它仍然是巫毒教,但您是巫医!更重要的是,..新手如何使用这个答案来解决他的问题?他应该检查哪些基本指标,以及他如何知道哪些数字有意义?明白了...
tomjedrz 2010年

这让我想起了旧的气球笑话。officediversions.com/discover/modules/wfsection/...
tomjedrz

哪个基本指标取决于哪个系统。这个问题太笼统了,不可能给出除基本知识(CPU,内存,磁盘等和应用程序监视器)以外的更具体的答案。给定了假想的新手,他们根本无法解决此问题,因为您首先需要知道如何监视有问题的服务器-那将是一个完全独立的问题
Jim B 2010年

5

在提高服务器/应用程序性能方面,通常会有很多巫毒(至少是反复试验)。

提出的特定问题的一般规则是,首先增加内存,直到无法再增加,或者直到更多的内存不再提高性能为止。在内存相对便宜的情况下,简单地最大化内存可能更为直接。另外,如果应用程序是大量磁盘,则升级到高速驱动器或高性能控制器可能会有所作为。

但是,这个问题的本质使我认为没有其他尝试来提高性能。我同意硬件价格便宜,因此即使在问题上投入更多服务器也很容易完成。但是,我还要确保已完成其他途径,尤其是OS和数据库的调整。有时,对数据库,操作系统甚至应用程序配置进行细微调整都会带来巨大的性能提升。

在此站点上搜索特定的操作系统,数据库和应用程序,您可能会大获成功。


5

作为企业架构师,我几乎每天都处理这个问题。垂直或水平缩放?

你有什么需要

您需要支持更多用户吗?您需要提高服务速度吗?你们都需要吗?您是否需要99.9999的高可用性,或者您的用户会停机?

首先,您需要捕获当前系统上的性能指标。活动用户数,RAM和CPU负载,光盘I / O-找出瓶颈所在。

基于问题的可能解决方案:从优化当前资源开始。如果您的应用程序是数据库驱动的,则使用查询和线程缓存,索引等来优化数据库。如果您与其他应用程序共享服务器,则探索迁移到专用服务器。(针对不太活跃/关键的应用程序使用虚拟化来释放专用资源)。

当前的计算机已满负荷运行,RAM和CPU负载很重,磁盘I / O较高-计算添加RAM的成本,是否可以切换到速度更快的磁盘I / O(RAID,SATA代替ATA)?

如果您需要高可用性,那么您可能仍然需要添加硬件和负载平衡。

添加硬件升级或添加新服务器便宜吗?哪个符合长期目标和增长?

您的IT部门什么时候是最佳的花费时间?您现在有资金吗?还是想将费用转移到另一个季度/年?如果资金不足,请立即进行优化,或者尝试从其他应用程序中释放硬件,以添加临时负载平衡解决方案。

不要害怕探索众多解决方案。供应商可能希望您购买以负载平衡,以SAN存储为中心的解决方案,其中新的带有iSCSI RAID 10的服务器将以成本的10%运行。

如果优化后您的CPU仍然很重,那么您需要添加/更换硬件。如果您的磁盘I / O成为瓶颈,并且您无法升级存储技术,则需要更换硬件或添加网络存储/附加存储解决方案。

捕获性能指标。再次优化,改进和捕获指标。不断记录性能的提高/降低,以便您上交一份报告,以记录您花费了多少以及带来了多少性能提升。这些都是可能的成功故事的类型,只要做得正确,就可以使管理员成为架构师,使建筑师成为项目经理,而PM成为高层管​​理人员。


2

你在寻呼吗?您要使用RAM缓存磁盘吗?您的CPU是否绑定了可用RAM?

如果您正在分页和/或可以使用RAM进行缓存,则可以获得更多的RAM。如果您没有遇到RAM压力,那就另当别论了。


2

RAM很便宜。您应该始终将其首先提高到您那里最经济的数量(例如4gb DIMM的价格过高,所以我不会理会它们)。

然后探索横向扩展(更多服务器)。考虑廉价的消费类硬件与昂贵的服务器部件,但可以预见故障,并在总处理能力中建立故障转移估计。

基本上,做一个Google


1

您正在使用什么操作系统,它支持多少RAM以及您有多少RAM也是要问的问题。如果您处于32位操作系统的极限,那么购买更多的RAM对您没有好处。如果您使用Windows,则某些SKU限于与32位限制不完全相关的某些RAM。


1

有些人似乎认为添加RAM是一种神奇的解决方案。仅在内存成为瓶颈时才有用。


它不是“魔术”,但相对便宜,并且在大多数情况下是一个很好的首次尝试。
tomjedrz

1
@ tomjedrz:一次不错的尝试,除非不是。这真的非常简单-我们是在做“系统管理作为一门科学”并在完成测试和资源监视以表明它需要它之后在机器上添加RAM,还是在“进行宗教信仰的系统管理”并添加RAM到机器上,因为这是宗教卷轴告诉我们的,是对服务器有点慢的正确祈祷吗?我个人更喜欢科学方法。
罗伯·摩尔

0

更多的RAM =更多的虚拟机。

所以我想更多的RAM =更多的服务器!


1
更多虚拟机需要更多iops,ram只是众多资源中的一种。
Tony Roth 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.