能调优工具 Linux性能监控与调优工具
一、抓包工具都有哪些
抓包工具有:fiddler抓包工具、Charles抓包工具、Firebug抓包工具、httpwatch抓包工具、Wireshark抓包工具、SmartSniff抓包工具。
1、fiddler抓包工具,是客户端和服务端的http代理,客户端所有的请求都要先经过fiddler,到响应的服务端,然后端返回的所有数据也都要经过fiddler,fiddler也是常用的抓包工具之一。
2、Charles抓包工具也是比较常用的,和fiddler差不多,请求接口和返回数据的显示方式不一样,Charles是树状结构比较清晰,fiddler是按照时间倒叙排的。
3、Firebug抓包工具是浏览器firefox浏览器自带插件,支持很多种浏览器,直接按f12,就可以打开,用起来比较方便。
4、httpwatch抓包工具是强大的网页数据分析工具,安装简单,不需要设置代理和证书,但只能看不能修改,,集成在Internet Explorer工具栏。
5、Wireshark抓包工具很强大,可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。但是如果只是抓取http和https的话,还是用fiddler和Charles比较简洁一点。
6、SmartSniff抓包工具是一款方便小巧的 TCP/IP数据包捕获软件,网络监视实用程序。
扩展资料:
抓包工具在我们工作中主要用在:
A:抓取发送给服务器的请求,观察下它的请求时间还有发送内容等等;
B:去观察某个页面**组件消耗时间太长,找出原因,要开发做性能调优;
C:或者我们去做断点或者是调试代码等等。
抓包工具所具备的几个功能:
1)它提供类似Sniffer的包分析功能,可以帮助我们详细拆分IP结构内容,带我们深入的了解TCP/IP协议;
2)它可以用来分析软件占用端口及通讯情况比重的工具;
3)它可以让我们从海量IP数据包中,找出我们需要的IP数据包,还能通过用户端的情况,帮助我们能截获各类敏感数据包。
二、有哪些网页性能测试工具
这个就非常多啦,下面我简单介绍几个常见的网页性能测试工具,感兴趣的朋友可以尝试一下:
Pingdom
这是一个非常不错的网页性能测试工具,可以测试网站所有对象的加载时间,包括HTML,JS,CSS等,在测试报告中,您可以看到每个元素的加载时间,元素的大小和元素的总数量,对于改善提升网站性能才说,非常有用:
GTmetrix
这也是一个非常不错的网页性能测试工具,可以帮助你开发更快速、高效以及用户体验良好的网站,结合了当前流行的Firefox性能组件YSlow和谷歌网页速度测试工具,可以对目标网站进行综合评分并给出改进意见,对于网页调优来说,非常有用:
LoadImpact
这也是一个非常不错的web网页负载和性能测试工具,可以选择一个全球负载区对网页进行测试,包括模拟客户、带宽、数据接受、每秒的请求等,终结果会以一个漂亮的图表进行展示,非常直观可靠,对于网页性能改善和提升来说,也非常有用:
WebPageTest
这也是一个非常不错的网页性能测试工具,你可以运行简单的测试或执行先进的测试,包括多级事务、视频捕捉、内容阻塞等,测试结果将提供丰富的诊断信息,包括资源加载瀑布图、页面速度优化检查和改进的建议,对于网页性能优化来说,非常有帮助:
OctaGateSiteTimer
这也是一个不错的网页性能测试工具,基本功能和前面几个网站相差不多,可以检测每个网页内资源的**时间(包括CSS,JS等)、开始请求和结束时间,测试结果会以可视化的图表展示出来,对于网页优化和提升来说,也是一个不错的工具:
目前,就分享这5个不错的网页性能测试工具吧,对于日常大部分网站优化来说,完全够用了,当然,还有许多其他测试工具,基本功能都相差不多,这里就不一一介绍了,网上也有相关资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
三、Linux性能监控与调优工具
除了保证程序的正确性以外,在项目开发中往往还关心性能和稳定性。我们往往要对内核、应用程序或整个系统进行性能优化。在性能优化中常用的手段如下:
使用top、vmstat、iostat、sysctl等常用工具
top命令用于显示处理器的活动状况。在缺省情况下,显示占用CPU多的任务,并且每隔5s做一次刷新;vmstat命令用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息;iostat命令用于分析各个磁盘的传输闲忙状况;netstat是用来检测网络信息的工具; sar用于收集、报告或者保存系统活动信息,其中,sar用于显示数据,sar1和sar2用于收集和保存数据
sysctl是一个可用于改变正在运行中的Linux系统的接口。用sysctl可以读取几白个以上的系统变量,如用sysctl—a可读取所有变量。
sysctl的实现原理是:所有的内核参数在/proc/sys中形成一个树状结构,sysctl系统调用的内核函数是sys_sysctl,匹配项目后,后的读写在do_sysctl_strategy中完成。
2.使用高级分析手段,如OProfile、gprof
OProfile可以帮助用户识别诸如模块的占用时间、循环的展开、高速缓存的使用率低、低效的类型转换和冗余*作、错误预测转移等问题。它收集有关处理器**的信息,其中包括TLB的故障、停机、存储器访问以及缓存命中和未命中的指令的攫取数量。OProfile支持两种采样方式:基于**的采样(Event Based)和基于时间的采样(Time Based)。基于**的采样是OProfile只记录特定**(比如L2缓存未命中)的发生次数,当达到用户设定的定值时Oprofile就记录一下(采一个样)。这种方式需要CPU内部有性能计数器(Performace Counter))。基于时间的采样是OProfile借助OS时钟中断的机制,在每个时钟中断,OProfile都会记录一次(采一次样)。引入它的目的在于,提供对没有性能计数器的CPU的支持,其精度相对于基于**的采样要低,因为要借助OS时钟中断的支持,对于禁用中断的代码,OProfile不能对其进行分析。
四、JVM 调优工具有哪些
Java虚拟机(JVM)调优是提高Java应用程序性能的重要步骤之一。以下是一些常用的Java JVM调优工具:
- VisualVM:这是Oracle官方提供的免费工具,可以监视和分析Java应用程序的性能。
- JConsole:这是Oracle官方提供的免费工具,可以监视和分析Java应用程序的性能。
- JDK自带的JIT编译器:可以通过调整JIT编译器的参数来提高Java应用程序的性能。
- JProfiler:这是一个商业工具,可以提供更详细的分析和报告,以及更多的性能优化选项。