首页 > 其他分享 >pyhton解决高并发问题

pyhton解决高并发问题

时间:2023-08-23 20:33:17浏览次数:40  
标签:异步 请求 nginx 静态 pyhton 并发 解决 服务器

pyhton解决高并发问题

# 前端:	
	1.cdn加速,就是内容分发网络,简单来说就是把静态资源放到别的服务器上
	2.精灵图:就是一个大的图片上面有多个我们需要的小图,用定位的方法,定位到不同的小图,满足我们的需求。这样一个请求拿到的图就可以用在多个位置。
    3.前端缓存:在返回的响应头里面设置cache-control这样在一定时间内不会真的发起请求而是从缓存里面拿。
# 后端:
#1 用高性能web服务器部署我们的项目:nginx
	用nginx进行请求转发,nginx性能高,把请求转发给不同的后端 一个nginx的性能是几千,用在我们普通的项目里是足够的。
    如果有更高的要求,可以使用NGINX做集群(但是每个nginx都监听一个地址,前端此时如何判断地址?--》使用dns域名解析做负载均衡----》使用硬件做负载均衡(可以承受百万级的并发)
#2 动静分离:
	用nginx处理静态资源的转发,用uwsgi处理动态资源的转发---nginx处理静态资源的效率非常高
#3. 集群化的部署(要借用nginx
#4、 拆服务(分布式、微服务):
##############
# 项目部署层面:
#1.使用高性能的web服务器部署:gevent+uwsgi

##########
# 代码层面:
	1.加缓存:使用redis服务器
    2.页面静态化:(不适用与app和小程序)
    对于访问量最高的首页,我们可以直接写成静态化的页面,对于首页上会改变的数据,可以每十秒钟生成一次新的页面---》用celery异步和django信号异步
    3.celery异步操作,对于一个需要耗时3s的请求,设计成异步--请求来了===直接返回已发送请求:适用于商品秒杀,短信和邮件发送视频保存、后台管理中统计三个月的订单量,并生成折线图、饼状图。。。
    4.优化数据库:sql优化、尽量使用逻辑外键代替物理外键、适当建立索引、读写分离、数据库集群、分库分表
    5.代码优化:开多线程处理,不再for循环中操作数据库——》涉及到算法
    6.换语言:使用编译型语言,更换更接近底层的语言
#加机器

C10k问题:

标签:异步,请求,nginx,静态,pyhton,并发,解决,服务器
From: https://www.cnblogs.com/yedayangboke/p/17652729.html

相关文章

  • 14 Linux 并发与竞争
    一、并发与竞争  并发:多个执行单元同时、并行执行。  竞争:并发的执行单元同时访问共享资源(硬件资源和软件上的全局变量等)易导致竞态。 二、原子操作1.原子操作简介  原子操作:不能再进一步分割的操作,一般用于变量或位操作。  例如在C语言中对无符号整型变量......
  • c# .NET 高级编程 高并发必备技巧(二) - 分布式锁
    上一篇文章简单的介绍了单机的情况下如何进行加锁,防止高并发带来的问题。然而现实中,一般会高并发的应用,很少会单机部署。当用户量达到一定的程度,分布式、集群部署是必然的选择。在分布式部署的情况下,之前的单机锁还会有效吗?代码还是之前的代码:privatestaticobjectlck=......
  • H5支付 商家参数格式有误 请联系商家解决
    我们公司是做教育培训的,APP的支付使用了H5支付,2023-07月份开始有大量用户反馈:OPPP、一加手机会出现【商家参数格式有误】我这边通过抓包工具 Fiddler发现来源参数没有丢失,抓包下本来异常手机居然也可以正常支付。刷新当前错误页面也可以正常调起支付,无痕模式下也可以正常支付......
  • 解决vue项目中虚拟键盘弹起将页面中底部按钮上移问题
    在vue中使用定位将表单中的取消,确认按钮固定在底部时,安卓手机在编辑表单内容时会将底部按钮整体往上移动,按钮出现在虚拟键盘上面,此时可以通过监听虚拟键盘的弹起与收起来控制键盘的显示与隐藏,以解决按钮显示在虚拟键盘之上的问题,没有时间赘述,附上转载链接:https://blog.csdn.net......
  • SVN之“解决SVN清理失败问题”
    解决SVN清理失败,显示乱码问题更新SVN时,提示要清理,但是清理失败,此时什么也操作不了,以下就是解决方案。情况如图:   解决方案一:下载splite3  新建一个临时文件夹,使用英文名字,将解压后的sqlite.exe文件复制到这个临时文件夹下找到你存放文件的SVN文件库中.svn文件夹......
  • 深入探索Java中的并发编程:CAS机制的原理与应用
    在当今多核处理器的时代,有效地利用多线程并发成为了现代后端开发的关键。在Java中,CAS(CompareandSwap)机制作为一种乐观锁技术,被广泛用于实现高性能的并发操作。本文将深入分析CAS机制的原理,介绍其在Java中的应用,以及在多线程环境下如何优化并发性能。CAS机制的原理CAS是一种用于实......
  • h5页面开发常见问题解决方案,助你快速排除问题
    h5页面作为目前广告、宣传以及用户交互的重要工具之一。但是在开发的过程中往往会遇到一些问题,比如兼容性、性能、布局等方面的常见问题。下面,广州名锐讯动将介绍一些h5页面开发常见问题并提供解决方案,帮助您快速排除问题。1.兼容性问题当我们在不同设备和浏览器操作时,h5页面可能......
  • uniapp 常见bug 解决方法
    Uniapp是一款基于Vue.js开发的跨平台框架,可以同时开发多个平台的应用程序,包括微信小程序、支付宝小程序、H5、APP等。然而,在开发过程中,我们可能会遇到一些常见的错误,这些错误可能会影响我们的开发进度和应用程序的质量。本篇博客将介绍一些在Uniapp开发过程中常见的错误,并提......
  • 解决“没有为此解决方案配置选中要生成的项目”
    最近升级.netframework4.0的项目到.net8;使用的官方提供的.NET UpgradeAssistant项目里面总有两个怎么编译就是不动作,输出里面只有下面的内容:3>FastUpToDate:最新检查已在0.4毫秒内完成(项目3的名字)4>------已跳过“生成”:项目: 项目4的名字------4>没有为此解......
  • “小巨人”企业数字化解决方案:LeaRun低代码开发平台
    中小企业是社会经济发展的生力军,目前,中小企业数字化转型是我国企业数字化转型的主战场,在我国实体经济高质量发展中发挥着不可替代的作用。“专精特新”是指具备专业化、精细化、特色化、新颖化四大优势的企业。“小巨人”企业则是“专精特新”中小企业中,专注于细分市场、创新能力......