2012年12月13日
摘要: https://github.com/sgp2004/JavaTools代码地址HBase客户端的行锁会对相同rowkey的读写造成很大影响,同一个进程并发更新rowkey的计数有可能造成阻塞(场景 热门短链点击增加 热门微博评论数).例如一个线上问题:转发微博抱歉,此微博已被作者删除。查看帮助:http://t.cn/zWSudZc| 转发| 收藏| 评论所有被删除的微博里短链被引用的计数要减一,结果因为微博内容删除,只剩一个帮助短链,计数都减到帮助短链里,导致服务器响应缓慢分析行锁关键代码总结一下:client端:1 HTable类代码,发现lockRow 和 unlockRow方法都没有 阅读全文
posted @ 2012-12-13 18:29 架构师刀哥 阅读(1036) 评论(0) 推荐(0) 编辑
摘要: 机房T和机房Y共十台前端机,Y机房请求量是T的两倍,主要用于数据查询,开始问题是Y机房tomcat 相继僵死1) tomcat僵死处理步骤a 检查代码,发现read through后,没有把DB数据写到缓存,增加回写代码;但单台机器每秒请求也就几十条,HBase压力很小,最终发现无效。b 检查代码,认为跟运行几个月的动态代码在HBase使用上完全一致,所以认为业务代码层没有问题;打印堆栈信息,认为是HBase client端发现资源等待死锁的问题c 下载0.94.2 patch,分析认为其解决了死锁问题,更新jar包部署。第二周发现tomcat 日志疯狂报Interrupted错误,进程没有僵 阅读全文
posted @ 2012-12-13 15:02 架构师刀哥 阅读(1114) 评论(0) 推荐(0) 编辑