一个python 服务器程序性能分析

该服务器为bono,启动11个进程。

在启动服务的总入口设置cprofile

if __name__=="__main__":
    import cProfile
    cProfile.run(‘main()‘,‘bono.profile‘)

使用命令行中的time运行

$time python xxx.py   ###

服务一直运行,等待几秒后,停止服务,在命令行中显示:     分析   等待时间为16.793(17.709-0.792-0.124)  ;内核运行时间为0.124 ;用户态运行时间 0.792

real    0m17.709s
user    0m0.792s
sys    0m0.124s

使用runsnake分析profile文件:按照local(本函数执行时间不包括子函数)排序

  其中time.sleep大概为16.95秒,跟time命令分析相近;为服务主动休眠时间。

  列名含义:调用次数,相对调用次数,本地执行时间,平均本地执行时间,总执行时间,平均每次执行执行,文件名,行名,目录名

  点击左侧的行,在右侧可以展现这个函数里面的内部的调用以及花费时间。面积即时间大小。

时间: 2024-08-09 10:42:41

一个python 服务器程序性能分析的相关文章

Python应用01 原始Python服务器

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人留言,表示只学Python没有用,必须学会一个框架(比如Django和web.py)才能找到工作.而我的想法是,掌握一个类似于框架的高级工具是有用的,但是基础的东西可以让你永远不被淘汰.不要被工具限制了自己的发展.今天,我在这里想要展示的,就是不使用框架,甚至不使用Python标准库中的高级包,只使用标准库中的socket接口(我不是很明白套接字这个

Python应用02 Python服务器进化

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! **注意,在Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver,请注意查阅官方文档. 在上一篇文章中(用socket写一个Python服务器),我使用socket接口,制作了一个处理HTTP请求的Python服务器.任何一台装有

python程序性能分析

目录 python程序性能分析 cProfile line_profiler memory_profiler 资源监控 python程序性能分析 cProfile https://docs.python.org/3/library/profile.html https://www.cnblogs.com/kaituorensheng/p/4453953.html python -m cProfile [-o output_file] [-s sort_order] (-m module | my

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录

用python自建一个DNS服务器

前段日子一直在做公司的DNS调度程序,不过由于性能比较差,方案最终废弃掉了.两个半月心血,不想白白浪费掉,于是改了改,把商业秘密相关的部分去掉,变成了一个公共的DNS服务器.其实说的简单点,就是一个可以做DNS解析和应答的程序(废话,DNS服务器不就是干这个的).功能比较简单,只做了A地址和CNAME的解析,安全性不涉及,性能也没有测试过,因为本身是个玩具,测性能没有意义(理论上如果用pypy的话,水平一般的机器也能跑到1万以上的QPS).本程序多处借鉴了 isnowfy 同学的程序(相关博客:

python:一秒中启动一个下载服务器

一.背景 在实际工作中,时不时会有这样的一个需求:将文件传给其他同事.将文件传给同事本身并不是一个很繁琐的工作,现在的聊天工具一般都支持文件传输.但是,如果需要传送的文件较多,那么,操作起来就会比较麻烦.此外,如果文件在远程的服务器上,你要将文件传给同事,则需要先将远程服务器的文件下载到本地,然后再通过聊天工具传给同事.再或者,你并不是特别清楚要传哪几个文件给同事,所以,你们需要进行来回的交流.交流的时间成本是比较高的,会降低办事效率.此时,你们需要更加高效的方法. 二.实现 这个时候,如果你知

用Python建一个OCR服务器,直接提取图中的文本

Why? OCR(又叫光学字符识别)已经成为Python的一个常用工具.随着开源库Tesseract和Ocrad的出现,越来越多的程序员用OCR来编写自己的库文件和bot病毒.一个OCR的小例子,如用OCR直接从截图中提取文本,省去了重新键入的麻烦. 开始的步骤 开始之前,我们需要开发一个后端服务层来表示OCR引擎的结果.这样你就可以用你喜欢的方式来向端用户表示你的结果.本文之后将会详细介绍.除此之外,我们还需要添加一点后端代码来生成HTML表格,以及一些使用这些API的前段代码.这部分本文没有

python网络编程之 创建一个socketserverTCP服务器

#encoding=utf-8#创建一个socketserverTCP服务器#高级模块,简化客户和服务器的实现from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)from time import ctime host = ''port = 21567addr = (host,port) #从 SocketServer 的 StreamRequestHandler 类中派生出一个子类class MyReque

程序性能分析及性能测试

这里所说的程序是指对外提供tcp/ip交互协议的服务性程序.网络程序性能分析很重要,比如随着网络请求流量越来越大,我们需要知道已部署的服务能不能满足需求.这里采用对网络服务程序进行建模的方法分析影响程序性能的各要素,并计算相关性能值,它不够精确,但对我们使用其它工具对网络程序进行性能测试提供很好的理论指导. 1.网络请求 图1 什么是网络请求?如图1是<UNIX 网络编程>一书中表示网络交互过程的一幅图,整个请求是指从客户端到服务端 write->read->write->r