整体架构设计关注的问题点

本文探讨了IT系统的性能优化,包括性能测试中的压力测试和稳定性测试,重点关注响应时间、并发量、吞吐量和错误率等指标。此外,文章还涉及性能调优、内核调优、可用性、高可用性、弹性和扩展性,以及网络安全措施,如防止SQL注入和接口鉴权。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.性能:(压力测试和稳定性测试)

性能指标: 响应时间 并发量 吞吐量 错误率

        响应时间-一个请求所需要的时间
        并发量-网站系统在同一时间需要处理的请求数,包括正在护理的请求和处于等待的请求
        吞吐量-网站系统在一段时间(每秒)处理请求的数量,常用单位TPS,RPS,QPS,理论上TPS=RPS/3
        错误率-一段时间的请求错误率,0.5%以下即可

性能指标换算实例:

总体用户量:  100W

        |          一般按照10%,实际比例视具体情况而定

预测峰值同时在线用户量: 10W

       |          一般按照10%,实际比例视业务场景而定

预测最大并发量: 1W

       |          一般接口请求要求在500毫米以内,网页打开时间在3秒内,具体视业务处理复杂程度而定

响应时间: 设定平均响应时间趋近500毫秒

      |

吞吐量: 2W RPS(每秒处理的请求数)

错误率: 0.5%

性能测试:

1)圈定测试范围: 每个业务模块性能并不平均,针对不同模块的性能指标不一样.挑出重点或调用概率较高的接口,最好能覆盖模块下的所有数据表,挑选出重点接口进行测试
2)明确性能指标: 性能瓶颈主要在查询接口,新增修改接口为查询接口的1/2或者更低
3)执行测试: 利用测试工具Jmeter,生产环境是不能进行压测的,一般在测试环境进行缩水版压测
       测试工具   ---------------------------------------------------------->  网站系统
       启动1000个线程发起1000并发量请求                 测试结果: 平均响应时间,吞吐量,错误率
      设置梯度测试  100 200 500 1000 2000 .....
      模拟真实情况的压力提升过程,也可以让服务器充分预热,避免出现不具备参考意义的测试结果
      针对抢购电商限时活动等,不能使用梯度上升测试,这种场景压力就是断崖式上升的
            
      压力测试: 保持5分钟以上
      稳定性测试: 按比例随机调用接口,保持峰值压力2小时以上,可以的话24小时
      极限测试: 达到目标并发量后任然继续提高并发量且每个并发量保持1分钟以上,直到平均响应时间高于2秒或错误率高于1%,则此并发量可视为极限压力
      性能测试结果与数据量一般是关联的,性能测试时需要往数据库填充一定的数据量 1W行 10W行 100W行 500W行等,根据预测历史数据填充相近的数据量即可
      性能测试期间每台服务器的物理资源使用情况也需要记录,如最大CPU,内存,带宽使用率等,在峰值压力下,物理资源的使用率一般要求在80%以下(预留压力空间),另外服务器是虚拟机或容器物理资源的上限是不足面板值的
4)分析结果: 2部分组成,1是压测的结果,性能指标的测试结果,2是压测过程中,服务器的负载情况,以上两个都达标才算满足性能

性能调优:

        明确局部模块的目标性能指标
        服务调优
        编程方案提升性能

内核调优:

内核参数调优: 默认调整为最大参数设置(简化内核参数调优,没有必要根据具体硬件配置设置)

        最大文件数--最大文件数影响可以打开的文件数(包含文档,线程,TCP连接)

        TCP相关设置--影响高并发网络通信的性能,通道复用,TCP最大通道数等配置

服务器负载分析: 分析CPU,内存,网络贷款使用率,磁盘I/O情况等
          htop 查看CPU内存线程情况
          iostat 系统I/O设备使用情况
          iotop 监视磁盘I/O使用状况的top类工具
          tmpfs 是基于RAM的文件系统,通过tmpfs挂载一部分内存作为磁盘空间可以提高性能
          nload 网络流量实时监控工具

2.可用性

        系统总会出现程序错误或者服务器故障而导致宕机.

        高可用,灾备设计,服务器监控体系,定期巡检维护等都是需要考虑的

3.弹缩性

        系统在线用户数量不是固定不变的,可能因为活动导致某个时间段用户数激增,如果永远保持满足峰值在线用户则无疑是浪费服务器资源,因此动态弹缩服务器以适应动态变化在线用户量能够很好的利用服务器资源

需要注意的是单纯单锁服务不能满足用户数量的动态变化的,数据服务是动态弹缩的瓶颈

4.扩展性

网站需要扩展或变更功能实能有条不紊的响应变化,扩展性取决于软件质量和软件架构

5.安全性

系统对恶意访问,恶意攻击等的抵抗性

保证系统正常运行,保证数据不被泄露

系统安全知识: 防SQL盲注  接口鉴权 安全渗透测试等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值