用python的django或者web.py做服务器,性能上有瓶颈吗?

用python的django或者web.py做服务器,性能上有瓶颈吗?,第1张

不过,既然接受了Python的简单易用和快速开发优势,作为tradeoff,就要学会接受和处理Python的一些缺点。用django作数据服务器两年多,确实会有一些性能问题。

1异步django的>

2缓存和队列用ZeroMQ、Memcached来做缓存和队列就解决了。

3影响性能的函数如果真的有CPU密集型的函数影响性能,可以编译成C来解决性能问题,一些矩阵 *** 作也可以通过numpy来解决

 def handshake(conn):
     key =None
     data = connrecv(8192)
     if not len(data):
       return False
     for line in datasplit('\r\n\r\n')[0]split('\r\n')[1:]:
       k, v = linesplit(': ')
       if k =='Sec-WebSocket-Key':
         key =base64b64encode(hashlibsha1(v +'258EAFA5-E914-47DA-95CA-C5AB0DC85B11')digest())
         if not key:
           connclose()
           return False
     response ='>这个不难,我说下原理,具体你自己实现。浏览器向web服务器提交要执行的linux命令,服务端调用ossystem等系统交互的方法,去执行所提交的命令,然后获取执行后标准输出、标准错误,将这些标准输出、错误以response返回给浏览器。

使用多线程,下面的代码,简单实现一个多线程的web服务器:

#coding=utf-8
import socket
import threading
from time import sleep
def response(sock, addr):
    print "收到请求"
    data = sockrecv(1024)
    print data
    socksend(html)
    sockclose()
html = '''>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12716018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存