5年的服务器升级

我正在寻找升级服务器的Web应用程序。 目前该应用程序运行非常缓慢。 我们已经做了一些调整(这是另一个问题本身),并做了一些调整,以便最重的查询运行在另一台服务器上的数据库的副本有作为备份,但是这不会持续更长的时间,我们正在寻找升级。

目前服务器CPU是(4)Intel(R)XEON(TM)CPU 2.00GHz,具有1G内存。

该数据库442.5 MiB,有大约1,743,808条logging。

程序有两个部分,一个是a,插入并更新大部分数据。 b方读取数据并做一些小的更新。

目前我们最大的一天是800个用户(全年用户数量为4万)input系统。 而我们的b方面目前是未知的,但是我们总共有1000个客户。

该系统最有可能在5000个B方面的客户端,约有30万方的用户。

目前的数据库已经有5年的历史了,所以我们很可能期望数据库的增长速度非常快,每年可能翻一番(如果是这样的话,我们很可能会将旧数据归档)。

所以,据说,我们应该得到一个应用程序的每一边的服务器,一边是主,边B是奴隶,任何更新B侧做的路由器端A.

所以问题是我应该得到2或1。

  • 2 x Intel Nehalem Xeon E5520 2.26Ghz(8核)
  • 12GB DDRIII内存
  • 500GB SATAII硬盘
  • 100Mbps端口速度

自然,我需要有一个冗余备份,所以它可能是其中的4个。

目前… 1演出的RAM。

1GB,为一个繁忙的数据库? 真? 数据库的当前大小是445MB。 虽然这比你的1GB内存要小,但是增加更多的内存将为索引,事务日志和查询工作集提供空间,使其全部存在内存中。 如果你甚至只有4GB的RAM,我敢打赌你会发现你的磁盘子系统已经不再那么重要了,而且你的CPU已经足够了。

也就是说,我仍然在看一台新的服务器。 硬盘只能保存这么长时间,最终还是需要把硬盘弄到磁盘上。 还有一个机会,一旦所有的内存都发现你确实需要更多的CPU资源。 所以继续…

我应该得到… 500GB的SATAII硬盘

亲爱的主,不。 您希望该系统中至less有 4个 (数字磁盘)磁盘(当然,更多的磁盘会更好),而且您希望SAS磁盘能够承受。 根据您所展示的内容,您不需要太多的硬盘空间,因此可以获得最小的(因此便宜的)10K磁盘,将它们置于RAID 10configuration中,并确保您拥有真正的硬件基于RAID的控制器 (不幸的是,预计这会增加近1000美元的总成本,或者你没有购买一个好的控制器)。 你应该可以把所有这些都放在一个1U的盒子里,根本没有问题,但是你可能需要devise一个2U的盒子,再加上几个托架,以便于未来的发展。 像这样的系统的总成本将是$ 4000- $ 5000。

如果一个带有4块SAS硬盘的系统听起来比你想要的要贵,那就去和你的老板谈一下,告诉他今年你可以在新服务器上添加内存,如果他能给你钱明年需要真正的服务器。 赔率是他想要做的两个:只是让你买RAM今年让你明年在服务器上便宜。 但是,即使你必须要求SAS over SATA,至less也要坚持要获得4个磁盘和基于硬件的RAID 10。

E5520是您可以使用的唯一芯片吗? 现在已经有点老了,你会看到一些新的56xx系列芯片的性能优势。 而且这个网卡几乎可以肯定是1Gbps而不是100Mbps,而据我所知,服务器主板没有100Mbps的。 如果我也是你,我还会考虑使用一对镜像的10krpm SAS磁盘来做数据库工作。 哦,并确保你使用的是64位版本的Centos,理想情况下是最近的5.6版本。

至于你真正的问题,那么你指定的单机将比现有的机器快得多。 我试图尝试使用单一的机器更多的规格,我上面提到,这将让你投资在更好的磁盘等,那么如果你觉得你需要第二台机器,我会考虑在那个时候。

您可能只想升级磁盘子系统,这可能是您的瓶颈。 你没有说明你的操作系统,但是他们都有工具来testing你的硬盘有多难受。

用于事务日志的双驱动器RAID 1以及用于数据库的3驱动器RAID 5将是您所描述的理想select。 如果可以,至less使用SAS驱动器。

我build议花一点时间来理解为什么你当前的设置是“缓慢的”,并且更准确地统计每一边正在运行的查询的数量和types。 特别是考虑到你的stream量可能会增加10倍,如果你试图盲目扩展,那么你就会面临扩大错误的风险,并且明年会再次扩大规模,花费更多的时间/金钱。

我会开始看几个具体的事情:

  • 更好地了解您当前的stream量。 不仅每种types有多less,而且有多less。 您似乎已经通过读取/写入来分割它,但也考虑了其他types以及每个types如何影响性能(例如,caching/未caching,慢速/快速查询等)。 考虑像“用户”这样的一般类别的危险是,不同types的stream量可能会增加(例如:你的读取速度可能会比写入速度增加得更快),并且types也会有不同的缩放比例(例如:不写)。 监控数周/数月的stream量也将为您未来的stream量增长带来更好的趋势。
  • 找出当前服务器的瓶颈。 像CPU /内存一样简单吗?还是像应用程序/数据库devise那样涉及更微妙的问题? 当你需要的只是一个更好的表索引时,不要在CPU / RAM上花很多钱。
  • 基准/configuration文件你系统知道它的限制是什么。 这一点很重要,不仅要知道什么时候需要再次放大/缩小,还要在更改硬件/软件设置时量化系统的性能。 那最后的应用程序修订是否下降了25%? 调整了MySQLconfiguration做什么? 除非你测量你可能永远不会知道。
  • 根据当前系统的速度和升级预算,我会考虑立即购买一台新的服务器。 当你build立新的服务器,做一些基本的基准testing,看看你会从中获得怎样的性能提升。 如果幸运的话,你可能会发现如此大的增长,以至于能否得到更多的服务器这个问题将会得到解答。