影响系统性能的因素有不少,如下列举了常见的一些系统性能优化的方向:前端
提交请求和返回该请求的响应之间使用的时间,通常比较关注平均响应时间。git
如:数据库查询花费的时间,将字符回显到终端上花费的时间,访问 Web 页面花费的时间;github
指同一时刻,对服务器有实际交互的请求数。和网站在线用户数的关联。面试
对单位时间内完成的工做量(请求)的量度。算法
如:每分钟的数据库事务,每秒传送的文件千字节数,每分钟的 Web 服务器命中数。数据库
一般,平均响应时间越短,系统吞吐量越大;平均响应时间越长,系统吞吐量越小。可是,系统吞吐量越大,未必平均响应时间越短。编程
对于系统的性能调优,整体上从以下三个方面入手:后端
可是不管怎么优化,总原则就是:浏览器
CDN加速缓存
反向代理缓存
WEB组件分离
1. 缓存
优先考虑使用缓存优化性能。
2. 集群
3. 异步
组合起来有4种状态。
4. 程序
GC调优的方向:GC的时间够小,GC的次数够少
大多数的Java应用不须要GC调优,大部分须要GC调优的,不是参数问题,是代码问题 GC调优是最后手段。
GC调优的优先级: 第一位:选择合适的GC回收期 第二位:选择合适的堆大小 第三位:选择年轻代在堆中的比重
步骤: 1.监控GC的状态 2. 分析结果,判断是否要优化 minGC 时间《 50ms,10s一次 FullGC执行1s一下,频率10分钟以上
打印GC日志:
-XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath -XLogger:logpath -XX:PrintHeapAtGC
本文由『后端精进之路』原创,首发于博客 teckee.github.io/ , 转载请注明出处
搜索『后端精进之路』关注公众号,马上获取最新文章和价值2000元的BATJ精品面试课程。