Python项目性能测试

winmeanyoung 2020-02-19

概述

压测过程中看的应用程序性能指标主要有tps和响应时间。Python2.5以后自带cProfile代码时间监控性能指标

详解

jvm不仅能够运行java程序还能以字节码形式运行php、Python、ruby程序。jvm中的解释器会把源语言的字节码翻译成另一种解释型的中间语言 如Grovey、Jython,所以中间语言的速度快慢是性能是否优良的关键。

名词解释

JVM:一种能够运行Java字节码(Java bytecode)的虚拟机。现在JVM并不单单只能运行Java程序,在JVM上出现了若干使用Java虚拟机运行的脚本程序,比如什么PHP, Python, Ruby等等(图5)

字节码:字节码是已经经过编译,但与特定机器码无关,需要解释器转译后才能成为机器码的中间代码。

Java字节码:是Java虚拟机执行的一种指令格式。

解释器:是一种电脑程序、是一门独立的语言,可以把高级语言一行一行转义运行。它会先将源码翻译成另一种语言(Grovey、Jython),以供多次运行而无需再经编译。其制成品无需依赖编译器而运行,程序运行速度比较快。参考看图三

grovey:无缝集成 所有已经存在的 Java对象和类库。直接编译成Java字节码

Jython:Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。

监控

cProfile:python -m cProfile -s tottime your_program.py  对应用程序的一个时间监控工具:监控程序的每一行代码

Python项目性能测试

  图(一)

ncalls:函数总共调用次数

tottime:这个函数总共调用花费时间

percall:每个调用平均花费时间

cumtime:总共累计花费时间

percall:每个调用的平均累积时间

filename:文件名

图解

Python有没有虚拟机?Python代码运行在哪里的?

Python项目性能测试

图2

Python项目性能测试

 图3

 Python项目性能测试

 图4

Python项目性能测试

 图5

参考链接:

https://blog.csdn.net/weixin_40304570/article/details/79459811

https://blog.csdn.net/weixin_34144848/article/details/90557228

https://baike.baidu.com/item/%E8%A7%A3%E9%87%8A%E5%99%A8/10418965?fr=aladdin

https://www.cnblogs.com/chengdabelief/p/6576320.html

https://www.php.cn/python-tutorials-423340.html

相关推荐