项目性能压测

1.性能指标:

测试实例:

JMeter Address Already in use 错误解决

性能监控:首先考虑应用是属于CPU密集型还是IO密集型

1.JVM内存模型

两个检控工具

2.中间件对性能的影响

nginx:

网关 ;

中间件越多,性能损失越大,大都损失在网络交互上

业务方面:数据库的响应速度(优化SQL,加索引),页面渲染(thymeleaf)的速度(开缓存),获取静态资源的速度(动静分离

优化:

一,动静分离:1,所有项目的静态资源都放在nginx中 2,/static/***所有请求都由nginx直接返回静态资源

先将项目中的静态资源放到nginx下,然后在nginx配置中修改

二,调整内存大小,修改JVM参数

-Xmx1024m -Xms1024m -Xmn512m

三,修改业务逻辑,避免频繁的数据库交互

 

 

 

 

 

 

 

 

 

Go语言性能可使用内置的BenchMark和第三方包go - wrk。 ### BenchMark Go本身提供了BenchMark性能试用例,能很好地试单个程序性能,例如试某个函数。通过编写BenchMark试用例,可以对特定的代码片段进行性能试,以评估其在不同场景下的性能表现。 ### go - wrk 这是一个第三方包,可用于对HTTP接口进行性能。在项目正式上线之前,通常需要通过来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug。试能模拟高并发场景,评估系统的性能瓶颈、可靠性和稳定性,进而优化系统架构和资源配置。 ### 性能相关术语 - **响应时间 (RT)**:指系统对请求作出响应的时间。 - **吞吐量 (Throughput)**:指系统在单位时间内处理请求的数量。 - **QPS(每秒查询率,Query Per Second)**:是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 - **TPS(Transaction Per Second)**:每秒钟系统能够处理的交易或事务的数量。 - **并发连接数**:某个时刻服务器所接受的请求总数 [^5]。 ### wrk命令基本使用 #### 安装 - **使用Homebrew安装**:`brew install wrk` - **编译安装**:可参考相关文档进行编译安装 [^5]。 #### 执行试 执行试后会输出统计结果,例如: ```plaintext Running 1s test @ http://localhost:8080/users/signup 1 threads and 2 connections Thread Stats: Avg Stdev Max +/- Stdev Latency 64.63ms 711.72us 67.28ms 90.00% Req/Sec 29.80 10.76 40.00 80.00% 30 requests in 1.01s, 3.78KB read Requests/sec: 29.81 Transfer/sec: 3.76KB ``` 这个试在1秒内使用1个线程和2个连接对本地主机的用户注册接口进行了试,平均每秒可以完成大约29.81个请求,平均延迟大约为64.63毫秒 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值