首页 > 其他分享 >如何提高项目的并发量

如何提高项目的并发量

时间:2023-08-29 17:34:21浏览次数:33  
标签:异步 请求 nginx 部署 项目 并发 服务器 如何

目录

如何提高项目的并发量

1 前端

1 用cdn(分布式的内容分发网,比如七牛云)。静态资源,放到cdn上。使用第三方存储(js,css,静态图片)。这样就不会向我的后端发送请求,项目的并发量就会增多一些。
2 用精灵图(一个大图,上面有很多小图,用定位,定位到小图),一次请求拿回来的图,以后好多位置可以用。
3 前端缓存(响应头设置缓存时间)cache-control

2 高性能web服务器部署项目:nginx

1 nginx的请求转发,nginx性能高,负载均衡
2 nginx做集群,dns解析做负载 --> 往上软件就解决不了的,可以用,负载均衡硬件 f5

3 动静分离(nginx对静态文件的转发性能比较高,静态资源直接通过nginx转发;uwsgi只负责处理动态请求)加入有10个请求,8个是静态,2个是动态,这样只有2个才会进入我们的项目中
4 集群化部署,一个项目部署在5台机器上
5 拆服务(分布式,微服务)

3 项目部署(使用性能高服务器部署项目:gevent+uwsgi)

-https://zhuanlan.zhihu.com/p/358163330
1 替代性能低的wsgiref部署项目-使用uwsgi(c写的wsgi服务器)部署
2 使用 gunicorn(python写的wsgi服务器)部署

4 代码层面

1 做缓存(redis)
2 页面静态化(不适用于app和小程序),提前生成一个首页页面(被访问频繁的页面),数据不一致(当有数据增加,再重新生成一次这个页面,双协议一致性问题),可以每隔10秒中,再次生成一个页面。用异步:用celery,django的信号(异步操作),当对象保存时,重新生成静态页面

3 异步操作(celery),一个请求需要耗时3s,设计成异步 --> 请求来了--> 直接返回(任务已提交,请求正在处理,别的线程处理)
    小米秒杀:您正在排队(前端设置了定时,每隔5s,发送一个请求,查是否秒杀成功)
    保存视频,发送邮件,保存文章
    后台管理,统计最近三,六个月的订单量-->折线图,饼状图展示
4  数据库优化,优化sql,外键尽量不建立,适当建索引,读写分离,数据库集群,分库分表
5 优化代码,尽量不在for循环里查数据库(for循环的大小不好估计)--->算法
6 换语言,python是解释性语言,运行时需要翻译。可以换成编译型语言

5 代码优化不了的,加机器

-但是,如果加机器的成本超过了优化代码的成本。就要使用优化代码的方式
-C10K问题:单台服务器如何支持10k个并发连接。
https://blog.csdn.net/chinawangfei/article/details/102780959

6 IO 同步id,异步id,io多路复用

标签:异步,请求,nginx,部署,项目,并发,服务器,如何
From: https://www.cnblogs.com/zjyao/p/17654359.html

相关文章

  • 高并发下的重复提交问题
    用户下订单购买,因为各种原因(网络卡,快递点击等)重复提交2个或者以上一模一样的订单,由于是同时提交的,第一个订单执行扣款生成订单未完成时候,第二个已经进来了,导致付一笔钱购买了2次或多次商品。 解决方案:1、缓存lock,缓存此用户的操作行为,注意紧紧缓存操作的标志,下次进入判断此标志是......
  • 视频汇聚/视频监控管理平台EasyCVR接入海康SDK协议后无法播放该如何解决?
    开源EasyDarwin视频监控/安防监控/视频汇聚EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放......
  • 如何利用 Agent 构建AI服务
    近年来,人工智能(AI)技术的飞速发展引起了广泛的关注和讨论。而如今,我们正站在一个全新的时代门槛前,面对着AIAgent带来的的崭新未来。以LLM(大型语言模型)作为其核心控制器构建代理是一个很酷的概念。它模拟人类的工作流程,能够自主进行信息搜索、分析、利用,以完成目标。OpenAI联合创始......
  • Docker:第二章:部署项目,对镜像,容器的操作
    服务器上的项目访问不了,所以我去看了看容器,果然那我就删除容器呗:docker rm容器iddockerrmf097e24a9a0f说明:从镜像到容器,同一个镜像构建多个运行的Docker实体——容器,镜像提供了容器运行时所需的程序、库、资源、配置等文件,还包含了一些为运行时准备的一些配置参数。镜......
  • 大型项目的发布部署:第一章:发布部署流程
    大型动态应用系统又可分为几个子系统:1)Web前端系统2)负载均衡系统3)数据库集群系统4)缓存系统5)分布式存储系统6)分布式服务器管理系统7)代码分发系统Web前端系统结构图: 为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服务器,而是将所有......
  • 智慧园区方案:AI与视频融合技术如何助力园区监管智能化升级?
    一、行业背景随着科技的不断发展,人工智能(AI)技术正在各个领域迅速应用和推广。其中,智慧园区是一个重要的应用场景,它通过AI技术的支持,实现了园区的智能化管理和高效运营。1、园区管理智慧化升级需求1)通过AI技术的加载实现园区安全管理、便捷通行、安消一体等业务的智慧化升级,实现园区......
  • 该如何利用国标视频平台EasyGBS进行气象灾害预警
    我国地势辽阔,人口众多,自然环境复杂,气象灾害频发,是全球气象灾害最严重的国家之一。气象灾害约占自然灾害的70%,种类繁多、分布广泛,发生频率高、损失巨大。面对这一现实,建设突发气象灾害预警视频监控系统,完善气象灾害应急响应机制,并提高防范和处置能力已成为行业亟待解决的需求。随着......
  • Lnton羚通视频分析算法平台在OpenCV 中如何进行实时物体识别
    要实现OpenCV的实时物体识别,你可以使用以下步骤:步骤1:导入必要的库首先,导入必要的库,包括OpenCV和相关的库:importcv2 步骤2:加载预训练模型和配置文件在进行物体识别之前,需要加载预训练的模型和相关的配置文件。你可以从OpenCV的GitHub页面(https://github.com/openc......
  • Android并发编程高级面试题汇总(含详细解析 十二)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • 为何国标视频平台EasyGBS无法访问,如何解决
    我们提供的视频平台拥有丰富而全面的视频能力,灵活部署,可以满足用户在不同场景下的视频监控需求。每个平台都具有独特的特点,支持多种设备和协议接入,包括国标GB28181协议、RTMP/RTSP/Onvif协议、海康EHOME、海康SDK、大华SDK等。在视频流分发方面,我们支持全终端、全平台的视频流输出,......