Defonds 的专栏

本博客文章大部分来自于互联网的某个角落(少许原创除外).为尊重原作者劳动付出,转载的话请注明原始出处.谢谢:-)...

如何使用 JMeter 调用你的 Restful Web Service?进行简单的压力测试和自动化测试

表述性状态传输(REST)作为对基于 SOAP 和 Web 服务描述语言(WSDL)的 Web 服务的简单替代,在 Web 开发上得到了广泛的接受。能够充分证明这点的是主流 Web 2.0 服务提供商在接口设计中对 REST 的普遍采用 - 包括雅虎、谷歌以及脸谱 - 出于简单易用、以面向资源的模...

2017-01-22 09:20:27

阅读数:11148

评论数:0

JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码

本文是《JVM 性能调优实战之:一次系统性能瓶颈的寻找过程》 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍),并准确定位系统瓶颈:我们应用里静态对象不是太多、有大量的业务线程在频繁创建一些生命周期很长的临时对象,代码里...

2016-09-21 11:25:21

阅读数:40815

评论数:9

JVM 性能调优实战之:一次系统性能瓶颈的寻找过程

玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。性能优化分为好几个层次,比如系统层次、算法层次、代码层次...JVM 的性能优化被认为是底层优化,门槛较高,精通这种技能的人比较少。笔者呆过几家技术力量不算弱的公司,每个公司内部真正能够进行 JVM 性...

2016-09-20 17:39:18

阅读数:28769

评论数:12

Redis 缓存 + Spring 的集成示例

《整合 spring 4(包括mvc、context、orm) + mybatis 3 示例》一文简要介绍了最新版本的 Spring MVC、IOC、MyBatis ORM 三者的整合以及声明式事务处理。现在我们需要把缓存也整合进来,缓存我们选用的是 Redis,本文将在该文示例基础上介绍 Red...

2015-09-24 19:53:26

阅读数:163793

评论数:70

警惕 MySql 更新 sql 的 WHERE 从句中的 IN() 子查询时出现的性能陷阱

mer_stage 表有 216423 条记录,DDL:CREATE TABLE `mer_stage` ( `STAGE_ID` int(11) NOT NULL AUTO_INCREMENT, `MER_ID` int(11) NOT NULL, `MER_CODE` varcha...

2015-07-03 19:55:53

阅读数:22470

评论数:3

JMeter 源码解析之一:JMeter 上传文件时,如何参数化 Content-Disposition 的 filename?

问题描述        文件上传时,用户定义 Content-Disposition 是失效的。        笔者在写压力测试脚本的时候,有个上传页面,服务器是根据用户传过来的 Content-Disposition 里的 filename 值来定义保存文件的文件名的。但是测试人员不可能为每一次...

2014-11-29 09:44:31

阅读数:47283

评论数:4

关于 Java Web 项目性能提升的一些思路

关于 Java Web 项目性能提升的一些看法,欢迎大侠们进来提供更多建议,也欢迎拍砖。

2013-12-13 17:01:13

阅读数:6850

评论数:0

一次应用访问数据库 IP 配成外网 IP 引发的血案

我们生产的渠道对接系统出现大量推送运营商信息失败的现象。问题最终定位到 mongo 身上:.00:03:05.425 [http-nio-9100-exec-53] ERROR c.d.r.s.i.CarrierOpRepServiceImpl - 存储运营商数据失败,Timeout waitin...

2017-11-04 20:18:27

阅读数:5632

评论数:0

Linux 如何添加一个 Swap 文件

我需要添加额外的 swap 空间以提升我的 Linux 服务器/桌面系统的性能。我该如何在不创建一个新的分区的前提下只使用命令行就添加一个 swap 文件到 Linux 系统中去呢?在 Linux 中,亦如在大多数其它的类 Unix 操作系统中,通常都使用一块磁盘的一整块分区来作为交换区域。但对于...

2017-08-14 17:04:21

阅读数:7576

评论数:0

某次压测时物理内存被用光 Tomcat 被 Kernel kill 掉的案例

在对某项目进行压测时,阿里云 PTS 压测工具监测到在某个时间点后 tps 呈下降趋势:作为对应指标的响应时间(rt)在这个时间点呈上升趋势:查看实时监控-监控集指标,发现 publisher1 节点的 CPU 利用率已降为 1.9,在高并发的时候这个值肯定是有问题,很可能这个节点已经宕掉:查看网...

2017-07-25 15:09:26

阅读数:11121

评论数:0

又一例 select for update 的悲观锁使用所引发的血案

1. 事故描述昨日上午十点多,我们的基础应用发生生产事故。具体表象为系统出现假死无响应。2. 硬件 LB查看硬件负载路由情况:ARRAY-3(config)#sh stati sl r tcp JiChuYinYong_a_8001Real service JiChuYinYong_a_8001 ...

2017-03-26 18:20:05

阅读数:15596

评论数:1

压力测试随笔之:JMeter,LoadRunner 相得益彰

做压力测试,我喜欢先写 JMeter 脚本,功能测通以后再翻译成 LoadRunner 脚本,最后用 LoadRunner 完成压测。也许我是 Java 出身吧,对 JMeter 总是有一种亲切感用着得心应手,而 LoadRunner 稳定性、强大而友好的结果分析功能又是我无法抗拒的...

2017-01-13 10:00:06

阅读数:6227

评论数:7

一次 select for update 的悲观锁使用引发的生产事故

1.事故描述本月 8 日上午十点多,我们的基础应用发生生产事故。具体表象为系统出现假死无响应。查看事发时间段的基础应用 error 日志,没发现明显异常。查看基础应用业务日志,银行结果处理的部分普遍很慢,大都在十分钟以上。2.AWR 报告向 DBA 要了一下那个时间段的 AWR 报告,发现以下三个...

2016-11-11 18:11:14

阅读数:13212

评论数:2

Oracle AWR 报告的生成和分析

1.背景1.1.Linux 服务器情况# cat /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago)Kernel \r on an \m1.2.Win7 客户端情况Win7 旗舰版 sp1,4G内存,双核 CPU 主频 ...

2016-11-01 16:44:05

阅读数:15365

评论数:0

Oracle 服务器运行健康状况监控利器 Spotlight on Oracle 的安装与使用

本文是《Linux 服务器运行健康状况监控利器 Spotlight on Unix 的安装与使用》的姊妹篇,Linux 的 Spotlight 监控请参考该篇博客。1.本文背景Oracle 版本:10g Enterprise Edition Release 10.2.0.5.0 - 64bit,部...

2016-10-28 17:52:23

阅读数:14158

评论数:3

Linux 服务器运行健康状况监控利器 Spotlight on Unix 的安装与使用

1.背景1.1.Linux 服务器情况# cat /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago)Kernel \r on an \mCPU 16 核、主频 2.6G,内存 32GB。1.2.Win7 客户端情况Win...

2016-08-31 15:26:58

阅读数:18195

评论数:2

关系型数据库大数据性能优化解决方案之:分表(当前表历史表)、表分区、数据清理原则

原因和目的由于交易量大或者日积月累造成数据库的数据量越来越大。会导致系统性能大幅下降,所以要对部分业务的表数据作备份和清理减少数据量,来提升请求响应的速度,提升用户体验数据是否需要清理的阀值判断通常当表的磁盘大小超过5GB,或对于OLTP系统(联机事务处理),表的记录超过3000万,都应考虑对表进...

2016-08-18 15:35:01

阅读数:7157

评论数:1

Golang web 开发实战之 session 缓存:如何使用 redigo 将一个结构体数据保存到 redis?

自定义 session 结构体:type Session struct { SessionID string `json:"sessionId" bson:"sessionId"` User *User `js...

2016-07-21 17:11:09

阅读数:7532

评论数:0

为什么高并发系统都喜欢玩异步

削峰填谷,大家都知道这个高并发峰值处理的解决办法。削峰填谷的原理,无外乎把同步变成异步。其实同步,还是异步处理,要求的单位系统资源是一样的,可能要求同样的系统内存、I/O,占用同样的 CPU 时间。那么区别在哪里?系统的吞吐能力取决于单个请求的处理效率,处理速度越快,系统吞吐能力越高,也就是并发能...

2016-06-30 16:02:36

阅读数:4928

评论数:2

MongoDB 性能优化:分析执行计划

前言cursor.explain("executionStats") 和 db.collection.explain("executionStats") 方法提供一个 查询的性能统计情况。这些数据输出在校验某个查询是否以及如何使用了索引的时候非常有用。db....

2016-05-11 20:20:27

阅读数:9783

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭