Java 后台性能优化简要
前端优化工具:YSlow
页面响应时间:Firebug
方法对应时间:btrace
GC日志分析:JVM 启动參数
数据库优化:慢查询
系统资源调用:监控
性能诊断測试工具例如以下:
ab: httpd.apache.org/docs/2.2/programs/ab.html
JMeter: jmeter.apache.org
Loadrunner
反向代理引流。TCPcopy:请求复制工具 github.com/wangbin579/tcpcopy
性能优化方法:
前端性能:http请求数量。CDN网络。使用压缩
Java程序优化:单例,Future模式的非堵塞。线程池。使用NIO。降低上下文切换,减低锁竞争
传输压缩与结果缓存
数据库查询优化:合理索引,降低关联查询的反范式设计。使用查询缓存。搜索引擎,使用Key-Value数据库,
GC优化
提升硬件性能
Java应用排查工具:
JPS:输出JVM的进程信息
JSTAT:JVM状态监控工具
JInfo:应用程序的配置參数
JStack:线程快照
JMap:回收对象的队列,堆栈信息
Btrace:动态跟踪工具 kenai.com/projects/btrace
Jconsole:图形化工具
MAT: 图形化堆分析工具
VisualVM:全能复合工具
Linux 日志分析经常使用命令:
查看文件内容:cat
分页显示文件:more,less
显示文件头尾:tail head
内容排序: sort
字符统计:wc
查看反复出现的行:uniq
字符串查找:grep
文件查找:find
归档:tar
URL訪问工具:curl
查看最耗时的页面:
cat localaccess.log |sort -k 2 -n -r |head -10
进一步。sed。awk shell了
Java 后台性能优化简要的更多相关文章
- Java程序性能优化技巧
Java程序性能优化技巧 多线程.集合.网络编程.内存优化.缓冲..spring.设计模式.软件工程.编程思想 1.生成对象时,合理分配空间和大小new ArrayList(100); 2.优化for ...
- Java的性能优化
http://www.toutiao.com/i6368345864624144897/?tt_from=mobile_qq&utm_campaign=client_share&app ...
- 《Java程序性能优化:让你的Java程序更快、更稳定》
Java程序性能优化:让你的Java程序更快.更稳定, 卓越网更便宜,不错的书吧
- [JAVA] java程序性能优化
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...
- Java GC 专家系列5:Java应用性能优化的原则
本文是GC专家系列中的第五篇.在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别.所以,你应该已经了解了JDK 7中的5种GC类型,以及每种GC ...
- Java 的性能优化
jvm 中的方法区: 永久区---存的类的信息.方法.常量 .静态变量 1.Java的性能优化 1.减少gc的压力,优先级比较低的线程,他是一个守护线程 回收我们的堆内存. 2.尽量的避免我们的new ...
- 从虚拟机视角谈 Java 应用性能优化
从虚拟机视角谈 Java 应用性能优化 周 祥, 软件工程师, IBM 简介:Java 的普及和广泛应用,以及其基于虚拟机运行的机制,使得性能问题越来越重要.本文从 Java 虚拟机的角度,特别是垃圾 ...
- 35 个 Java 代码性能优化总结
前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用, ...
- Java 代码性能优化总结
前言 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用, ...
随机推荐
- typescript 基本数据类型
1.boolen 布尔类型 let boolen1: boolen = false; 2.number 数字类型 let num1: number = 0b110;//二进制 let num2: nu ...
- 45.Qt openGL实现三维绘图
main.cpp #include <QApplication> #include <iostream> #include "tetraheadron.h" ...
- RT-Thread 设备驱动SPI浅析及使用
OS版本:RT-Thread 4.0.0 测试BSP:STM32F407 SPI简介 SPI总线框架其实和I2C差不多,可以说都是总线设备+从设备,但SPI设备的通信时序配置并不固定,也就是说控制特定 ...
- Python金融量化
Python股票数据分析 最近在学习基于python的股票数据分析,其中主要用到了tushare和seaborn.tushare是一款财经类数据接口包,国内的股票数据还是比较全的 官网地址:http: ...
- Hadoop MapReduce编程 API入门系列之wordcount版本5(九)
这篇博客,给大家,体会不一样的版本编程. 代码 package zhouls.bigdata.myMapReduce.wordcount1; import java.io.IOException; i ...
- MVC中使用UpdateModel获取接口参数
废话少说,直接上代码: 模型类定义: public class RequestModel { public string Name { get; set; } public float Age { g ...
- Python 之 基础知识(二)
一.分支运算 在Python 2.x中判断不等于还可以用<> if语句进阶:elif if 条件1: ...... elif 条件2: ...... else: ...... 二.逻辑运算 ...
- String[]转化暴露“思维误区”
那天写code,用到这个,强转,将页面传来的值转换为数组,结果是,当页面传来的只有一个值时,它是无法转换为数组的,只能获得1个string,只有length>1时才会转化为数组的形式,报的错误是 ...
- sphinx with discuz
安装sphinx: sudo apt-get install sphinxsearch 配置: source discuz { type = mysql sql_host = xx.xx.xx.xx ...
- DP:***24种设计模式--转自刘伟
转自于高人的文章:http://blog.csdn.net/lovelion/article/details/17517213 2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多 ...