开发者社区 > 云原生 > 正文

在Arthas中,很简单的方法,为什么放到服务器上耗时要3s多?

请教下,这个方法本地造简单数据测试只有100到300毫秒之间,很简单的方法,为什么放到服务器上耗时要3s多请教下,这个方法本地造简单数据测试只有100到300毫秒之间,很简单的方法,为什么放到服务器上耗时要3s多52c4f4c55daab0f86e9f16be94726423.png
5dfc75970cb6f0c05e6d3ac172dbee03.png

展开
收起
崔问问 2023-12-03 23:27:52 74 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这种情况可能是因为服务器和本地的硬件配置不同,或者服务器上运行的其他进程占用了系统资源,导致该方法在服务器上执行时变慢。您可以尝试在服务器上使用性能分析工具来查看该方法的执行情况,找出具体的原因。另外,还可以考虑优化代码,减少方法执行时间,或者增加服务器的硬件配置来提高执行效率。

    2023-12-04 14:34:28
    赞同 展开评论 打赏
  • 在Arthas中,您所提到的方法在服务器上执行耗时增加可能有多种原因。首先,本地测试环境和生产环境的配置和网络环境可能存在差异。例如,服务器的网络可能是云内网,与本地测试环境的网络速度和稳定性有所不同。其次,服务器上的其他应用程序或进程可能会占用更多的系统资源,从而影响Arthas中方法的执行效率。此外,服务器的硬件性能、JVM参数设置、数据库连接等也可能是影响执行速度的因素。

    为了准确定位问题,您可以使用Arthas的trace命令来跟踪方法调用堆栈并输出其中耗时最长的前N个方法。例如:

    $ trace com.example.demo.service * * -c 5
    

    这将显示com.example.demo.service包下的所有方法中耗时最长的前5个方法。此外,您还可以使用watch命令来实时监控方法的返回值,以便更好地理解方法的执行过程。

    如果发现某个方法的执行时间过长,您可以进一步分析代码,检查是否有可以优化的地方,或者考虑是否需要调整服务器的配置来提高执行效率。

    2023-12-04 14:07:35
    赞同 展开评论 打赏
  • 服务器配置太差了,或是服务器上的数据字符串长度比较长。此回答整理自钉钉群:Arthas开源交流群

    2023-12-04 08:06:24
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Arthas应用诊断利器-新特征介绍 立即下载
使用Arthas 抽丝剥茧深入应用-线上诊断利器之外 立即下载
workshop专场--容器、消息&IoT专场-开发者动手实践营-容器、消息和IoT-Java诊断利器Arthas排查问题实践 立即下载