高并发解决方案总结

上传人:cl****1 文档编号:564981648 上传时间:2023-12-13 格式:DOCX 页数:3 大小:10.30KB
返回 下载 相关 举报
高并发解决方案总结_第1页
第1页 / 共3页
高并发解决方案总结_第2页
第2页 / 共3页
高并发解决方案总结_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《高并发解决方案总结》由会员分享,可在线阅读,更多相关《高并发解决方案总结(3页珍藏版)》请在金锄头文库上搜索。

1、高并发解决方案总结1. 使用缓存在绝大多数情况下,服务器的压力都会集中在数据库,减少数 据库的访问次数,就可以减轻服务器的压力。所以,在高并发场景 下,缓存的作用是至关重要的。redis缓存数据库,它可以很好的在一定程度上解决一瞬间的并 发量,redis之所以能解决高并发的原因是它可以直接访问内存,提 高了访问效率,解决了数据库服务器压力。使用缓存框架的时候,我们需要关心的就是什么时候创建缓存 和缓存失效策略。缓存的创建可以通过很多的方式进行创建,具体也需要根据自 己的业务进行选择。例如,供应商平台的应用信息,应用上线后就 进行缓存。需要注意的是,当我们修改或删除应用信息的时候,我 们要考虑到

2、同步更新该条缓存。2. 数据库优化数据库优化是性能优化的最基础的一个环节,虽然提供了缓存 技术,但是对数据库的优化还是一个需要认真的对待。数据库优化 的方式很多,这里说下分表与分区。分表分表的适用场景1. 一张表的查询速度已经慢到影响使用的时候。2. 当频繁插入或者联合查询时,速度变慢。分表后数据都是存放在分表里,总表只是一个外壳,存 取数据发生在一个一个的分表里面。分表的重点是存取数据时, 如何提高数据库的并发能力。分表后,单表的并发能力提高了, 磁盘I/O性能也提高了。以安审日志服务的历史记录表为例:表按年月拆分,格式为:表名+年+月,例如:TEST_202001、TEST_202002、

3、TEST_202003然后可以 根据日期来查询。分区分区的适用场景1. 一张表的查询速度已经慢到影响使用的时候。2. 表中的数据是分段的。3. 对数据的操作往往只涉及一部分数据,而不是 所有的数据。分区是把一张表的数据分成N多个区块,这些区块可以 在同一个磁盘上,也可以在不同的磁盘上。分区把存放数据的 文件分成了许多小块,分区后的表还是一张表,数据处理还是 由自己来完成。3. 分离数据库中活跃的数据数据库的数据虽然很多,但是经常被访问的数据还是有限的, 因此可以将这些相对活跃的数据进行分离出来单独进行保存来提高 处理效率。其实前边使用redis缓存的思想就是一个很明显的分离数 据库中活跃的数据

4、示例,将应用经常使用的数据缓存在内存中。还有一种场景就是,例如一个网站的所用注册用户量很大千万 级别,但是经常登录的用户只有百万级别,剩下的基本都是很长时 间都没有进行登录操作,如果不把这些“僵尸用户”单独分离出去, 那么我们每次查询其他登录用户的时候,就白白浪费了这些僵尸用 户的查询操作。4. 批量读取和延迟修改批量读取和延迟修改的原理是通过减少操作数据库的操作来提 高效率。批量读取:将多次查询合并到一次中进行读取,因为每一个数 据库的请求操作都需要链接的建立和链接的释放,还是占用一部分 资源的,批量读取可以通过异步的方式进行读取。延迟修改:对于一些高并发的并且修改频繁修改的数据,在每 次修改的时候首先将数据保存到缓存中,然后定时将缓存中的数据 保存到数据库中,程序可以在读取数据时可以同时读取数据库中和 缓存中的数据。5. 反向代理当一台服务器的单位时间内的访问量越大时,服务器压力就越 大,反向代理服务器可以做负载均衡,我们可以通过负载均衡的方 式来分担服务器压力。比如nginx支持配置反向代理,通过反向代理实现负载均衡。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号