当前位置: 首页 > news >正文

wordpress企业网站主题合肥光束网站建设

wordpress企业网站主题,合肥光束网站建设,江西移动网站,湖南搜索引擎推广多少钱最近在做的一个项目#xff0c;需要将十几个python函数封装程flask服务供外界调用#xff0c;每个函数之间没有什么关系#xff0c;相互独立。虽然感觉不是很难#xff0c;但因为用的windows系统#xff0c;遇到的坑比较多#xff0c;在此一一总结一下。 flask偶尔出现卡…最近在做的一个项目需要将十几个python函数封装程flask服务供外界调用每个函数之间没有什么关系相互独立。虽然感觉不是很难但因为用的windows系统遇到的坑比较多在此一一总结一下。 flask偶尔出现卡死问题 见上一篇文章 不能高并发问题 因为十几个函数都要被调用而且调用量不小对响应时效性有较高要求需要能充分利用CPU并行计算采用了如下几个解决方法 1.flask gevent multiprocess wsgi 在网上搜到这个解决方案 但不知道是系统原因还是我的算法原因运行之后发现CPU占用量比较低而且同时收到服务请求后是串行计算并返回的。看来这种方法在我这种情况下并不适用。 2.设置多线程 还有一个解决方法是代码运行时设置多线程即输入命令 python 文件名.py runserver --threaded 但发现依然没有并行计算 3.设置多进程 这个解决方案是在代码的app.run()函数中设置processnn就是你想要的进程数。但设置之后报错说是不能同时设置多线程和多进程。然后又在app.run()中设置threadedFalse发现又报错可能是这个功能只支持linux系统而不支持windows 还看到nginx和gunicorn的方法但是不知道这个对windows是否支持而且好像有点麻烦就没有试 4.手动负载均衡 通过测试发现一个现象就是flask并非完全串行当同时接收到2个请求如果执行第一个请求会占用计算资源那么就是算完第一个再算第二个而如果第一个请求的计算是等待比如time.sleep或者挂起状态则会同时去处理第二个请求而不用等到第一个请求返回结果。 因此想到了一个解决方法就是每个函数都单独启一个flask服务对于耗时比较长的函数根据需求多启几个服务每个服务设置的端口号不同然后再启动一个对外的flask服务外界所有请求都发送到这一个flask端口然后这个端口内部再向对应的flask服务发送请求。 原始flask代码 from flask import Flask, render_template from gevent.pywsgi import WSGIServer from gevent import monkey import time import jsonmonkey.patch_all() app Flask(__name__)app.route(/) def connect():return connected testapp.route(/index) def index_test():time0 time.time()for i in range(10000):j list(range(1000))print(time.time() - time0)res {data:1}res json.dumps(res)return resif __name__ __main__:server WSGIServer((0.0.0.0, 5000), app)print(Server started)server.serve_forever()测试调用代码 import requests from threading import Thread import time def req():time0 time.time()res requests.get(http://127.0.0.1:5000/index)print(time.time() - time0)# print(res.text) for i in range(5):th Thread(targetreq)th.start()结果 fask端显示的结果为 0.5939996242523193 127.0.0.1 - - [2023-10-12 09:49:03] GET /index HTTP/1.1 200 127 0.600002 0.48799610137939453 127.0.0.1 - - [2023-10-12 09:49:04] GET /index HTTP/1.1 200 127 0.488996 0.5429947376251221 127.0.0.1 - - [2023-10-12 09:49:04] GET /index HTTP/1.1 200 127 0.544997 0.4839961528778076 127.0.0.1 - - [2023-10-12 09:49:05] GET /index HTTP/1.1 200 127 0.485996 0.4319908618927002 127.0.0.1 - - [2023-10-12 09:49:05] GET /index HTTP/1.1 200 127 0.434000请求发送端显示的结果是 1.0300004482269287 1.3990015983581543 1.8730018138885498 2.3450255393981934 2.831998586654663收到返回的时间却在逐渐增加说明没有并行计算 改进代码 入口flask代码 from flask import Flask, render_template from gevent.pywsgi import WSGIServer from gevent import monkey import requests import time import jsonmonkey.patch_all() app Flask(__name__) path_num {num:-1} app.route(/) def connect():return connected testapp.route(/index) def index_test():# time0 time.time()# for i in range(10000):# j list(range(1000))# print(time.time() - time0)# res {data:1}# res json.dumps(res)if path_num[num] 4:path_num[num] 0else:path_num[num] 1num path_num[num]url fhttp://127.0.0.1:{9030num}/indexres requests.post(urlurl)return res.textif __name__ __main__:server WSGIServer((0.0.0.0, 5000), app)server.serve_forever()# app.run() 算法flask代码 from flask import Flask, render_template from gevent.pywsgi import WSGIServer from gevent import monkey import time import jsonmonkey.patch_all() app Flask(__name__)app.route(/) def connect():return connected testapp.route(/index) def index_test():time0 time.time()for i in range(10000):j list(range(1000))print(time.time() - time0)res {data:1}res json.dumps(res)return resif __name__ __main__:server WSGIServer((0.0.0.0, 9030), app)print(Server started)server.serve_forever()# app.run()这里的算法flask代码启动了5个接口分别是9030~9034 用同样的方式测试返回的结果为 0.0500025749206543 0.05100274085998535 0.050002098083496094 0.05200028419494629 0.062003135681152344差不多同时返回 总结 虽然最后一种方式有点麻烦但可以解决现有问题其中算法flask服务启动的越多性能越好。
http://www.hkea.cn/news/14522923/

相关文章:

  • linux系统怎么做网站沈阳个人网站建设代理品牌
  • 先做网站还是app拜年图片制作
  • 电子商务网站建设的可行性分析包括赣州人才招聘网
  • 学习php网站建设商机创业网
  • 建站模板wordpress阿里云加WordPress建站
  • 简述网站建设和推广评价指标手机如何制作游戏软件
  • 全军采购信息招标网百度优化师
  • 网站做任务 炸金花静态网站制作流程
  • 合肥网站建设怎么做2014年沈阳建设银行网站
  • 怎么做企业网站推广ASP.NET实用网站开发 课后答案
  • 深圳 高端 建站公司网站主机托管
  • 个人网站建设规划表手机网站建设外包
  • 网站的外链是什么wordpress设置邮箱插件
  • 常州 做网站qq快速登录入口
  • 杭州p2p网站开发商网站开发软件和工具ide和编辑器
  • 牡丹区住房和城乡建设局网站重庆网站建设解决方案及流程
  • 开网站建设中国建筑100强企业名单
  • 做卖挖掘机的网站微信网页版登录手机版下载
  • 淘宝联盟怎样做新增网站推广织梦网站支付安装
  • 网页设计与网站开发素材2015微信网站开发
  • 河南国控建设集团网站做视频网站需要多少上传
  • 凤阳县建设局网站大众拆车件网上商城
  • 公司网站建设基本流程图菜鸟教程网站开发
  • 最专业的营销网站建设阳泉推广型网站建设
  • 360建站工具办公室设计理念简短范文
  • 广告策划案而的跟地seo排名点击软件
  • 网站制作怎么学去哪学做跨境电商的人才网站
  • 连云港网站制作老外做的中国方言网站
  • 鑫迪建站系统青海中小企业网站建设
  • 如何自己创办一个网站工商银行建设银行招商银行网站