Java学习总结16——Java Web应用性能优化总结
2014-07-06 18:48
465 查看
一、性能测试指标
1.响应时间
2.最大并发数
3.系统吞吐量(TPS、QPS等)
4.服务器性能指标:Load、CPU使用、Memery使用、磁盘、网络IO(in/out)等。
二、性能优化方法总结
1.Web前端优化
①浏览器访问优化
1)减少HTTP请求:合并多个js文件、css文件、甚至合并图片
2)使用浏览器缓存,缓存js、css、logo等相对静态的资源,使用HTTP头中的Cache-Control中的Expires属性设置浏览器缓存。
3)使用压缩传输html、js、css等
4)css放最上面、js放最下面(页面解析时用到的js除外)
5)减少Cookie,css、js等有时不需要cookie,所以可以使用独立的域名。
②CDN加速
1)网络运营商级别的缓存,一般缓存的是静态资源
③反向代理
1)网站内部的缓存,用于缓存相对静态的资源,可以设置使用内部通知机制设置过期策咯。
2.应用服务器性能优化
①分布式缓存
1)缓存一致性
2)缓存可用性
3)缓存预热
4)缓存过期策略
5)缓存穿透避免、缓存容灾
②异步操作
1)通知机制、消息队列
③.使用集群进行负载均衡
④.代码优化
1)多线程
2)资源复用
a)数据库连接、网络连接、线程、复用
b)方案:对象池、单例
c)案例:线程池、数据库连接池、Spring中的Dao、Service等单例
3)JVM GC参数调优
a)合理分配jvm'运行的堆内存
b)合理设置新生代和老年代的大小
3.存储性能优化
①使用索引、B+树、LSM树
②索引缓存尽量全在内存
③使用固态硬盘SSD
参考资料:大型网站技术架构——核心原理原理分析
1.响应时间
2.最大并发数
3.系统吞吐量(TPS、QPS等)
4.服务器性能指标:Load、CPU使用、Memery使用、磁盘、网络IO(in/out)等。
二、性能优化方法总结
1.Web前端优化
①浏览器访问优化
1)减少HTTP请求:合并多个js文件、css文件、甚至合并图片
2)使用浏览器缓存,缓存js、css、logo等相对静态的资源,使用HTTP头中的Cache-Control中的Expires属性设置浏览器缓存。
3)使用压缩传输html、js、css等
4)css放最上面、js放最下面(页面解析时用到的js除外)
5)减少Cookie,css、js等有时不需要cookie,所以可以使用独立的域名。
②CDN加速
1)网络运营商级别的缓存,一般缓存的是静态资源
③反向代理
1)网站内部的缓存,用于缓存相对静态的资源,可以设置使用内部通知机制设置过期策咯。
2.应用服务器性能优化
①分布式缓存
1)缓存一致性
2)缓存可用性
3)缓存预热
4)缓存过期策略
5)缓存穿透避免、缓存容灾
②异步操作
1)通知机制、消息队列
③.使用集群进行负载均衡
④.代码优化
1)多线程
2)资源复用
a)数据库连接、网络连接、线程、复用
b)方案:对象池、单例
c)案例:线程池、数据库连接池、Spring中的Dao、Service等单例
3)JVM GC参数调优
a)合理分配jvm'运行的堆内存
b)合理设置新生代和老年代的大小
3.存储性能优化
①使用索引、B+树、LSM树
②索引缓存尽量全在内存
③使用固态硬盘SSD
参考资料:大型网站技术架构——核心原理原理分析
相关文章推荐
- Java基础学习总结(80)——Java性能优化详解
- Java基础学习总结(99)——Java代码性能优化总结
- 我的Java开发学习之旅------>心得总结:Java性能优化技巧集锦
- Java基础学习总结(80)——Java性能优化详解
- java程序性能优化学习总结--第一章java性能调优概述
- Java性能优化技巧总结
- 性能优化总结(三):聚合SQL在GIX4中的应用
- 黑莓手机BlackBerry Java应用性能优化,tips
- GAE Java 应用性能优化
- Java中的String、StringBuffer和Math类--学习java语言及其网络应用总结
- Java数据结构应用——无序列表学习总结(一)
- 性能优化总结(六):预加载、聚合SQL应用实例
- Java性能优化调整集锦[通用/JSP、EJB、JDBC/图形界面应用/ I/O 性能]
- Java的WEB应用性能问题定位方法总结(二):常见性能问题处理工具
- Java程序性能优化总结--------对象篇
- GAE Java 应用性能优化
- Java程序性能优化总结--------流程控制篇
- Java程序性能优化总结--------数据类型篇
- Java程序性能优化总结--------数组/集合篇
- GAE Java 应用性能优化