- 性能的评价指标有哪些?
- 平均响应时间
- TP90、TP99等分位值
- 吞吐量:和响应时间成反比,单位时间内系统处理的请求数量
- 从用户体验的角度来讲,200ms是第一个分解点,用户感觉不到延迟;1s是第二个分界点,用户能感觉到延迟,但是可以接受。
- 并发数:系统能够同时处理请求的数量
- 性能计数器:描述服务器或者是操作系统性能的指标,包括系统负载、内存使用情况、磁盘使用情况、对象与线程数、CPU使用状况、磁盘与网络IO状况。
- 性能测试有哪些方法?日常性能测试、负载测试、压力测试、稳定性测试。日常性能测试用来测试系统是否符合日常访问需求。负载测试用于找到系统的最大负载点。压力测试用于找到系统的崩溃点。稳定性测试是给系统不同的配置和不均匀的压力,评估系统是否稳定。
- 如何排查网站系统的性能问题?
- 链路追踪,日志分析,监控数据分析。要素:内存、CPU、磁盘、网络、代码、架构。
- 实现架构高性能有哪些手段?
- 前端性能优化:合并css,合并js,合并图片来减少http请求,将多次的静态资源请求合并成一次请求;使用浏览器缓存;网关层做静态资源缓存;启用压缩,这个手段在js和css中很常用;使用CDN加速;使用反向代理服务器缓存资源,反向代理服务器还有一个功能是保护网站安全。
- 应用服务器性能优化:分布式缓存,多级缓存;异步化,能异步处理的业务场景就异步处理;使用集群进行部署
- 数据库层的性能优化:分库分表;索引优化;搜索引擎
- 代码层面的性能优化:多线程并发处理;设计模式的使用,如单例,享元模式(池化技术,HTTP连接池,线程池,数据库连接池,redis连接池);锁的优化;JVM调优
- 硬件层面:用更加好的硬件
- IO的优化:网络IO,磁盘IO,减少IO的次数和数据包的大小,避免不必要的IO