高并发下怎么优化能避免服务器压力过大?

简介: 用户多,不代表你服务器访问量大,访问量大不一定你服务器压力大!我们换成专业点的问题,高并发下怎么优化能避免服务器压力过大?1,整个架构:可采用分布式架构,利用微服务架构拆分服务部署在不同的服务节点,避免单节点宕机引...
+关注继续查看

用户多,不代表你服务器访问量大,访问量大不一定你服务器压力大!我们换成专业点的问题,高并发下怎么优化能避免服务器压力过大?

1,整个架构:可采用分布式架构,利用微服务架构拆分服务部署在不同的服务节点,避免单节点宕机引起的服务不可用!

2,数据库:采用主从复制,读写分离,甚至是分库分表,表数据根据查询方式的不同采用不同的索引比如b tree,hash,关键字段加索引,sql避免复合函数,避免组合排序等,避免使用非索引字段作为条件分组,排序等!减少交互次数,一定不要用select *!

3,加缓存:使用诸如memcache,redis,ehcache等缓存数据库定义表,结果表等等,数据库的中间数据放缓存,避免多次访问修改表数据!登录信息session等放缓存实现共享!诸如商品分类,省市区,年龄分类等不常改变的数据,放缓存,不要放数据库!

同时要避免缓存雪崩和穿透等问题的出现导致缓存崩溃!

4,增量统计:不要实时统计大量的数据,应该采用晚间定时任务统计,增量统计等方式提前进行统计,避免实时统计的内存,CPU压力!

5,加图片服务器:图片等大文件,一定要单独经过文件服务器,避免IO速度对动态数据的影响!保证系统不会因为文件而崩溃!

6,HTML文件,枚举,静态的方法返回值等静态化处理,放入缓存!

7,负载均衡:使用nginx等对访问量过大的服务采用负载均衡,实现服务集群,提高服务的最大并发数,防止压力过大导致单个服务的崩溃!

8,加入搜索引擎:对于sql中常出现的like,in等语句,使用lucence或者solr中间件,将必要的,依赖模糊搜索的字段和数据使用搜索引擎进行存储,提升搜索速度!#注意:全量数据和增量数据进行定时任务更新!

9,使用消息中间件:对服务之间的数据传输,使用诸如rabbit mq,kafka等等分布式消息队列异步传输,防止同步传输数据的阻塞和数据丢失!

10,抛弃tomcat:做web开发,接触最早的应用服务器就是tomcat了,但是tomcat的单个最大并发量只能不到1w!采取netty等actor模型的高性能应用服务器!

11,多线程:现在的服务器都是多核心处理模式,如果代码采用单线程,同步方式处理,极大的浪费了CPU使用效率和执行时间!

12,避免阻塞:避免bio,blockingqueue等常常引起长久阻塞的技术,而改为nio等异步处理机制!

13,CDN加速:如果访问量实在过大,可根据请求来源采用CDN分流技术,避免大流量完成系统崩溃!

14,避免低效代码:不要频繁创建对象,引用,少用同步锁,不要创建大量线程,不要多层for循环!

当然还有更多的细节优化技术!

欢迎工作一到五年的Java工程师朋友们加入Java架构开发:468947140

本群提供免费的学习指导 架构资料 以及免费的解答

不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导

 

相关文章
|
2月前
|
数据采集 网络安全 UED
百度搜索:蓝易云【SEO优化对香港服务器的配置有什么要求?】
需要注意的是,除了服务器配置,还有许多其他SEO方面的因素需要考虑,例如网站结构、关键词优化、内容质量等。服务器配置只是SEO优化的一个方面,它需要与其他SEO策略和最佳实践结合使用,以最大程度地提高网站的排名和可见性。
51 0
|
缓存 安全 前端开发
LNMP架构下WEB服务器如何管理及优化内存?
Ngnix+PHP-FPM的工作方式,似乎是LNMP架构最节省系统资源的工作方式。当然,具体的技术选型更多的应该参考自己想要实现的业务需求。
113 0
|
关系型数据库 MySQL 数据库
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器
mysq优化---mysql执行计划解释、优化查询、数据库结构、服务器
|
监控 网络协议 安全
线上服务器老是卡,该如何优化?
​   我相信很多程序员都会有这种“线上服务器老是卡”等烦恼,那我今天给大家讲讲该如何优化线上服务器老是卡的问题。 听多了架构优化,数据库优化,今天我们来聊聊服务器优化。 我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,今天从3个部分对服务器性能调优进行介绍,分别是:服务器配置选择,服务器负载分析,服务器内核参数调优。 服务器配置选择 服务器一般是由CPU、内存、磁盘和网卡组成,因此选择服务器配置就是选择CPU核数、内存大小、磁盘大小及类型、网络带宽。但是,服务器配置的选择是很难
134 0
线上服务器老是卡,该如何优化?
|
网络协议 Unix 应用服务中间件
Nginx服务器高性能优化的配置--轻松实现10万并发访问量
今天要说的是Nginx服务器高性能优化的配置,如何使Nginx轻松实现10万并发访问量。 通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求处理性能,如果Nginx服务器经过优化的话,则可以稳定地达到 904,000 次/秒 的处理性能,大大提高Nginx的并发访问量。
605 1
Nginx服务器高性能优化的配置--轻松实现10万并发访问量
|
负载均衡 监控 Unix
RH358优化Web服务器流量--自动化执行 Web 服务优化
RH358优化Web服务器流量--自动化执行 Web 服务优化
283 0
RH358优化Web服务器流量--自动化执行 Web 服务优化
|
存储 缓存 负载均衡
RH358优化Web服务器流量--使用HAProxy终止HTTPS流量和并进行负载均衡
RH358优化Web服务器流量--使用HAProxy终止HTTPS流量和并进行负载均衡
368 0
RH358优化Web服务器流量--使用HAProxy终止HTTPS流量和并进行负载均衡
|
存储 缓存 监控
RH358优化Web服务器流量--使用Varnish缓存静态网页
RH358优化Web服务器流量--使用Varnish缓存静态网页
200 0
RH358优化Web服务器流量--使用Varnish缓存静态网页
|
网络协议 算法 Java
高并发场景下如何优化服务器的性能?
最近,有小伙伴在群里提问:Linux系统怎么设置tcp_nodelay参数?也有小伙伴说问我。那今天,我们就来根据这个问题来聊聊在高并发场景下如何优化服务器的性能这个话题。
258 0
高并发场景下如何优化服务器的性能?
|
网络协议 Unix 应用服务中间件
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
如何使Nginx轻松实现10万并发访问量。通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求处理性能,如果Nginx服务器经过优化的话,则可以稳定地达到 904,000 次/秒 的处理性能,大大提高Nginx的并发访问量。
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
推荐文章
更多