最近有人问我:“你知道什么时候决定要增加内存还是增加服务器?” (在扩展数据挖掘应用程序的上下文中)。
我不知道,所以有什么方法可以决定?我对体系结构和扩展的了解很少(我对计算机内存和服务器功能的了解仅限于高级基础知识),因此,也欢迎普遍了解更多有关这些内容的提示。
最近有人问我:“你知道什么时候决定要增加内存还是增加服务器?” (在扩展数据挖掘应用程序的上下文中)。
我不知道,所以有什么方法可以决定?我对体系结构和扩展的了解很少(我对计算机内存和服务器功能的了解仅限于高级基础知识),因此,也欢迎普遍了解更多有关这些内容的提示。
Answers:
“您知道何时决定在增加RAM还是增加服务器之间做出决定吗?” (在扩展数据挖掘应用程序的上下文中)。
答案是,一旦您为我提供了有关服务器的指标,我就会告诉您哪个(或者是否值得添加两者之一)。这种类型的调整不是巫毒(除非您使用的是没有工具的应用程序和没有工具的服务器操作系统,是的,这是巫术),这是科学。测量应用程序和服务器。简而言之,使用监视指标可以找出性能瓶颈所在,并添加更多的性能瓶颈。
在提高服务器/应用程序性能方面,通常会有很多巫毒(至少是反复试验)。
提出的特定问题的一般规则是,首先增加内存,直到无法再增加,或者直到更多的内存不再提高性能为止。在内存相对便宜的情况下,简单地最大化内存可能更为直接。另外,如果应用程序是大量磁盘,则升级到高速驱动器或高性能控制器可能会有所作为。
但是,这个问题的本质使我认为没有其他尝试来提高性能。我同意硬件价格便宜,因此即使在问题上投入更多服务器也很容易完成。但是,我还要确保已完成其他途径,尤其是OS和数据库的调整。有时,对数据库,操作系统甚至应用程序配置进行细微调整都会带来巨大的性能提升。
在此站点上搜索特定的操作系统,数据库和应用程序,您可能会大获成功。
作为企业架构师,我几乎每天都处理这个问题。垂直或水平缩放?
你有什么需要
您需要支持更多用户吗?您需要提高服务速度吗?你们都需要吗?您是否需要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成为高层管理人员。
您正在使用什么操作系统,它支持多少RAM以及您有多少RAM也是要问的问题。如果您处于32位操作系统的极限,那么购买更多的RAM对您没有好处。如果您使用Windows,则某些SKU限于与32位限制不完全相关的某些RAM。