斥资千万仍不给力?服务器到底该怎么选?

 

e企学院第九期课程,大咖经验分享,教你如何选择适合的服务器!...



e企学院第九期课程

服务器各类型的优缺点是什么?如何根据应用选择服务器?服务器存在哪些瓶颈?服务器选型技巧是什么?

讲师分享
自我介绍一下,我叫陈长江,从事IT行业15年,目前从事的工作跟IT基础架构、运维有关。我本次跟大家分享的主题是“企业如何选择服务器”,这也是我个人在这个行业里多年的经验和自己的一些心得,希望能给大家一些参考和建议。

我的分享主要从四个方面展开:服务器的种类、如何根据应用来选择服务器、服务器会存在哪些瓶颈、服务器选型技巧TPC-C。
我们常见的服务器种类有塔式服务器、机架服务器、刀片服务器、现在比较火热的超融架构以及小型机。

下面我跟大家介绍一下塔式服务器。
塔式服务器它的维护成本是比较低的,运用环境方面完胜其他类型的服务器构造,成为服务器选购的首选。它的占用空间相对于比较灵活一点,像一些企业内部自建机房不是标准性的,可以购买塔式服务器。
机架服务器是一个标准化的产品,外部尺寸是有统一要求的,它必须能够安装在标准机柜中,普通服务器机柜高度是42U,机架服务器一般才采用1U到4U的高度。
刀片服务器是密度更高的服务器类型,其主要结构是一种大型主体机箱,通常是7到10U的高度,机箱里可插上10到16片的刀片服务器节点,每个刀片节点是一个独立的供电系统,因此在满载的情况下是比较省电的。
超融架构目前是比较一些主流的超融合架构,主要是有一些优势是2U四节点的服务器,可能在目前比较流行的一些,像VMvsan等代表分布式存储的,大部分是使用这样一些机器类型。
最后就是小型机,其实购买小型机,我们主要也是考虑它的一个运算能力,I/O的吞吐能力以及TPMC值这几个是最重要的指标。

第二个问题是企业如何选择服务器。
1、托管如何选择?

从成本的角度来讲,带宽共享和独享、单线和BGP、服务器的U数,这些都是不一样的。

2、自有机房如何选择?

从环保角度来看,选择电源功率低的,非特殊要求尽量选择1U的服务器或者超融合架构的服务器,这样是比较省空间的。
如何根据应用选择服务器呢?我们有几大类。

第一个是web java中间件,其实对CPU的选型和内存的选型,我们一般都建议CPU和内存是按1:2配置的,但是java中间件在32位操作系统会有一个问题,一般jvm只能配置2G内存,也就是我说选择一些java中间件的话,我们内存要选择4到8G。

数据库如何选择服务器?如果是我们一些普通类的数据库,建议选择2路CPU,跑大型ERP系统,我们建议是4路CPU,CPU和内存按1:2选择。如果考虑数据库的读写性能,我们可以做raid10,或者外接磁盘柜,我们能获取更高的I/O。
邮件服务器是企业内部最常用的一个功能服务器,邮件服务器大多数是存储一些邮件,我们建议CPU和内存配置也是1:2配置,读写性能一定要好,建议raid10。

文件服务器,CPU内存也是按1:2配置,读写性能要好,建议raid10。

分布式存储系统也就是我们之前所提到的像一些VM ware、nutanix、smartx,都是一些分布式存储,我们建议使用超融合架构,一般都是2U4节点,它比较省机柜的空间,而且像这种横向扩展比较方便,比传统架构FC的存储优势更高。
服务器会存在哪些瓶颈?

一般的服务器会存在三方面的瓶颈,第一个是CPU资源不够用,第二个是内存资源,第三个是IO。

我们首先看一下CPU密集型的系统是什么样的。我所发的图片只是一个展示的,在Linux系统上,我们先看到CPU的空闲很低,我们user系统已经用了90%以上,如果LInux系统CPU运行参数或者获取的性能指数经常是这样的情况的话,也就是说可以判断我们的应用类型是一个CPU密集型的。当这样的应用发生应用瓶颈的时候,我们就去考虑升级更高运算能力的CPU,可买比现有CPU更高一个档次的。

第二种就是内存瓶颈了。我们可以看到,我们一个swap的交换分区已经被使用完了,所以如果是在我们系统上发现这样的情况,那我的机器是相当缓慢的,因为它用了一个swap交换分区,我们就要建议升级内存,或者建议在购买服务器的时候一定要考虑到它的内存要足够。

第三个就是IO。我们所说的服务器的IO的瓶颈会在哪里?它主要是一个随机IO。我们大家都知道,一块15K的sas盘,它的随机IO可能是160个,也就是说每块只能做160个随机IO。在我们系统中可以看一下监控IO的参数,最后一类有个%util,我们对于sda如果出现了100%的问题,就说明我们的磁盘IO已经达到瓶颈了。

其中有一个参数就是r/s,也就是我们的每秒磁盘操作数读,w/s就是我们的磁盘每秒的读写。一般的应用系统,我们都可以看出来它的读写是有一定的比例的,也就是它一般是读会多,它的写会少。

有人会问当我们的IO达到瓶颈怎么去解决这个问题呢?如果排除我们一些系统本身软件开发或其它方面一些因素下,我们IO怎么升级呢?我们可以用一些磁盘柜或者一些闪存,或者一些有数据分层的这种存储来实现,也可以用一些分布式存储,当然也有最近比较流行的叫做VMware vsan 的全闪存,都会很好提高系统硬盘的读写IO。
第四部分,服务器选型技巧TPC-C。

这个可能大家很少接触过,那我就跟大家讲讲什么叫TPC-C。TPC是被称为事务处理性能委员会,负责定义注入IO、TPC-H&TPC-R和TPC-W基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。

TPC-C是一个在线事务处理的标准与基准测试,我们通常用TPC-C基准测试是针对某一种模拟的订单录入与销售环境测试每分钟的商业事务,也叫tpmC,也就是说要得到一个每分钟的事务处理数。
我这里的PPT,有一个如何测算tpmc项目的实例,我大概给大家讲一下,主要是应对数据库服务器的选型。打个比方,我们约定系统同时在线用户人数是1500人,平均每个用户发起2次业务请求。系统发出业务请求中,更新、查询、统计各占1/3。平均每次更新业务产生3个事务,平均每次查询8个事务,平均每次统计业务产生13个事务,一天内繁忙的时间处理量位平均值的5倍,我们有一个经验系数,这个经验系数根据实际工程来去做判断的。还有我们要考虑一个服务器保留30%的冗余,所以服务器需要处理能力的公式,TPC-C=U1*N1*(T1+T2+T3)/3*3*经验系数/冗余系数,这样会得到一个tpmc值是多少,28万,也就是说数据库每分钟要处理28万的事务。

一个事务是什么?我打个比方,事务就是我们在开发中经常提到一些事务,比如查询、统计之类都要进行数据库一些事务处理。这里就是我们通常所说的一些事务。

如果我们的项目已经测算出tpmc的值,我们对数据服务器进行选型的时候,我们怎么去选CPU呢?有一个tpmc的官网可以去查看,也就是TPC有一个地址,大家可以看一下,不同厂商对他们的服务器都有一些tpmc的测算值,大家可以点进去看,有一些每分钟的事务处理。如果说我所要的一些tpmc跟他给出的一些实际数据相匹配,我们大概可以建议选择这样CPU类型的机器,包括CPU、内存。其中有一个需要注意的细节,有一个测试场景的数据输出。

测试场景的数据输出,我们要根据这个详细的测试细节,你们才能获取更多的一些信息。一些数据库的瓶颈,其实CPU是一方面,CPU只是达到我们运算的能力,但更是重要的是一些后端的存储,就是我们IO能不能支撑。
互动问答
1


Q:如何看服务器硬盘是否健康啊?我现在的硬盘用了4年多了,不晓得健康情况。

A:一些品牌的服务器,如果联想、IBM、戴尔服务器都有一个MegaRAID Storage Manager,简称MSN的管理软件,安装在服务器上,可以查看一些raid阵列读写信息,如果明确说有报一些错误的话,那你可能就是硬盘数据块出现问题,如果没有就不必要担心硬盘的问题,就定期去巡检。
2
Q:如何根据业务需求去针对性的采购服务器,做到硬件资源不浪费?比如200用户登录oa系统用的服务器,20用户同时登录用友用的服务器。或者能不能把这两个应用整合在一个服务器上?是否建议服务器虚拟化,选什么配置的服务器?

A:我给大家的建议是这样,200用户登录OA,20登录的ERP,第一要分析出现有OA跟ERP的CPU使用率和内存使用率是多少,IO是多少,如果CPU跟IO如果是很低的话,而你一台虚拟化服务器可以同时承载这两个应用,完全可以进行虚拟化。因为虚拟化的话,除了你有一些外设,比如有一些外设不支持的话,那应该是没法支撑你的应用。如果没有这些东西的话,你可以进行虚拟化来实现你的ERP跟OA的应用。
3
Q:我想问下刀片式服务器,什么时候选择刀片服务器那,他有什么优点?

A:其实我们之前也讲过,刀片服务器是一个集成度很高的东西,首先如果刀箱出现问题,可能整个机器都用不了。第二个对刀箱有承重的问题,如果机房接受不了这个承重,就放不了刀箱的,它的缺点就是这些。优点,你可以去参考我那张PPT里面所说刀片服务器的一些优点。
4
Q:IDC托管和自建机房有什么优缺点?

A:这个可能需要考虑很多成本的问题,当然如果我的成本很有限的话,我尽量可以选择一些托管机房,因为我只需要考虑我购买多少带宽,我买了服务器就可以了。自建机房成本相当高的,首先我们要投入场地,有空调和制冷系统,供电系统,而且你的机房要建成达到什么标准,这是需要你去考虑的。
5
Q:超融合是什么意思,什么应用使用超融合服务器,高密度的服务器属于超融合吗?cpu越高主频越好吗?虚拟化的服务器节点越多越好吗?

A:

超融合,我讲的是针对传统数据中心而定义的,比如传统的服务器,FC网络,后端是磁盘柜。超融合架构它是完全用X86来取代了这些东西,有1台服务器,4个节点,它就可以实现我们的存储的功能。服务器跟服务器之间它用10GB的以太网进行高速传输的。

服务器并不是它的主频越高越好,要看它的三级缓存。

虚拟化服务器的节点并不是节点越多越好,打个比方,如果我们选择一些Vmware的虚拟化,Vmware有一个官方最佳实践,可以去评估你现有的虚拟化环境是不是最佳的一个实践。
6
Q:1:2是指一颗CPU+两条内存么?

A:我们说CPU跟内存1:2是这样的,1核的CPU,2G的内存,可能我没有描述清楚,我这里更正一下。
7
Q:内存比例是不是还要看cpu的类型来算比例?

A:我们通用性的一些服务器的选择,当然它的CPU跟内存是1:2的,有其它一些额外的场景,比如我这就是消耗CPU的,当然你的CPU的选择相对选择好一点。如果我这是做内存服务的,比如像一些内存数据库,当然你的内存是用得是比较多的,从这方面去考虑。
8
Q:请问建立100用户的云桌面服务器,需要选购多少台服务器去支持?

A:桌面虚拟化我了解的不是很多,你可以去咨询一下Citrix(思杰)桌面虚拟化的,可能他们做的比较好一点,但是我也知道一些,就是说对于一些桌面虚拟化可能会遇到一个启动风暴的问题,这需要去如何去应对,一百个用户同时登录,是不是我的虚拟化就垮了?还是我启动的时候是很流畅?主要是应对这方面的问题去解决。
9
Q:有测试tpmc值的软件吗?

A:市面上没有测算tpmc值的软件,根据自己的应用场景来算,因为你的事务可能不一样,你的冗余资源也是不一样的,你的并发数等等这些都不一样的。
10
Q:现有的服务器CPU利用率很低,内存占用率告高,是不是可以在下次更新服务器的时候考虑CPU选择比现在用的主频低一些的,然后适当增加内存呢?

A:如果你需要评估你的新采购服务器什么样比较合适的话,我的建议是你要对现有的应用系统,包括数据库等等,你必须要找到它的瓶颈值在哪里?如果没有瓶颈值,你是没法去选择新的服务器,当然瓶颈值从以上三个方面看,比如CPU、内存、IO问题,你要实实在在抓到这些数据来评估后才能做采购的。

你如果做了相关方面的充分评估,你购买的资源是不会浪费的,只能更合理的去利用了。

现在你的服务器CPU很低,但是内存很高,那你就去分析一下是什么占了你的内存,这是关键的一个东西,如果这个软件本身消耗内存多,要从多方面去找原因,第一,是不是程序写的不好?第二,是不是真的是吃内存?
11
Q:视频会议的服务器。应该注重哪一点呢?

A:对于视频服务器的选择,其实没有更多的要求,声音传输、视频传输,更多可能考虑CPU以及带宽。
12
Q:如何合理提高文件服务器的传输速度?

A:其实主要看你的硬盘读写能力,还要考虑网络和带宽。
13
Q:查询慢是为什么?

A:关于大家所说到的一些查询慢的问题,如果你的CPU跟内存没有出现瓶颈的话,我想更多地可能要从IO上去找问题。 因为数据库的这种查询,它跟数据量是有关系的,如果你的数据量一大,你这种查询一定是随机来的,你可以先看一下你的硬盘是怎么做阵列的,有多少块,大概能评估出来。根据你的硬盘或者是磁盘柜能算出这个理论的随机IO是多少,然后要看一下你的数据库类型,你是用了SQL Server还是Oracle,一般的SQL Server和Oracle每个数据库块大小是8个K,你要设法知道你每秒钟的读和写能有多少个数据量,然后你除以8K,大概就知道你的查询或者是写录能有多少个IO,然后跟你的理论值比较一下,然后就能知道你的平均值。
下期预告
分享主题:基于VMWARE的服务器虚拟化实施案例

预计时间:5月31日

如何报名:两种报名方式,任君挑选~
1、扫描二维码加班主任“社群特勤”为好友,验证信息提供姓名+公司+职务信息,审核通过后将邀请你入群啦。

2、联系你的IT顾问,请TA邀请你入群。

——文章转自@e企联想

点击阅读原文即可查看上一期《公司系统日益复杂,如何实现用户名统一认证和权限管理?》


    关注 十万个IT为什么


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册