django高并发

 

配置文件和项目文件在同一级,不能将配置文件放进项目中

#uwsgi使用配置文件启动

[uwsgi]

#项目目录

chdir=/home/zhouweiwei/myproject/realTime/ECG_App

#指定项目的application

module=ECG_App.wsgi:application

#指定sock的文件路径

socket=/home/zhouweiwei/myproject/realTime/script/uwsgi.sock

#进程个数

workers=5

pidfile=/home/zhouweiwei/myproject/realTime/script/uwsgi.pid

#指定IP端口

http=0.0.0.0:8080

#指定静态文件

stati-map=/static=/home/zhouweiwei/myproject/realTime/ECG_App/static

#启动uwsgi的用户和用户组

;uid=root

;git=root

#启用主进程

master=true

#自动移除unix socket和pid文件当服务停止的时候

vacuum=true

#序列化接收的内容,

thunder-lock=true

#设置自中断时间

harakiri= 60

#设置缓冲

post-buffering=32768

#设置日志目录

daemonize=/home/zhouweiwei/myproject/realTime/script/uwsgi.log

 

 

2,启动需要的命令:

../../venv/bin/uwsgi --ini uwsgi.ini 使用的是venv中的uwsgi命令

3,查看日志的内容:使用less uwsgi.log

4,监控日志

tail -f *.log

 

5,出现的问题:

每个进程在开始的时候依次加载文件,使得开启的所有的近程都处于开启状态,这样在访问的时候,uwsgi就可以将访问分配到每个进程中,

但是:

如果显存不够分配,在运行的时候就会有进程被kill掉,这样就造成进程又要重新分配。

注意的参数:显卡的占用情况,进程的id,

 

 

6,使用requests进行压力测试,要使用Process写一个多线程的循环,这样就可以实现多线程访问了

for i in range(100):

request_data = real_time_data_list[0]

real_time_data = request_data.decode('utf-8')

files = {'data_id': '1', 'real_data': real_time_data}

start_time = time.time()

task_process = Process(target=requests_send,args=(url,files)) #这里是关键

task_process.start()

time_sum[0] = time_sum[-1]+time.time()-start_time

profile_tool.endStat('计时')

 

 

7,多个进程不能对同一个文件进行读写,每一个进程是不同的实例,各个实例之间不能相互干扰。

 

8,多线程:

threads = []

def mul_threads(url):

data_list = os.listdir(path2)

for i in range(100):

request_data = readFile2(path2+ data_list[i])

real_time_data = request_data.decode('utf-8')

files = {'data_id': data_list[i], 'real_data': real_time_data}

t1 = threading.Thread(target=requests_send,args=(url,files,i)) #这个是关键

threads.append(t1)

 

#多线程

mul_threads(url)

print('len(threads)===========', len(threads))

start_time = time.time()

for t in threads:

t.setDaemon(True)

t.start()

t.join()

print('总共的时间==============',time.time()-start_time)

print('所有线程结束')

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野狼位位

给点辛苦费0.1元

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值