项目过去都3个多月了,也没系统的总结,今天总结一下
系统背景:
1.访问量大:每天承受20亿+服务调用
2.海量数据:核心表都是5亿条数据,而且每天还在以几十万的速度增加
3.之前架构:由于读写比例很高,已经采用分布式cache--db单点的架构
4.db负载高:在小机上,业务高峰期时,db的cpu的占用率曾达到70%-80%,响应明显变慢
5.业务特性:读写比例高,大部分业务可以接受细微的延迟。
目标:
1.高可用:去DB单点,app、cache、db任何一个节点宕机,不影响可用率
2.性能优化
新的架构:n个app--n个cache--1个写库--n个读库,除了去单点的功效,还在架构层面解决60%性能问题。
细节的优化措施:
1.将业务数据分级,核心数据还在db上,不重要&&写频率高的数据存入其他相对不重要的存储(比如登录、密码校验等一下优化了4000w次写)
2.cache,还是cache:对于互联网类型的业务,一般都是单个查询,较为方便构造缓存的key,最多2级key。绝大部分的数据,都放到了cache上。
3.空查比例较高的高并发的查询:采用布隆算法,或者cache中加入空对象表示业务上的空,防止数据穿透到db。
4.将若干关系紧密的表合并:对于我们的应用,虽然几张表表示不同的业务,但关系紧密,可以说95%的情况下,是查了一张表,必须查另外一张表的情况,而且查询频率非常之高。这样做的好处,从db层面,查询2张表减少为查询1张表,减少了io等不必要的操作。
5.构建批量查询:减少对db的多次请求和网络传输。
6.增加标志位,用于控制是否查询附属表:我们的模型比较复杂,存在3张附属表,这3张附属表,只有1%的用户具有这样的特性,每次构造模型时,用此标志位检查是否有此业务,减少查询
7.评估cache的失效时间:适当增加cache的失效时间,提升命中率
8.提供定制化查询服务:对于外围一些访问量比较高的系统,针对具体业务,提供批量查询。比如外围有些业务系统,一次业务要查询会员信息10次, 可以针对具体特性,开发单个接口,满足其业务需求,减少了服务调用。拿数据说话吧,现在每天查询从20亿-25亿次查询,优化到10亿次。
分享到:
相关推荐
### Java性能优化实战知识点概述 ...通过以上对Java性能优化实战视频全集的内容总结,我们可以看到该系列涵盖了从理论基础到实践案例的全面内容,对于希望深入了解Java性能优化的开发者来说是非常有价值的资源。
《微信读书iOS性能优化总结》 微信读书作为一款专注于阅读体验的应用,对于性能优化的重要性不言而喻。本文主要从发现问题、解决问题和预防问题三个方面,总结了微信读书在iOS平台上的性能优化策略。 首先,发现...
《图书管理系统项目开发总结报告》是对一个典型的软件工程项目——图书管理系统的全面回顾和总结。这份报告详尽地记录了项目的各个阶段,从项目启动到最终完成的整个过程,旨在为今后类似的项目提供经验和参考。 1....
对于CPU版本的GCNv2-SLAM,可能需要关注性能优化。可以通过调整线程数、内存管理策略等方法提升运行效率。同时,根据实际场景和硬件条件,选择合适的参数配置,如GCN网络的层数、节点采样数量等。 ### 9. 问题排查 ...
在软件层面,系统调优主要包括操作系统的参数调整和应用程序的性能优化。对于操作系统,这可能涉及到内核参数的调整,如调度策略、内存管理策略、文件系统缓存等,以适应特定的工作负载。例如,对于服务器系统,可能...
- **性能指标**:系统性能稳定,能够满足高并发访问需求,同时具备良好的响应速度和数据处理能力。 #### 五、项目管理和开发流程 - **项目管理**:项目采取了较为规范的管理方式,制定了详细的进度计划,并在实际...
- 应用系统性能优化功能,涉及多个方面如硬盘缓存优化、网络系统优化等。 #### 详细知识点解析 ##### 操作系统维护工具的使用 - **查看本机器的相关信息**: - OS 名称:windows xp sp3 - 系统名称:...
6. **性能优化**:分享对系统性能的优化措施,如数据库索引优化、缓存策略等。 7. **团队协作与经验总结**:回顾团队合作的经验,讨论沟通、版本控制和项目管理工具的使用。 通过这些报告,读者不仅可以了解项目的...
通过度量关键性能指标,如响应时间、并发用户处理能力等,对系统性能进行了持续监控和分析,以优化系统性能。 9. **结论** OLMS项目成功应用了MVC设计模式,实现了高效稳定的在线图书管理系统。项目开发过程中...
- **项目总结**:基于性能测试报告,进行项目总结,记录成功经验和改进点。 ### 性能测试的关键指标 性能测试指标是衡量系统性能的关键要素,阿里云性能测试体系中包含多项关键指标: - **系统交易处理能力(TPS...
- **展望**:未来将进一步优化系统的功能和性能,增加更多的智能分析功能,更好地服务于企业的决策需求。 通过以上对客户管理系统的详细介绍,我们可以看到该项目不仅具有实际的应用价值,而且也是一个很好的学习...
5. 测试优化:在测试阶段发现性能瓶颈,通过调整系统配置、数据库优化等手段提高系统性能。 6. 上线部署:采用Docker容器化部署,确保环境一致性,简化运维工作。 四、项目成果与未来规划 1. 成果:成功上线并稳定...
作为DBA,学员需要了解数据库的备份恢复、性能优化、安全性管理等。在本项目中,可能会涉及到索引的创建和管理,事务处理以保证数据一致性,以及如何使用查询分析器进行性能调优。通过实际操作,学员可以理解DBA在...
MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化是确保应用高效运行的关键之一。对于依赖MySQL的企业或项目来说,进行合理的性能调优不仅能够显著提升系统处理能力,还能有效降低硬件成本。 #### 二...
**项目总结报告的目的** 项目总结报告是项目执行完毕后,对整个项目进行全面回顾和分析的重要文档,其目的是确保项目的经验和教训得以记录和传承,以便为未来的项目提供宝贵的参考。通过对项目的目标达成、成果产出...
根据测试结果,提出系统性能优化建议,可能包括代码优化、硬件升级、资源调度策略调整等,以提升ECert系统在金蝶环境下的性能表现和稳定性。 6. **未来工作** 描述了后续性能监控和优化计划,以及如何将测试经验...
目录: 5月11日 出发今日点评优化小技巧 性能 优化项目优化小技巧 优化常用知识1:诊断事件5月12日 开始工作和CPU瓶颈今日点评优化小技巧 数据库 优化的步骤优化小技巧 按部就班是成功的关键优化小技巧 优化常用知识2...