如何判断一个服务器的性能好不好?

如何判断一个服务器的性能好不好?,第1张

要知道,服务器的性能直接影响了部署在其系统上的项目及服务的性能表现及稳定性表现。总体说来,服务器配置越高,性能越好。

服务器性能如何判断?

如何判断一台服务器的性能呢?在日常运维工作中我们主要通过以下几方面来判断:

1、服务器硬件配置

服务器硬件配置直接关系到服务器的性能,主要的硬件性能一般原则如下:

硬盘:固态硬盘比机械硬盘读写速度要快;

内存:内存代数高的比代数低的要好(如:DDR4优于DDR3)、内存越大越好;

CPU:CPU决定了运算速度,CPU核数越多越好;

2、机房带宽配置

带宽是负责数据传输的,带宽大小决定了数据传输量的大小限制,所以带宽原则如下:

大小:带宽越大越好;

线路:BGP线路比双线好、双线比单线路要好;

延迟:网络延迟的高低会影响客户端与服务器端网络通信质量,延迟越小越好;

地域:机房距离用户越近越好,如果客户都是国内那就选国内服务器,客户是海外的则需要选海外服务器;

3、系统选择上

无论是稳定性还是扩展性上,Linux比WindowsServer更合适作为服务器操作系统。用Linux系统只要不断电不主动重启,运行个五六年都不需要重启这是一件正常的事情,但是,如果换成Windows,跑个半年不重启你试试?

4、服务器性能优化及服务性能优化

服务器硬件再好,如果没有对系统做必要的性能优化措施,又或者项目没有做性能优化,那再好的服务器在并发稍大的情况下也未必抗得住。

比如说Linux系统服务器,我们通过一些指令可以查看服务器的负载情况,以此判断当前服务器的性能,常用的指令有:

#top

#htop

#free

#vmstat

#iostat以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎在线咨询

QPS、TPS、PV、UV、GMV、IP、RPS等各种名词,外行看起来很牛X,

Queries Per Second,每秒查询数。每秒能够响应的查询次数。

QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是最大吞吐能力。

Transactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。

TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。

例如,访问一个 Index 页面会请求服务器 3 次,包括一次 html,一次 css,一次 js,那么访问这一个页面就会产生一个“T”,产生三个“Q”。

page view即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。

根据这个特性,刷网站的 PV 就很好刷了。

与 PV 相关的还有 RV ,即重复访问者数量(repeat visitors)。

访问数(Unique Visitor)指独立访客访问数,统计1天内访问某站点的用户数(以 cookie 为依据),一台电脑终端为一个访客。

Internet Protocol独立 IP 数,是指 1 天内多少个独立的 IP 浏览了页面,即统计不同的 IP 浏览用户数量。同一 IP 不管访问了几个页面,独立 IP 数均为 1;不同的 IP 浏览页面,计数会加 1。IP 是基于用户广域网 IP 地址来区分不同的访问者的,所以,多个用户(多个局域网 IP)在同一个路由器(同一个广域网 IP)内上网,可能被记录为一个独立 IP 访问者。如果用户不断更换 IP,则有可能被多次统计。

Gross Merchandise Volume 的简称。只要是订单,不管消费者是否付款、卖家是否发货、是否退货,都可放进 GMV 。

代表吞吐率,即 Requests Per Second 的缩写。吞吐率是服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。

某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。

 Oracle数据库服务器是整个系统的核心 它的性能高低直接影响整个系统的性能 为了调整Oracle数据库服务器的性能 主要从以下几个方面考虑

 

 ◆ 调整操作系统以适合Oracle数据库服务器运行 Oracle数据库服务器很大程度上依赖于运行服务器的操作系统 如果操作系统不能提供最好性能 那么无论如何调整 Oracle数据库服务器也无法发挥其应有的性能

 

  为Oracle数据库服务器规划系统资源

 

 据已有计算机可用资源 规划分配给Oracle服务器资源原则是 尽可能使Oracle服务器使用资源最大化 特别在Client/Server中尽量让服务器上所有资源都来运行Oracle服务

 

  调整计算机系统中的内存配置

 多数操作系统都用虚存来模拟计算机上更大的内存 它实际上是硬盘上的一定的磁盘空间 当实际的内存空间不能满足应用软件的要求时 操作系统就将用这部分的磁盘空间对内存中的信息进行页面替换 这将引起大量的磁盘I/O操作 使整个服务器的性能下降 为了避免过多地使用虚存 应加大计算机的内存

 

  为Oracle数据库服务器设置操作系统进程优先级

 

 不要在操作系统中调整Oracle进程的优先级 因为在Oracle数据库系统中 所有的后台和前台数据库服务器进程执行的是同等重要的工作 需要同等的优先级 所以在安装时 让所有的数据库服务器进程都使用缺省的优先级运行

 

 ◆ 调整内存分配

 

 Oracle数据库服务器保留 个基本的内存高速缓存 分别对应 种不同类型的数据 库高速缓存 字典高速缓存和缓冲区高速缓存 库高速缓存和字典高速缓存一起构成共享池 共享池再加上缓冲区高速缓存便构成了系统全程区(SGA) SGA是对数据库数据进行快速访问的一个系统全程区 若SGA本身需要频繁地进行释放 分配 则不能达到快速访问数据的目的 因此应把SGA放在主存中 不要放在虚拟内存中 内存的调整主要是指调整组成SGA的内存结构的大小来提高系统性能 由于Oracle数据库服务器的内存结构需求与应用密切相关 所以内存结构的调整应在磁盘I/O调整之前进行

 

  库缓冲区的调整

 

 库缓冲区中包含私用和共享SQL和PL/SQL区 通过比较库缓冲区的命中率决定它的大小 要调整库缓冲区 必须首先了解该库缓冲区的活动情况 库缓冲区的活动统计信息保留在动态性能表v$librarycache数据字典中 可通过查询该表来了解其活动情况 以决定如何调整 Select sum(pins) sum(reloads) from v$librarycache; Pins列给出SQL语句 PL/SQL块及被访问对象定义的总次数 Reloads列给出SQL 和PL/SQL块的隐式分析或对象定义重装载时在库程序缓冲区中发生的错误 如果sum(pins)/sum(reloads) ≈ 则库缓冲区的命中率合适 若sum(pins)/sum(reloads)> 则需调整初始化参数 shared_pool_size来重新调整分配给共享池的内存量

 

  数据字典缓冲区的调整

 

 数据字典缓冲区包含了有关数据库的结构 用户 实体信息 数据字典的命中率 对系统性能影响极大 数据字典缓冲区的使用情况记录在动态性能表v$librarycache中 可通过查询该表来了解其活动情况 以决定如何调整 Select sum(gets) sum(getmisses) from v$rowcache; Gets列是对相应项请求次数的统计 Getmisses 列是引起缓冲区出错的数据的请求次数 对于频繁访问的数据字典缓冲区 sum(getmisses)/sum(gets)< %~ % 若大于此百分数 则应考虑增加数据字典缓冲区的容量 即需调整初始化参数shared_pool_size来重新调整分配给共享池的内存量

 

  缓冲区高速缓存的调整

 

 用户进程所存取的所有数据都是经过缓冲区高速缓存来存取 所以该部分的命中率 对性能至关重要 缓冲区高速缓存的使用情况记录在动态性能表v$sysstat中 可通过查询该表来了解其活动情况 以决定如何调整

 

 Select name value from v$sysstat

 

 where name in ( dbblock gets consistent gets physical reads );

 

 dbblock gets和consistent gets的值是请求数据缓冲区中读的总次数 physical reads的值是请求数据时引起从盘中读文件的次数 从缓冲区高速缓存中读的可能性的高低称为缓冲区的命中率 计算公式

 

 Hit Ratio= (physical reds/(dbblock gets+consistent gets))如果Hit Ratio< %~ % 则应增大db_block_buffers的参数值 db_block_buffers可以调整分配给缓冲区高速缓存的内存量 即db_block_buffers可设置分配缓冲区高速缓存的数据块的个数 缓冲区高速缓存的总字节数=db_block_buffers的值db_block_size的值 db_block_size 的值表示数据块大小的字节数 可查询 v$parameter 表 select name value from v$parameter where name= db_block_size ; 在修改了上述数据库的初始化参数以后 必须先关闭数据库 在重新启动数据库后才能使新的设置起作用

 

 ◆ 调整磁盘 I/O

 

 磁盘的I/O速度对整个系统性能有重要影响 解决好磁盘I/O问题 可显著提高性能 影响磁盘I/O的性能的主要原因有磁盘竞争 I/O次数过多和数据块空间的分配管理

 

 为Oracle数据库服务器创建新文件时 不论是表空间所用的数据文件还是数据事务登录所用的日志文件 都应仔细考虑数据库服务器上的可用磁盘资源 如果服务器上有多个磁盘 则可将文件分散存储到各个可用磁盘上 减少对数据库的数据文件及事务日志文件的竞争 从而有效地改善服务器的性能 对于不同的应用系统都有各自的数据集 应当创见不同的表空间分别存储各自应用系统的数据 并且尽可能的把表空间对应的数据文件存放在不同的磁盘上 这种从物理上把每个应用系统的表空间分散存放的方法 可以排除两个应用系统竞争磁盘的可能性 数据文件 事务日志文件分别存放在不同的磁盘上 这样事务处理执行的磁盘访问不妨碍对相应的事物日志登记的磁盘访问 如果有多个磁盘可用 将两个事物日志成员放在不同的磁盘驱动器上 就可以消除日志文件可能产生的磁盘竞争 应把一个应用的表数据和索引数据分散存放不同表空间上 并且尽量把不同类型的表空间存放在不同磁盘上 这样就消除了表数据和索引数据的磁盘竞争

 

 ◆ 调整数据库服务器的回滚段

 

 回滚段是一个存储区域 数据库使用该存储区域存放曾经由一个事务更新或删除的行的原始数据值 如果用户要回滚一个事务所做的改变 那么数据库就从回滚段中读回改变前的数据并使该事务影响的行改变为它们的原状态 回滚段控制着数据库处理事务的能力 因而在数据库成功中起著关键性的作用 不管数据库的其它部分设计得多好 如果它设计得不合理 将会严重影响系统的性能 建立和调整回滚段的原则如下

 

  分离回滚段

 

 分离回滚段是指单独为回滚段创建一个以上的表空间 使回滚段与数据字典 用户数据 索引等分离开来 由于回滚段的写入与数据和索引的写入是并行进行的 因此将它分离出来可以减少I/O争用 如果回滚段与数据不分离 倘若要某个表空间脱机或撤消 那么在该表空间中的各个回滚段没有全部脱机之前 不能将这个表空间脱机或撤消 而一旦该表空间不可用 则该表空间中的所有回滚段也不能使用 这将浪费所有分配的磁盘空间 所以 独立回滚段可使数据库管理变得容易 回滚段的经常性收缩 使得表空间的自由块更容易形成碎片 分离回滚段可以减少数据库表空间的碎片产生

 

  创建不同大小的回滚段群

 

lishixinzhi/Article/program/Oracle/201311/18922

常用的性能指标

吞吐量 固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。

平均吞吐量一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化。

峰值吞吐量一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一。

最低吞吐量一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象。

70%的吞吐量集中区间通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。

响应时间一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。

平均响应时间 一段时间内响应时间的平均值。无法体现响应时间的波动情况。

中间响应时间一段时间内响应时间的中间值,50%响应时间,有一半的服务器响应时间低于该值而另一半高于该值。

90%响应时间一段时间内90%的事务响应时间比此数值要小。反应总体响应速度,和高于该值的10%超时率。是用来评估系统容量的重要指标之一。

最小响应时间响应时间的最小值。反映服务最快处理能力。

最大响应时间响应时间的最大值。反映服务器最慢处理能力。

CPU占用率1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。

对于游戏开发者的实际情况来说,充足的测试时间并不是每次都可以保证的,而且对于模拟机器人的开发过程本身又是一个很大的投入。这里再推荐一个压测工具,云端IDE内置了对HTTP、标准TCP和PB协议的解析器,无需写脚本,只需要编写自定义协议就行了,链接:http://wetestqqcom/gaps/

1、减少内存分配和释放

服务器在运行过程中,需要大量的内存容量来支撑,内存的分配和释放就尤为关键。用户在使用服务器的时候,可以通过改善数据结构以及算法制度来减少中间临时变量的内存分配和数据复制时间。

另外,可以选择使用共享内存模式来降低内存的分配和释放问题。共享内存在多处理器系统中,可以被不同的中央处理器访问,也可以有不同的进程共享,是一种非常快的进程通信方式。

2、使用持久链接

持久链接也被称为场链接,是通过TCP通信的一种方式。在一次TCP链接中持续发送多份数据而不断开连接。

从性能角度上来讲,建立TCP链接次数越少,越有利于性能的提升,尤其对于密集型或者网页等数据处理上来说有明显的加速作用。

3、改进I/O模型

I/O操作根据设备形式有不同的类型,例如我们常见的内存I/O,网络I/O,磁盘I/O。针对网络I/O和磁盘I/O, 它们的速度要慢很多,可以选择采用高带宽网络适配器可以提高网络I/O速度。

以上的I/O操作时需要CPU来调度的,这就需要CPU空出时间来等待I/O操作。如果在CPU调度上使用时间较少,也就能节约出CPU的处理时间,从这一点上来说也是提升高服务器并发处理能力的方式。

4、改进服务器并发数策略

服务器高并发策略的调整,是为了让I/O操作和CPU计算尽量重叠进行。一方面使CPU在I/O操作时等待时间内不要空闲,另一方面也是为了最大限度缩短等待时间。感兴趣的话点击此处,了解一下

一、硬盘类型。服务器中的固态硬盘(SSD)比SATA硬盘驱动器提供更高的磁盘读/写速度,也称为输入/输出(I/O)性能。具有SSD读取和写入磁盘的服务器速度更快,但定价显著高于同等存储容量的SATA硬盘。

二、硬盘存储空间。服务器的硬盘存储是本地数据库大小和文件(如图像)的本地存储的限制因素。配置RAID磁盘阵列可有效增加数据可靠性,增加读取/写入(I/O)性能,RAID需要两个以上单独的存储卷。存储还可以采取网络存储的形式,如NAS(网络连接存储)或SAN(存储区域网络)。

三、CPU。独立服务器的CPU执行诸如服务网页、运行数据库查询或处理计算命令等指令。CPU和内核的数量会影响可执行多少个并发指令。CPU架构和功能也影响执行指令的速度,特别是在围绕这些功能设计程序的网站或应用。

四、带宽。带宽数据传输限制,指的是可以并发到您的服务器的数据量。服务器带宽价格较高,通常提供5Mbps、10Mbps国际带宽。像并发视频流、游戏和大数据处理等工作任务都需要高带宽。

五、网络延迟。网络延迟是服务器和用户之间发送信息的延迟的毫秒。网络延迟的高低由服务器提供商决定,但受到服务器和用户之间的距离和网络质量的影响。为降低延迟,服务器供应商部署中国大陆连通香港地区的CN2专线,是目前中国大陆访问最快的线路,可提供最低的延迟和最好的网络体验。

服务器常用性能指标如下:

吞吐量 固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps)。

响应时间一次事务的处理时间。通常指从一个请求发出,到服务器进行处理后返回,再到接收完毕应答数据的时间间隔,单位:毫秒。

CPU占用率1-CPU空闲率,表示CPU被使用情况,反映了系统资源利用情况。

服务器的性能新能判定可以考虑从以下几点来看看:

        1、服务器的处理器,包括CPU型号和核心数

             服务器的处理器决定服务器的运算速度,因此,对于服务器选取应该根据具体的业务场景来选取,处理运算能力越强的服务器对应的价格也是越来越贵。选取时候可以根据业务实际环境需求,先选择能差不多满足的就好,后续有需求在升级配置就可,现在服务器中弹性云服务器就非常针对性满足这类需求。

        2、服务器的内存

              服务器内存大小决定着多负载多任务的处理能力,可以适当结合实际情况选取

        3、服务器的宽带

               宽带大小影响这站点内容的下载速度与在考虑储存分离时候将样式文件、、css等放在对象存储服务 OBS中的时候可以适当降低在服务器的宽带大小

考虑到业务成长性,可以考虑直接以服务器+对象储存服务+云数据库+CDN模式,增强业务容灾能力和用户体验

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何判断一个服务器的性能好不好?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情