如何在服务器上测试软件

如何在服务器上测试软件,第1张

天互数据 为您解答
服务器测试方法

服务器测试方法分为两个大方面,性能测试与功能测试。
我们在性能测试方面采用了新的测试方法,主要分为文件测试、数据库性能测试与
Web
性能测试三个
方面。其中,文件性能与数据库性能采用美国
Quest
软件公司的
Benchmark Factory
负载测试和容量规划
软件,
Web
性能测试则使用了
Spirent
公司提供的
Caw WebAvalanche
测试仪。
一、性能测试
1
、文件性能测试方法
Benchmark Factory
软件能按照文件读写的关键指标定制事务。软件最大支持
1000
个虚拟客户。
本次测试环境包括
10
台配置为
PIII800/128MB
内存
/20G
硬盘以上的客户端,它们用来模拟虚拟用户。
控制台为配置是
PIII 850/128MB
内存
/40G
硬盘的
Acer
笔记本电脑。交换机为带有两个千兆
GBIC
接口、
24

10/100M
自适应端口的
Cisco 2950
,客户端与控制台通过
100M
网卡连到交换机上,被测服务器则通
过千兆光纤网卡与交换机相连接。
被测服务器均安装带
SP4

Windows
2000
Advanced Server
*** 作系统,在所有三项性能测试中都统一
RAID
级别为
5

在具体测试方案设置上,测试软件把决定文件读写 *** 作的关键因素设定为:读
/
写、随机
/
顺序、 *** 作
块大小、对象大小四个。在本次测试中,考虑到我们设有单独的数据库及
Web
测试项目,所以在文件测试
中,我们把目标确定为测试服务器基本的
I/O
性能,这主要由网络接口、系统带宽、磁盘子系统等几大部
分所决定。同时,从几部分的作用看,以大 *** 作块读写大对象文件,小 *** 作块读写小对象文件,较能反映
服务器最基本的
I/O
性能,即“大 *** 作块读写大文件”对系统带宽、缓存的考察,以及“小 *** 作块读写小
文件”对磁盘子系统、网络接口的考察。最终我们确定的四个事务是:
大文件顺序读写
(
*** 作块
8KB
,对象文件
80% 500KB

20% 1MB)
大文件随机读写
(
*** 作块
8KB
,对象文件
80% 500KB

20% 1MB)
小文件随机读
(
*** 作块
1KB
,对象文件
80% 1KB

10% 10KB

10% 50KB)
小文件顺序写
(
*** 作块
1KB
,对象文件
80% 1KB

10% 10KB

10% 50KB)
每个事务的用户数均以固定步长逐渐增加,
最大可增加到
1000
个虚拟用户。
其中,
“大文件顺序读写”
事务的用户数按照
40
的步长从
1
可增加到
400

(
测试至强服务器
)

200

(
测试
TUALATIN
服务器
)
,其
他事务则将用户数按照
100
的步长从
1
增加至
1000
。我们期望得到其在不同用户数时被测服务器的性能表
现。总体上其走势及峰值反映了该服务器的性能。每项事务均运行三次,每次之间被测服务器进行重启,
最终结果为三次平均值。
2
、数据库性能测试方法

“乘机安全小贴士”安全出行要重视
数据库性能测试同样使用了
Benchmark Factory
软件,测试环境如同文件性能测试。测试时,在被测
服务器上安装
SQL Server 2000
使用企业版。首先在被测服务器上创建新的数据库,通过使用
Benchmark
Factory
预定义的
Database Spec
项目向数据库中创建表,装载数据。在服务器端创建以
CPU
计算为主的
存储过程,通过
10
台客户机模拟用户、按照
40
个虚拟用户的步长递增到
400
个用户,执行该存储过程。
结果是以获得的每秒事务数
(TPS)
衡量服务器的数据库事务处理能力。
整个测试分为三次,
每次之间重新启
动被测服务器,最终取三次平均值作为评价结果。
3

Web
性能测试方法
Web
性能测试工具是由
Spirent
公司提供的
Caw WebAvalanche

WebAvalanche
模拟实际的用户发出
>我用的是jmeter,写的不够专业请见谅,基本就是在一定时间内发起若干个并发连接,然后每个连接执行一次登陆 *** 作和查询 *** 作,对返回结果进行成功或失败判断。最终得出一个结论,比如我得到的是:
样本数量:5500;
平均连接时间:21毫秒;
95%的样本连接时间低于33毫秒;
错误率:0%;
服务器吞吐量:每秒544次;
数据流量:每秒30053KB。
当然也可以用其他软件,不过大部分都是linux下的,windows下不多,我只试用过一个pylot,需要python支持,相对jemter功能更加简单,不过设置也简单。

在开发中大型的JavaEE项目时,前后端分离的框架逐渐成为业界的主流,传统的单机部署前后端在同一个项目中的工程项目越来越少。这类JavaWeb项目的后端通常都采用微服务的架构,后端会被分解为诸多个小项目,然后使用bbozookeeper或者springCloud来构建微服务,前端则会是一个单独的项目,前台的请求通过微服务来调用。但是,不同与传统的web项目,这类前后端分离的项目如何在开发中部署和运行呢?

当前后端分离时,后端项目一定会被加载到tomcat的webapp目录下面,但是前端的资源院该如何被访问到呢?这里以tomcat这个中间件为例,探讨在开发这类项目的时候,如何让前后端分离的项目部署并且运行起来,即后端项目部署在tomcat之后如何在运行时访问静态资源(非上线部署)。

主要有两种方案:1在本地通过Nginx来处理这些静态资源。2、将静态资源统一放入一个javaweb应用中,并将自动生成的war包随后端项目一期丢入tomcat。下面详细介绍

一、使用Nginx来访问静态资源。

在本地安装nginx并且修改nginxconf,修改相关配置,将web访问的端口的资源进行更改,配置如下:

server{listen80;server_namelocalhost;charsetutf-8;#aess_loglogs/hostaesslogmain;

location/{proxy_passtomcat_pool;proxy_redirectoff;

proxy_set_headerHOST$host;

proxy_set_headerX-Real-IP$remote_addr;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

client_max_body_size10m;

client_body_buffer_size128k;

proxy_connect_timeout90;

proxy_send_timeout90;

proxy_read_timeout90;

proxy_buffer_size4k;

proxy_buffers432k;

proxy_busy_buffers_size64k;

proxy_temp_file_write_size64k;

}

location~(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|woff|woff2|ttf|eot|map)${

rootD:Workspacesesop-html;indexindexhtml;

}

listen对象改为你本地的tomcat访问端口,最下面location中的root改为你前端项目中静态资源的位置,这样就可以实现只部署后端的项目就能访问前端的页面了。

二、将前端项目转换为动态的web项目,随后端项目一起丢入tomcat

这个方案省去了在本地安装和配置nginx,但是也只适用于开发阶段项目的部署运行和调试,真正在生产环境通常前后端项目会部署在不同的服务器。

如果是IntellijIdea,在导入前端项目之后,右键项目addframeworksupport-->webapplication,这时将会把前端项目转换为一个javaweb项目,然后将静态资源放在生成的web目录下即可。

如果是eclipse,可以新建一个javaweb项目然后将静态资源放入web或者webcontent目录下,或者直接先导入前端项目,然后通过projectfacts将项目转换为dynamicweb项目并勾选js等相关配置。

然后,运行项目时把后端的war包和前端的war包一同添加到deployment中运行即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12755941.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-27
下一篇2025-08-27

发表评论

登录后才能评论

评论列表(0条)

    保存