压力测试
为什么要进行压力测试
- 为了找出系统中最高的瓶颈 使系统稳定运行
- 未来找出一些错误 如并非和内存泄漏 产生内存泄漏的原因是系统中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

虽然道路是曲折的,但前途是光明的。

浙公网安备 33010602011771号