摘要: 关于秒杀 随着双11活动的不断发展,小米饥饿营销模式的兴起,“秒杀”已经成为一个热点词汇。在一些活动中,热销商品会以惊人的速度售罄,比如最近本人在抢购美图M4手机,12点开卖,1分钟之内就被售罄。 秒杀的实现 对于关注数据库的本人来说,更关心的是如何高效的实现秒杀应用。之前淘宝在2013年的数据库大 阅读全文
posted @ 2017-02-25 12:44 安大叔 阅读(1290) 评论(0) 推荐(1) 编辑
摘要: 背景说明 近期北京理财频道反馈用来存放股市实时数据的MongoDB数据库写响应请求很慢,难以跟上业务写入速度水平。我们分析了线上现场的情况,发现去年升级到SSD磁盘后,数据持久化的磁盘IO开销已经不是瓶颈.通过日志分析,线上单次写入(更新)请求大多在数十毫秒这个级别,数据库端观察几个主要的db在繁忙 阅读全文
posted @ 2017-02-25 12:36 安大叔 阅读(1484) 评论(0) 推荐(0) 编辑
摘要: 关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能。这是一款典型的tomcat应用,使用的测试工具是Grinder。DBCP作为tomcat服务器常用的数据库连接池,其性能表现直接关乎应用的性能。 1.遇到的问题 当并发量增加到100时,该 阅读全文
posted @ 2017-02-25 12:33 安大叔 阅读(1348) 评论(0) 推荐(0) 编辑
摘要: 初识中间件之消息队列 1 消息队列概述 消息队列是分布式系统中的重要组件,主要解决应用耦合,异步消息,流量削锋等问题,以实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统中不可缺少的中间件。 目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ 阅读全文
posted @ 2017-02-25 12:26 安大叔 阅读(4202) 评论(0) 推荐(0) 编辑
摘要: 前言: 近阶段都在探索android性能测试方面的东西,其中一个很重要的指标就是内存。对于内存,主要是一些gc是不是及时,或者说一些引用有没有及时释放,有没有导致oom或者内存持续增加导致卡顿,有没有大规模的内存抖动。近期项目由于个别模块大改,所以也就想把性能测试的东西在实际项目中实践进去,本文就是 阅读全文
posted @ 2017-02-25 12:21 安大叔 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 之前产品线上发生过若干次因为tomcat连接池被耗尽而导致宕机的故障,而具体根源原因则各不尽相同。有因为调用和被调用的服务申请相同的分布式锁而导致死锁的,有因为发送内部或外部的JMS消息发生堵塞的,有因为某个存在性能问题的接口被较多调用导致的,还有某些超高频接口没有做好专门优化而导致的。。。 所有上 阅读全文
posted @ 2017-02-25 12:14 安大叔 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 前言: RDS系统致力于MySQL数据的高可用,高可靠,高性能以及在线扩展功能,实现这些特性的主要逻辑功能都运行在管理服务器上,一旦管理服务器宕机,数据库的在线扩展功能/备份功能/故障恢复功能等都无从谈起。然而,之前RDS系统管理服务器却是单点服务,为了保证整个系统的稳定性,管理服务器需要实现高可用 阅读全文
posted @ 2017-02-25 12:03 安大叔 阅读(12716) 评论(0) 推荐(0) 编辑
摘要: 概述 之所以想写这篇文章,其实是因为最近有不少系统出现了栈溢出导致进程crash的问题,并且很隐蔽,根本原因还得借助coredump才能分析出来,于是想从JVM实现的角度来全面分析下栈溢出的这类问题,或许你碰到过如下的场景: 日志里出现了StackOverflowError的异常 进程突然消失了,但 阅读全文
posted @ 2017-02-25 11:59 安大叔 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 为什么要做引流测试 目前为止大部分的测试是在测试环境下,通过模拟用户的行为来对系统进行验证,包括功能以及性能。在这个过程中,你可能会遇到以下问题: 用户访问行为比较复杂,模拟很难和用户行为一致,模拟不够真实; 线下模拟场景有限,会出现业务覆盖不全的情况。引流测试就是为了解决以上问题,通过把线上的真实 阅读全文
posted @ 2017-02-25 11:56 安大叔 阅读(3920) 评论(0) 推荐(0) 编辑
摘要: 概述 在日常测试中,我们会去重点观察java的内存使用情况,比如:进程会抛出OOM异常,不再接收新的请求;响应时间在固定时间段内变长,超时或者不响应,CPU使用率时常像过山车一样等。有时候JVM还会发生欺骗你的场景, JVM不停的在垃圾回收,可是每次回收完后堆却还是满的,很明显程序内存被使用完了,已 阅读全文
posted @ 2017-02-25 11:36 安大叔 阅读(1221) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章《公司HBase基准性能测试之准备篇》中详细介绍了本次性能测试的基本准备情况,包括测试集群架构、单台机器软硬件配置、测试工具以及测试方法等,在此基础上本篇文章主要介绍HBase在各种测试场景下的性能指标(主要包括单次请求平均延迟和系统吞吐量)以及对应的资源利用情况,并对各种测试结果进行分析 阅读全文
posted @ 2017-02-25 11:32 安大叔 阅读(844) 评论(0) 推荐(1) 编辑
摘要: 本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。 测试环境 测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关 阅读全文
posted @ 2017-02-25 11:20 安大叔 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 大数据时代,HBase作为一款扩展性极佳的分布式存储系统,越来越多地受到各种业务的青睐,以求在大数据存储的前提下实现高效的随机读写操作。对于业务方来讲,一方面关注HBase本身服务的读写性能,另一方面也需要更多地关注HBase客户端参数的具体意义。这篇文章就从一个具体的HBase客户端异常入手,定位 阅读全文
posted @ 2017-02-25 11:15 安大叔 阅读(1082) 评论(0) 推荐(0) 编辑
摘要: HTTP协议是如今互联网与服务端技术的基石,HTTP协议的演进也从侧面反应了互联网技术的快速发展。这两天在准备一次关于HTTP1.1协议特性的技术分享过程中,顺便了解了下各版本HTTP协议的特点,在这里做个简单的总结。 HTTP协议到现在为止总共经历了3个版本的演化,第一个HTTP协议诞生于1989 阅读全文
posted @ 2017-02-25 11:11 安大叔 阅读(16923) 评论(0) 推荐(1) 编辑
摘要: TPS下降问题分析 某产品为方便用户使用开发SDK接口,对HTTP API进行了包装。测试过程中,SDK接口与直接使用HTTP API访问的性能对比,发现在同样的压力测试场景下SDK的TPS下降很多。 使用工具Nprofile定位发现代码中调用连接池管理部分代码消耗时间比HTTP API长,进一步查 阅读全文
posted @ 2017-02-25 10:41 安大叔 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 纯通过Jmeter的界面进行Web的接口测试,效率低下。为此将Jmeter的接口测试与Jenkins联合,实现持续集成。配置完成后,只需修改运行的Jmeter脚本即可,运行结束后测试结果发送到指定邮箱,方便快捷,提高测试回归的效率。 A、Maven项目的建立与配置 1、新建Maven项目 2、添加  阅读全文
posted @ 2017-02-25 10:35 安大叔 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 一、背景介绍 最近在做日志服务的稳定性测试,大约跑一个小时左右一直报OOM,使用的测试java代码结构跟NDIR稳定性测试使用的基本上是一致的,但是NDIR稳定性测试做过很多次了,没有出现过类似问题,由于急着做稳定性测试,这个事情让我很头疼,于是花了一些时间去分析了一下内存情况。 二、问题分析 1. 阅读全文
posted @ 2017-02-25 10:00 安大叔 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 笑话(1) 项目经理是一个认为九个女人可以在一个月之内生出一个孩子的人。 开发人员是一个认为需要18个月才能生出一个孩子的人。 现场协调员是一个认为一个女人可以在一个月内生出一个孩子的人 客户是一个不知道他为什么要一个孩子的人。 市场经理是一个认为他可以在即使没有男人和 c女人的情况下也可以生出一个 阅读全文
posted @ 2017-02-25 09:51 安大叔 阅读(431) 评论(0) 推荐(0) 编辑
摘要: android常见内存泄漏主要有以下几类: 一、Handler 引起的内存泄漏。 在Android开发中,我们经常会使用Handler来控制主线程UI程序的界面变化,使用非常简单方便,但是稍不注意,很容易引发内存泄漏。 我们知道,Handler、Message、MessageQueue是相互关联在一 阅读全文
posted @ 2017-02-25 09:40 安大叔 阅读(24154) 评论(0) 推荐(0) 编辑