极客时间学习笔记
(1)代码层面做好工作:减少磁盘 I/O 操作、降低竞争锁的使用以及使用高效的算法等等;
(2)比较复杂的业务,可以充分利用设计模式来优化业务代码。例如,设计商品价格的时候,往往会有很多折扣活动、红包活动,可以用装饰模式去设计;
(3)编码完成之后进行性能测试,项目成功上线后,还需要根据线上的实际情况,依照日志监控以及性能统计日志,来观测系统性能问题;
- 衡量性能指标
衡量系统的性能指标有:响应时间、吞吐量、计算机资源分配使用率、负载承受能力。
(1)响应时间,分为以下几种:
数据库响应时间:数据库操作所消耗的时间,往往是整个请求链中最耗时的;
服务端响应时间:服务端包括 Nginx 分发的请求所消耗的时间以及服务端程序执行所消耗的时间;
网络响应时间:这是网络传输时,网络硬件需要对传输的请求进行解析等操作所消耗的时间;
客户端响应时间:对于普通的 Web、App 客户端来说,消耗时间是可以忽略不计的,但如果你的客户端嵌入了大量的逻辑处理,消耗的时间就有可能变长,从而成为系统的瓶颈。
(2)吞吐量