减肥单页网站,小程序有什么用,定西市住房和城乡建设局网站,品牌塑造的六个步骤在给客户进行应用程序维护的过程中#xff0c;我注意到一些关于高负载条件下的性能问题。理论上#xff0c;增加对应用程序的负载会使性能有所下降#xff0c;但是我认为性能下降的比率远远高于负载的增加#xff0c;同时我也发现#xff0c;性能可以通过改变应用程序的逻…在给客户进行应用程序维护的过程中我注意到一些关于高负载条件下的性能问题。理论上增加对应用程序的负载会使性能有所下降但是我认为性能下降的比率远远高于负载的增加同时我也发现性能可以通过改变应用程序的逻辑来提升。为了更详细地了解这一点我们需要做一些性能分析这时我们自然就要用到一些性能分析工具。Java有许多的性能分析工具可以帮助我们弄清楚这个问题但是我们应该使用哪一款工具呢为了做出正确的选择我列出性能分析应满足一些最低要求必须包括对应用程序的类、方法及时间的监测必须包括对内存的监测必须具有易用性我配置了一个使用RESTful接口的Spring应用程序使用MongoDB作为数据存储还使用Solr搜索并在Tomcat服务器上部署。参考工具1.VisualVMVisualVM是一个资源分析工具一直从JDK 6更新到7它默认内存和CPU的监视它可以告诉你哪个类和方法消耗资源但它不会显示代码流程。2.JProfilerJProfiler很容易安装并且通过向导你可以选择应用服务器用来运行应用程序。我不得不选择使用JPofiler应用服务器的主目录以及向导生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中它会提供几个选项它可以记录内存的使用和CPU的使用率。在查看CPU使用率的同时可以看到执行路径。这让我看到应用程序大部分时间都花在请求上。我们可以将IntelliJ插件安装到IDE上那么运行JProfiler会更加便利。比如可以直接帮我启动Tomcat。3.YourKitYourKit是我在另一个项目中偶然发现的一款性能分析工具它的安装很简单。安装时有一个选项可以安装一个插件到我的IDE。安装后运行应用程序使用该插件它会自动连接到YourKit。它有一个漂亮的用户界面可以查看到内存和CPU的监测同时也可以看到请求的执行路径。4.JProbe我刚开始创建JProbe时遇到点困难。安装并不是直接完成我需要对它进行配置。它采用了类似JProfiler一样的设置。它会在你的Tomcat目录中生成启动脚本可以通过脚本启动服务器并监听会话。它的界面包含有按钮和表格其中可以看到内存的使用但无法在进程中找到执行路径。5.Spring Insight听到TC Server有Spring Insight监控界面于是我兴奋地尝试了一下。安装完成后并设置成TC Server的开发者版然后部署应用程序在TC Server上。我查看Insight界面它可以很好的监视类和方法并能看到完成这个方法用了多少时间。我还能看到输入参数值以及返回值。由于我的应用程序是基于Spring的Spring Insight能够提供非常有用的数据。TC Server插件在IDE上的配置与Tomcat的配置类似。SpringSource工具套件就自带Spring Insight。结 论看到这五款性能分析工具我可以肯定地说它们都非常不错。如果你有基于Spring的应用程序那么选择Spring Insight显然是最佳的。它一直是免费的但你需要部署你的应用在TC Server上。如果你想监听本地和远程的进程我会选择JProfiler或YourKit.这两个也可以帮助Spring Insight来监测、找到性能瓶颈。JProfiler和YourKit已经能满足我的上述要求。JProfiler、YourKit和Spring Insight都可以跟踪应用程序的类和方法的流向。JProfiler和YourKit可以显示内存使用情况。虽然Spring Insight不可以显示内存使用情况但它可以很好的显示吞吐量的趋势。这三款性能分析工具功能很清楚不混乱而且容易使用。最后他们都有自己的 IDE插件。希望本文能帮助你做出正确的选择。