服务器如何测试运行速度?
不管是虚拟主机还是服务器,我们都知道,它的稳定性很重要,访问速度也有着决定性的作用。一般来说,如果访问速度不好的话,会让网站加载非常慢。
第一种方法:常见的ping命令。
这个命令与IT打交道的站长并不陌生,一般来说,网站速度不好,或者测试一下是网站问题还是服务器问题,都会使用这个命令进行测试。那么具体怎样检测租用服务器的网络是否通畅无延迟呢?
在电脑中点击开始,运行,然后输入CMD打开DOS命令窗口。然后输入网站网址,或者服务器的IP地址,格式为ping域名,或者pingIP。使用ping命令后,会反馈一个结果,这个结果基本包括了以下几个信息。
Time,这个是响应时间,时间越小越好,国内服务器响应时间一般在20-60ms之间。
TTL,这个可以判断相关的操作系统,TTL=119,则表示是XP系统,不过这个现在一般不准,毕竟服务器可以修改注册表TTL类型。
数据包发送信息,这个里面有个丢包率,数值越小越好,正常都是显示丢失0。
第二种方法:tracert命令。
测试方法与ping命令类似,只是将ping换成tracert,不过这个命令可以用来检测终端用户到服务器机房的跳数及响应时间,换句话说,就是可以测试出服务器与全国客户的连接速度。显示时间也是以Ms为单位,时间越短越好。
第三种方法:比网站加载速度。
可以利用WhichLoadsFasterFastSoft工具测试一下打开网站速度。基本工作原理是通过连接,在浏览器中让两个真实的网页显示出来,反应的结果就是两个网站真实打开速度对比。
第四种方法:网站速度测试工具。
使用GTmetrixgtmetrix有丰富的测量结果,能够提供相关的网站速度提升建议,站长可以根据这些建议优化站点。然后再逐一找到加载速度变慢的原因。
在选择服务商时,首先一定要选择有保障的,方便日常维护。其次就是就要看服务器的稳定性,服务器的稳定性对于网站来说非常的重要,因为一点服务器出现宕机或其他情况,会造成网站的严重损失。
通过在新服务器上检查这些步骤,您可以确保它们至少具有针对最常见攻击的基本保护。
1 - 用户配置
如果它不是您的操作系统设置的一部分,您要做的第一件事就是更改root密码。这应该是不言而喻的,但在例行服务器设置期间可能会被忽略。密码应至少为8个字符,使用大写和小写字母,数字和符号的组合。如果要使用本地帐户,还应设置密码策略,以指定老化,锁定,历史记录和复杂性要求。在大多数情况下,您应该完全禁用root用户,并为需要提升权限的用户创建具有sudo访问权限的非特权用户帐户。
2 - 网络配置
您需要做的最基本配置之一是通过为服务器分配IP地址和主机名来启用网络连接。对于大多数服务器,您将需要使用静态IP,因此客户端始终可以在同一地址找到资源。如果您的网络使用VLAN,请考虑服务器段的隔离程度以及最适合的位置。如果您不使用IPv6,请将其关闭。设置主机名,域和DNS服务器信息。应使用两个或多个DNS服务器进行冗余,您应该测试nslookup以确保名称解析正常工作。
3 - 软件包管理
据推测,您正在为特定目的设置新服务器,因此如果它们不属于您正在使用的分发版,请确保安装可能需要的任何软件包。这些可以是PHP,MongoDB,ngnix等应用程序包,也可以是pear等支持包。同样,应删除系统上安装的任何无关软件包以缩小服务器占用空间。所有这一切都应该通过您的分销包管理解决方案来完成,例如yum或apt,以便在未来更轻松地进行管理。
4 - 更新安装和配置
一旦在服务器上安装了正确的软件包,就应该确保一切都已更新。不仅包括您安装的软件包,还包括内核和默认软件包。除非您需要特定版本,否则应始终使用最新的生产版本来保证系统的安全。通常,您的包管理解决方案将提供最新的支持版本。您还应该考虑在程序包管理工具中设置自动更新,如果这样做适用于您在此服务器上托管的服务
5 - NTP配置
配置服务器以将其时间同步到NTP服务器。如果您的环境具有这些服务器,则可以是内部NTP 服务器,也可以是可供任何人使用的外部时间服务器。重要的是防止时钟漂移,服务器的时钟偏离实际时间。这可能会导致许多问题,包括在授予访问权限之前测量服务器和身份验证基础结构之间的时间偏差的身份验证问题。这应该是一个简单的调整,但它是可靠基础设施的关键点。
6 - 防火墙和iptables
根据你的发行版,iptables可能已被完全锁定并要求你打开你需要的东西,但无论默认配置如何,你都应该看看它并确保它按照你想要的方式设置。请记住始终使用最小权限原则,并且只打开那些服务器上的服务绝对需要的端口。如果您的服务器位于某种专用防火墙后面,请务必否认所有内容,但也有必要。假设您的iptables /防火墙在默认情况下是限制性的,请不要忘记打开您的服务器完成其工作所需的内容!
7 - 保护SSH
SSH是Linux发行版的主要远程访问方法,因此应该得到适当的保护。您应该远程禁用root的远程SSH功能,即使您禁用了该帐户,以防万一由于某种原因在服务器上启用了root,它仍然无法远程利用。如果您有一组将要连接的固定客户端IP,您还可以将SSH限制为某些IP范围。或者,您可以更改默认的SSH端口以“隐藏”它,但老实说,简单的扫描会向想要找到它的任何人显示新的开放端口。最后,您可以完全禁用密码身份验证,并使用基于证书的身份验证来进一步降低SSH利用的可能性。
8 - 守护程序配置
您已经清理了软件包,但在重新启动时将正确的应用程序设置为自动启动也很重要。务必关闭任何不需要的守护进程。安全服务器的一个关键是尽可能减少活动占用空间,因此可用于攻击的唯一表面区域是应用程序所需的区域。完成此操作后,应尽可能加强剩余服务以确保弹性。
9 - SELinux和进一步硬化
如果您曾经使用过Red Hat发行版,那么您可能熟悉SELinux,这是一种保护系统免受各种操作影响的内核强化工具。SELinux非常善于防止未经授权的使用和访问系统资源。它在打破应用程序方面也很出色,因此请确保在启用SELinux的情况下测试配置,并使用日志确保没有任何合法内容被阻止。除此之外,您还需要研究强化MySQL或Apache等任何应用程序,因为每个应用程序都有一套最佳实践可供遵循。
10 - 日志记录
最后,您应确保已启用所需的日志记录级别,并且您有足够的资源。您最终将对此服务器进行故障排除,因此请立即帮忙,并构建您需要快速解决问题的日志记录结构。大多数软件都具有可配置的日志记录,但您需要一些试验和错误才能在信息不足和过多之间找到适当的平衡点。有许多第三方日志记录工具可以帮助处理从聚合到可视化的所有内容,但是每个环境都需要首先考虑其需求。然后,您可以找到有助于填充它们的工具。
这些步骤中的每一步都需要一些时间来实施,尤其是第一次。但是,通过建立初始服务器配置例程,您可以确保环境中的新计算机具有弹性。如果您的服务器可能是攻击的目标,则不采取任何这些步骤可能会导致相当严重的后果。
做好这些并不能保证足够安全, 但它确实使恶意行为者变得更加困难,并且需要一定程度的技术能力来克服。
服务器稳定性是最重要的,如果在稳定性方面不能够保证业务运行的需要,在高的性能也是无用的。
正规的服务器厂商都会对产品惊醒不同温度和湿度下的运行稳定性测试。重点要考虑的是冗余功能,如:数据冗余、网卡荣誉、电源冗余、风扇冗余等。
一些测试方法主要分以下几种:
压力测试:已知系统高峰期使用人数,验证各事务在最大并发数(通过高峰期人数换算)下事务响应时间能够达到客户要求。系统各性能指标在这种压力下是否还在正常数值之内。系统是否会因这样的压力导致不良反应(如:宕机、应用异常中止等)。
Ramp Up 增量设计:如并发用户为75人,系统注册用户为1500人,以5%-7%作为并发用户参考值。一般以每15s加载5人的方式进行增压设计,该数值主要参考测试加压机性能,建议Run几次。以事务通过率与错误率衡量实际加载方式。
Ramp Up增量设计目标: 寻找已增量方式加压系统性能瓶颈位置,抓住出现的性能拐点时机,一般常用参考Hits点击率与吞吐量、CPU、内存使用情况综合判断。模拟高峰期使用人数,如早晨的登录,下班后的退出,工资发送时的消息系统等。
另一种极限模拟方式,可视为在峰值压力情况下同时点击事务操作的系统极限操作指标。加压方式不变,在各脚本事务点中设置同集合点名称(如:lr_rendzvous("same");)在场景设计中,使用事务点集合策略。以同时达到集合点百分率为标准,同时释放所有正在Run的Vuser。
稳定性测试:已知系统高峰期使用人数、各事务操作频率等。设计综合测试场景,测试时将每个场景按照一定人数比率一起运行,模拟用户使用数年的情况。并监控在测试中,系统各性能指标在这种压力下是否能保持正常数值。事务响应时间是否会出现波动或随测试时间增涨而增加。系统是否会在测试期间内发生如宕机、应用中止等异常情况。
根据上述测试中,各事务条件下出现性能拐点的位置,已确定稳定性测试并发用户人数。仍然根据实际测试服务器(加压机、应用服务器、数据服务器三方性能),估算最终并发用户人数。
场景设计思想:
从稳定性测试场景的设计意义,应分多种情况考虑:
针对同一个场景为例,以下以公文附件上传为例简要分析场景设计思想:
1)场景一:已压力测试环境下性能拐点的并发用户为设计测试场景,目的验证极限压力情况下测试服务器各性能指标。
2)场景二:根据压力测试环境中CPU、内存等指标选取服务器所能承受最大压力的50%来确定并发用户数。
测试方法:采用1)Ramp Up-Load all Vusers simultaneously
2)Duration-Run Indefinitely
3)在Sechedule-勾选Initalize all Vusers before Run
容错性测试:通过模拟一些非正常情况(如:服务器突然断电、网络时断时续、服务器硬盘空间不足等),验证系统在发生这些情况时是否能够有自动处理机制以保障系统的正常运行或恢复运行措施。如有HA(自动容灾系统),还可以专门针对这些自动保护系统进行另外的测试。验证其能否有效触发保护措施。
问题排除性测试:通过原有案例或经验判断,针对系统中曾经发生问题或怀疑存在隐患的模块进行验证测试。验证这些模块是否还会发生同样的性能问题。如:上传附件模块的内存泄露问题、地址本模块优化、开启Tivoli性能监控对OA系统性能的影响等等。
测评测试是用于获取系统的关键性能指标点,而进行的相关测试。主要是针对预先没有明确的预期测试结果,而是要通过测试获取在特定压力场景下的性能指标(如:事务响应时间、最大并发用户数等)。
评测事务交易时间:为获取某事务在特定压力下的响应时间而进行的测试活动。通过模拟已知客户高峰期的各压力值或预期所能承受的压力值,获取事务在这种压力下的响应时间。
评测事务最大并发用户数:为获取某事务在特定系统环境下所能承受的最大并发用户数而进行的测试活动。通过模拟真实环境或直接采用真实环境,评测在这种环境下事务所能承受的最大并发用户数。判定标准阈值需预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。
评测系统最大并发用户数:为获取整个系统所能够承受的最大并发用户数而进行的的测试活动。通过预先分析项目各主要模块的使用比率和频率,定义各事务在综合场景中所占的比率,以比率方式分配各事务并发用户数。模拟真实环境或直接采用真实环境,评测在这种环境下系统所能承受的最大并发用户数。判定标准阀值预先定义(如响应时间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。取值标准以木桶法则为准(并发数最小的事务为整个系统的并发数)。
评测不同数据库数据量对性能的影响:针对不同数据库数据量的测试,将测试结果进行对比,分析发现数据库中各表的数据量对事务性能的影响。得以预先判断系统长时间运行后,或某些模块客户要求数据量较大时可能存在的隐患。
问题定位测试在通过以上测试或用户实际操作已经发现系统中的性能问题或怀疑已存在性能问题。需通过响应的测试场景重现问题或定义问题。如有可能,可以直接找出引起性能问题所在的代码或模块。
该类测试主要还是通过测试出问题的脚本场景,并可以增加发现和检测的工具,如开启Tivoli性能监控、开启HeapDump输出、Linux资源监控命令等。并在场景运行过程中辅以手工测试。
0条评论