java
文章平均质量分 60
wangneng_168
这个作者很懒,什么都没留下…
展开
-
jprofiler的使用
概述: JProfiler是用于分析J2EE软件性能瓶颈并能准确定位到Java类或者方法有效解决性能问题的主流工具,它通常需要与性能测试工具如:LoadRunner配合使用,因为往往只有当系统处于压力状态下才能反映出性能问题。 分析内存: 系统的内存消耗过多往往有以下几种原因: 频繁创建Java对象,如:数据库查询时,没分页,导致查出表中所有记录; 存在大对象,如:读...原创 2014-01-01 20:04:35 · 309 阅读 · 0 评论 -
快速解决在线服务慢问题的工作流程
快速解决线上系统问题,对于公司可减少损失,对于相关技术人员,可改善睡眠原创 2014-11-06 16:30:15 · 287 阅读 · 0 评论 -
linux的oom killer导致memcached服务下线
公司部分项目是用python实现的,由于python的内存泄露问题,每两天凌晨均会重启一次python服务,有一次在业务高峰期,python服务的内存大增,导致操作系统的free memory低于/proc/sys/vm/min_free_kbytes设置的值,触发了linux的oom killer,由于在该python服务器上部署有memcached服务,在oom killer的算法下...原创 2014-11-06 15:58:38 · 253 阅读 · 0 评论 -
通过日志实现简单的服务监控与快速问题定位
生产系统出的问题中,请求响应慢是很常见的问题,如何快速定位慢的源头非常重要,通过对之前遇到的问题总结,发现一般都是依赖服务慢或者出现线程阻塞导致,对于这两种问题简单有效的定位方法如下: 1、打印超过阀值的依赖服务访问时长到日志,通过日志定位 2、使用java的jstack命令查看java线程是否阻塞 其中简单介绍一下如何利用日志定位问题: 对每个...原创 2014-11-06 14:48:11 · 524 阅读 · 0 评论 -
架构设计要点总结
根据以往经验总结一下架构设计的要点,记录下来,以后定期修整并添加新的感悟: 1. 了解需求,对现有需求,未来可能的需求均要了解,需求变化很正常,从架构层面做到开闭原则,以便可持续发展,如何做到,比如osgi这种插件化思想,小内核,新功能新插件,还比如一些设计模式:适配器模式 2. 分而治之,比如:按照高内聚低耦合的思路对系统进行垂直拆分,便于对子系统进行精细化的制定设计,并且屏蔽系统演变一...原创 2014-10-22 13:50:29 · 332 阅读 · 0 评论 -
线程池引起的jvm内存过大问题
之前的一个hbase表结构和rowkey规划不合理,我重新设计了一个新的hbase表,需要把旧表的数据写入到新表中,采用的方案是一个region一个region的倒数据,这样旧表的读是scan顺序读,新表的写是随机写,整体速度相对较快。 读采用单线程,写采用线程池(Executors.newFixedThreadPool()),改进scan查询速度的caching配置设置为...原创 2014-04-22 15:02:33 · 1881 阅读 · 0 评论 -
java nio
Java中nio有3个核心概念:channel,buffer,selector,在网络nio中,把channel的事件注册到selector,当网络就绪后进行读写操作,channel之间通过buffer传递数据。 Channel 一共有4种通道: FileChannel SocketChannel 基于TCP...原创 2015-01-23 16:44:55 · 185 阅读 · 0 评论 -
关于分页中总记录数的处理
在分页查询时通常需要显示总记录数,虽然只是一个数字,但是由于可能会全表统计,因此对查询的性能影响至关重要,现对其进行总结: 1、每次查询均select count,该方式数据的准确性最高,但是每次count,性能最低; 2、在会话期间只进行一次select count,然后缓存,该方式数据可能不准确,即可能漏数据导致部分新增数据无法被浏览到,但是可以避免后续访问的count操作...原创 2014-01-01 22:08:21 · 749 阅读 · 0 评论 -
软件国际化与本地化
所谓软件国际化,意指:软件输出的信息会自动适应不同的语言环境,也即软件支持本地化。 需要国际化的信息包括: 1、输出到client端的信息 java程序输出的信息,比如:一个ajax请求返回的数据; javascript文件中需要展现给用户的信息,比如:提示信息; 其它客户端技术需要展现给用户的信息,比如:Flex。 2、输出到服务器端的信息 日志信息(如果...原创 2014-01-01 21:50:11 · 634 阅读 · 0 评论 -
停止RegionServer服务的大致逻辑
hbase-daemon.sh中停止RS的脚本如下: if [ -f $pid ]; then # kill -0 == see if the PID exists if kill -0 `cat $pid` > /dev/null 2>&1; then //判断进程是否存在 echo -n stopping $com...原创 2014-11-07 15:53:28 · 436 阅读 · 0 评论