tcprstat分析服务的响应速度利器

简介:
tcprstat是percona用来监测mysql响应时间的。不过对于任何运行在TCP协议上的响应时间,都可以用。

下面是一个监控示例,监控分析mysql的3306端口。


$sudo tcprstat -p 3306 -t 1 -n 5
timestamp   count   max min avg med stddev  95_max  95_avg  95_std  99_max  99_avg  99_std
1283261499  1870    559009  39  883 153 13306   1267    201 150 6792    323 685
1283261500  1865    25704   29  578 142 2755    889 175 107 23630   333 1331
1283261501  1887    26908   33  583 148 2761    714 176 94  23391   339 1340
1283261502  2015    304965  35  624 151 7204    564 171 79  8615    237 507
1283261503  1650    289087  35  462 146 7133    834 184 120 3565    244 358


根据上面的信息,我们可以知道mysql在我们检测期间,对于客户端查询的最大响应时间是559009(单位微妙),即0.559009秒。

你也可以读取tcpdump的文件进行分析。


$sudo tcpdump -i eth0 -nn port 80  -w ./tcpdump.log 
$sudo tcprstat -l 10.234.9.103 -t 2 -n 5 -r ./tcpdump.log 
timestamp       count   max     min     avg     med     stddev  95_max  95_avg  95_std  99_max  99_avg  99_std
1403180482      2       28017   26717   27367   28017   650     26717   26717   0       26717   26717   0
1403180484      0       0       0       0       0       0       0       0       0

注意:
如果运行的时候提示 pcap: SIOCGIFFLAGS: bonding_masters: No such device。那说明没能自动提取服务器ip。需要使用-l参数手动指定。

安装tcprstat
如果是在64位操作系统中使用,可以直接下载二进制文件使用。步骤如下:
1、下载文件 http://github.com/downloads/Lowercases/tcprstat/tcprstat-static.v0.3.1.x86_64
2、把下载的文件移动到 /usr/bin
3、把文件名修改为 tcprstat
4、修改文件权限,增加执行权限 chmod +x /usr/bin/tcprstat
如果你想在32位操作系统中使用,那你只能自己编译了。代码下载地址 https://github.com/Lowercases/tcprstat https://launchpad.net/tcprstat


参数说明


命令行参数    简短形式   类型      描述                    默认值
--format    -f        字符串     输出格式化字符串  ”%T\t%n\t%M\t%m\t%a\t%h\t%S\t%95M\t%95a\t%95S\t%99M\t%99a\t%99S\n” 
--help                          显示帮助信息
--interval  -t        数字      监控多少秒输出一次统计     10
--iterations  -n      数字      共输出几次统计信息         1
--local       -l      字符串    本级ip地址列表
--port        -p      数字      服务端口
--read        -r      字符串    pcap文件路径
--version                      显示版本信息
--no-header           字符串    输出不显示头信息
--header              字符串    指定输出的头信息



目录
相关文章
|
14天前
|
缓存 负载均衡 算法
性能优化:提升系统效率的关键
性能优化:提升系统效率的关键
30 1
|
3月前
|
存储 缓存 运维
优化高并发环境下的数据库查询性能:实战经验与技巧
在高并发环境下,数据库性能往往成为系统瓶颈。本文将深入探讨在高并发场景下优化数据库查询性能的策略与实践,包括索引优化、查询优化、数据库架构设计以及缓存机制的应用。通过对具体案例的分析,读者将能够掌握提升数据库性能的关键技术,从而在面对大规模用户请求时提高系统的响应速度和稳定性。
|
4月前
|
缓存 监控 前端开发
前端开发中的性能瓶颈分析与优化
【7月更文挑战第27天】前端开发中的性能优化是一个系统工程,需要从多个角度入手,综合运用多种策略。通过减少网络延迟、优化资源加载、优化DOM操作、优化JavaScript执行以及第三方服务优化等措施,可以显著提升前端应用的性能。同时,通过性能监控和调优工具的使用,可以持续监控和优化应用性能,确保用户获得流畅、高效的体验。
|
4月前
|
Arthas 数据采集 测试技术
性能优化思路及常用工具及手段问题之利用工具采集系统热点问题如何解决
性能优化思路及常用工具及手段问题之利用工具采集系统热点问题如何解决
|
5月前
|
运维 监控 安全
自动化运维:提升效率与减少错误的利器
【6月更文挑战第17天】在数字化时代,运维团队面临着不断增长的服务需求和系统复杂性。自动化运维作为一种解决方案,通过减少人为干预、提高操作准确性和效率,已经成为现代IT管理的核心组成部分。本文将深入探讨自动化运维的概念、实施步骤、面临的挑战以及如何克服这些挑战,最终实现运维工作的高效和稳定。
|
6月前
|
编解码 缓存 数据库
构建高效Android应用:从性能优化到用户体验
【5月更文挑战第29天】 在移动开发领域,打造一个流畅且响应迅速的Android应用对于保持用户忠诚度和市场份额至关重要。本文将深入探讨如何通过细致的性能优化措施和关注用户体验设计,来提升Android应用的整体质量。我们将透过代码层面的实践技巧、资源管理和系统机制的优化,以及用户界面和交互设计的改良,共同构建起一个既快速又吸引人的应用程序。
|
5月前
|
存储 JSON 数据格式
如何提升写入效率?Schemaless 写入性能优化实践分享
TDengine 是一款时序数据库,其Schemaless模式适应物联网数据动态变化。通过分析火焰图,发现parser和insert操作是性能瓶颈。优化措施包括减少标签解析、排序和子表生成的重复执行,提前判断schema变更,改进数据插入方法,减少内存分配和拷贝。通过这些优化,如在3.0版本中,line协议性能提升了2.5倍,telnet提升2倍,json提升近5倍。使用工具如火焰图和perf进行性能分析,以识别和解决瓶颈,实现性能提升。
36 0
|
6月前
|
缓存 Android开发 UED
构建高效Android应用:从优化用户体验到提升性能
【5月更文挑战第15天】 在移动开发领域,构建一个高效的Android应用不仅仅意味着实现功能,还要确保流畅的用户体验和出色的性能。本文将深入探讨如何通过界面优化、代码整洁、资源管理和多线程处理等技术手段来提升Android应用的整体效率。我们将透过实际案例,揭示常见性能瓶颈的成因,并提供相应的解决方案。此外,文章还会涵盖最新的Android Studio工具和Lint检查的使用,帮助开发者早期发现潜在问题。
|
6月前
|
缓存 前端开发 UED
实战指南:如何优化前端性能提升用户体验
本文探讨了在当今互联网时代,前端性能优化对于提升用户体验的重要性,以及如何利用各种技术手段实现前端性能的优化。通过介绍前端性能优化的原则、常见的性能优化技巧和工具,以及实际案例分析,帮助开发者深入了解并掌握提升前端性能的方法,从而提升网站的加载速度、响应速度,提高用户的满意度和留存率。
|
存储 测试技术 虚拟化
现代化数据体验(1)-C40的一次性能测试记录
现代化数据体验(1)-C40的一次性能测试记录
现代化数据体验(1)-C40的一次性能测试记录