压力测试
为什么要进行压力测试
- 为了找出系统中最高的瓶颈 使系统稳定运行
- 未来找出一些错误 如并非和内存泄漏 产生内存泄漏的原因是系统中new了大量对象而未进行复用
性能指标
- 响应时间: 客户端发起请求 服务端响应所花费的时间
- tps: 每秒所处理的交易数 所谓的交易数可以理解为一个业务功能 如下订单, 下订单可以包含很多业务需求 如查询订单 提交订单等 当整个下订单业务完成 就表示此交易数完成
- qps: 系统每秒进行查询数 如商品查询等
- 最大响应时间: 客户端发送请求 服务端响应所花最长时间
- 最小响应时间: 客户端发送请求 服务端响应所花最短时间
- 90%响应时间: 根据前10%请求 响应排序 统计所花费时间
- 吞吐量: 每秒系统所处理的任务数 请求数
- 错误率: 一批请求出错的概率
压力测试
压力测试可以从简单服务到复杂多中间服务依次递增
看那一部花费时间过长 导致吞吐量过低
我的压力测试如下表
动静分离
将静态文件放入html/static目录下
上传使用了 scp命令
scp /path/local_filename username@servername:/path
当访问到/static/ root关键字可以设置请求的根目录
然后修改配置文件
location /static/ {
root /usr/local/nginx/html;
还有一个问题
访问静态资源会发生403错误
发生403错误的原因是 因为html使用的权限为root权限 浏览器直接访问时会提示权限不够
解决方法是 在nginx.conf最上面添加一句user root;
即可
优化三级目录
我们可以一次将表中数据全部查出来 然后根据父id过滤数据进行返回
就像这样
首先将所有数据查出
这个方法根据父id和传入id一致 则进行返回
因为一级id的父id等于0 所以这里写0即可
这个其实和直接查数据库基本相同 不同的是这个过滤条件直接从全部数据库改成了list
虽然道路是曲折的,但前途是光明的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了