首页服务器服务器压力测试(网站服务器如何做访问压力测试)

服务器压力测试(网站服务器如何做访问压力测试)

编程之家2023-11-01236次浏览

大家好,关于服务器压力测试很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于网站服务器如何做访问压力测试的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

服务器压力测试(网站服务器如何做访问压力测试)

多台服务器负载均衡的压力测试要怎么做

配置Load Balance算法

我们首先要做的就是进入“Load Balance”,在这里你可以选择负载均衡的算法:轮转调度,随机分配,URL参数,请求头等。如果不了解这些算法干什么的,那就去复习上一篇吧。APR为我们提供了以下7种算法:

Weighted round robin根据权重按照请求数据进行分配

Weighted total traffic根据权重按照请求和响应字节大小进行分配

Least current request优先转发给那个当前处理最少请求的服务器

Least response time优先转发给那个当前响应最快的服务器

服务器压力测试(网站服务器如何做访问压力测试)

Server variable hash根据服务器变量的hash来分配请求,这里面的服务器变量包括Cookie, URL,头信息等,详情点这里。

Query string hash根据URL查询字符串的hash来分配请求,如果查询字符串包含多个参数(?name=jesse&location=sh),则是用整个查询字符串的hash来作判断。

Request hash根据服务器变量或者是URL的hash来分配请求,比如说服务器变量是QUERY_STRING,那么hash的值就是query string中对应的那个值。

大家可以已经猜到,后面3种算法是可以利用来实现这种分布式环境下session的访问的,但是由于要涉及到其它的配置,所以我们后面再讲,让我们先专注于把这个负载均衡配置完,所以我们就里就先选择比较简单的Least response time,谁当前返回响应最快我们就把请求给它,验证了那句话,“能者多劳啊”。

配置转发规则

APR的机制是做为一个代理服务器,它负责接收请求,但是不做任何处理,而是直接将请求分发给具体的WEB服务器。同时我们还可以配置一些规则,有一些请求转发,有一些请求不转发,这就要感谢我们的url rewrite组件了。我们可以进入“Routing Rules”来进行相关的配置。

服务器压力测试(网站服务器如何做访问压力测试)

网站部署与同步

安装程序和运行环境同步

在实际的环境中,如果我们使用NLB在第一次部署的时候,就需要一个服务器一个服务器的部署,而且如果要对IIS进行其它的一些配置就会显得很烦琐。在APR中给我们提供的Provision功能,就可以帮助实现这样的同步功能。

在Server Farm的功能视图中,我们可以找到以下两种类型的Provision:

Application Provisioning:主要是用来同步网站相关包括内容,配置等等,Web Deploy就是用在这里了。

Platform Provisioning:主要是用来同步安装程序的,其实这里面的Platform是指我们上面安装的 Web Platform Installer,也就是说我们在主服务器上通过Web Platform安装的程序或者组件,如果启用了Platform Provisioning的话,其它所有的服务器也会自动安装上。

我们可以来做一个Platform Provisioning的例子,点击我们的Server Farm->在右边的功能视图中双击Platform Provisioning->勾选下面两个选项。

然后我们点击左右的Servers,选中我们的主服务器(Primary),在右边的操作列表中选择“Install Product”,在弹出的窗体中安装的程序就会被自动安装到当前Server Farm中的所有其它服务器中。

网站内容同步

和上面的思路一样,我们不需要每一个程序都部署一遍,我们只需要在主服务器上部署一遍就可以了,所有的内容以及IIS的设置都会被自动同步到其它服务器上,这就是Application Provisioning来帮我们实现的。我们可以通过点击我们的Server Farm->在右边的功能视图中双击“Applicaiton Provisioning”然后勾选下面的两项即可。

接下来,我们只需要在我们的主服务器上建立我们的站点然后部署我们的网站即可,包括对网站进行一些应用程序池的配置也是只需要在主服务器上完成的,我们就不需要到每一台服务器上都去布置一遍了。

配置入口服务器

既然入口服务器不做任何处理只是转发请求的话,那我们还需要把我们的网站的内容放在入口服务器的IIS下么?这个就取决于不同的场景了,你可以建一个空的站点什么也没有,你也可以用它来做一个简单的文件服务器,在上一步中将静态文件不转发即可,让我们Web Farm中的服务器只处理动态的请求,也可以减轻他们的压力。当然如果你有单独的文件服务器那就更好了。作为测试用途我们在入口服务器上就不建任何网站了,直接使用安装IIS自带的那个默认网站即可。

有人可能会有疑问,因为我在配置Server Farm的时候同样也有这样的一个疑问。“所有的请求都是由入口服务器接收,然后再分发给Farm中具体的服务器的,那入口服务器的那个网站该如何配置呢?是用80还是8080端口,如果我建了好几个网站,那到底哪一个网站的请求会被Farm拿到再进行转发呢?”

我在入口服务器中没有做任何网站的配置,也就是说本地有一个http://localhost的网站是可以访问的,对于外部来说它的地址就是 http://192.168.1.129/,那么为什么当外部访问 192.168.1.129的时候,它就会被Farm中的服务器处理呢?这就要多亏我们的Url Rewrite模块了,我们可以点击我们的Farm Mono,进入到功能视图->然后点击 Routing Rules->在Routing Rules右侧的操作列表中点击 URL Rewrite...对Routing Rules进行更详细的管理。

在我们的URL Rewrite窗口,我们就会看到已经为我们默认创建了一条入站的规则。

我们可以双击那条规则查看详细,或者进行编辑,我们可以看到这条规则实际上是用通配符匹配了所有的入站请求,然后转发给我们的Server Farm: Mono。原来是URL Rewrite在这里起了作用,当然我们也可能把*改成其它的通配符,以及使用正则表达式来匹配都是可以的,这些都是URL Rewite里面的功能,是可以直接搬过来用的。

URL Rewrite帮助我们匹配入站请求,然后转发给Farm,在Farm层面 APR根据我们配置的负载均衡算法将请求转发给具体的服务器去处理请求。现在我们再回过头来看看我们最开始安装的5个组件都分别起到了什么作用。

Web Deploy:参与Application Provisioning(网站内容及配置同步)

Web Platform Installer:参与Platform Provisioning(应用环境同步)

Web Farm:主要组织者及容器

Application Request Router:负载均衡处理

URL Rewrite:入站请求匹配等

验证负载均衡

到这里为止,我们用 APR+ Web Farm搭建的负载均衡就完成了,最终结果是我们在外面访问 http://192.168.1.129的时候,实际上是由我们Farm中的3台Web服务器处理的,口说无凭,我们来验证一下。验证的方法很简单,我们在每个服务器下放不同的文件用来标识当前是哪个服务器在处理响应(记得在部署文件的时候要先把Application provisioning关闭掉,不然主服务器上的文件会被同步到其它的服务器上去的)。

网站服务器如何做访问压力测试

网站服务器的压力测试我觉得主要有一些几点。

1.协议这边基本上以http或者https为主了,如果使用其他协议需要分析其打解包的方法。

2.要产生一定的压力,压力源这边一定要有保证。一般都是用机器人来模拟压力,关于机器人的逻辑可以根据具体业务来开发。

3.需要观察在一定压力下,服务器的各项性能指标(cpu,内存,IO,网络流量)进行观察,比如内存是否有泄漏,cpu利用率过高的情况。

4.压力测试应该是一个持续性的过程,在这个过程中需要统计服务器的性能数据,包括tps,以及机器的负载情况等。据此可以分析服务器的瓶颈在何处,后续可以针对优化。

5.目前大部分的服务器都部署在Linux系统上,测试同学还需要掌握相关的Linux命令以便可以更好的测试。

如果你觉得前面的太麻烦,可以来WeTest服务器压力测试高并发,实时性能报表,专家级性能优化建议,目前我们正在做网站压测这一块,你要做的仅仅是填下被测的URL即可,压力源、数据统计这些琐碎的工作交给我们就行了。

游戏上线前服务器压力测试应该怎么做

对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。

要得到可支撑的"最大同时在线人数",主要做好2件事:

1、设计你的类现网压力模型

在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a.各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。

对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。

对于b,同样在内测阶段收集玩家平均操作频率。

此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。

2、用压测工具构造出符合压力模型的压力

这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点,同时在线人数。

怎样测试服务器压力

下载并安装WAST;

1.设置并行连接数;

2.设置持续时间;

3.其余设置;

注:所有以上的选项可以根据自己的需要进行设置。

设置完成后就可以进行压力测试。测试的步骤如下:

第一步,点击工具栏上的“New Script”按钮,在打开的面板中点击“Nanual”按钮创建一个新的测试项目。在打开的窗口中对它进行设置,在主选项中的Server中填写要测试的服务器的IP地址。这里我们填写192.168.1.20。在下方选择测试的Web连接方式,这里的方式Verb选择get。Path选择要测试的Web页面路径,这里填写/Index.asp即动网的首页文件,WAST可以设置更多的Path。

第二步,在“Settings”功能设置中将Stress Level(Threads)线程数设置为1000。然后点工具中的灰色三角按钮即可进行测试。测试过程中我们可以从服务器的任务管理器中看到CPU使用率已经达到100%,损耗率达到最大。在CMD窗口中使用命令netstat-an,可以看到客户端的IP地址在服务器上的80端口进行了非常多的连接,而且Web网站已经打不开了,提示过多用户连接。

文章到此结束,如果本次分享的服务器压力测试和网站服务器如何做访问压力测试的问题解决了您的问题,那么我们由衷的感到高兴!

顶级域名?中国的顶级域名有哪些微信公众号的开发,微信公众号有几种