`
soleghost
  • 浏览: 41997 次
  • 性别: Icon_minigender_1
  • 来自: 未知
社区版块
存档分类
最新评论

系统的性能优化--记项目总结

 
阅读更多

项目过去都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性能优化实战视频全集的内容总结,我们可以看到该系列涵盖了从理论基础到实践案例的全面内容,对于希望深入了解Java性能优化的开发者来说是非常有价值的资源。

    微信读书 iOS 性能优化总结 | WeRead团队博客1

    《微信读书iOS性能优化总结》 微信读书作为一款专注于阅读体验的应用,对于性能优化的重要性不言而喻。本文主要从发现问题、解决问题和预防问题三个方面,总结了微信读书在iOS平台上的性能优化策略。 首先,发现...

    软件工程--图书管理系统项目开发总结报告.pdf

    《图书管理系统项目开发总结报告》是对一个典型的软件工程项目——图书管理系统的全面回顾和总结。这份报告详尽地记录了项目的各个阶段,从项目启动到最终完成的整个过程,旨在为今后类似的项目提供经验和参考。 1....

    GCNv2-SLAM-for-cpu-配置流程记录.zip

    对于CPU版本的GCNv2-SLAM,可能需要关注性能优化。可以通过调整线程数、内存管理策略等方法提升运行效率。同时,根据实际场景和硬件条件,选择合适的参数配置,如GCN网络的层数、节点采样数量等。 ### 9. 问题排查 ...

    系统调优-系统优化

    在软件层面,系统调优主要包括操作系统的参数调整和应用程序的性能优化。对于操作系统,这可能涉及到内核参数的调整,如调度策略、内存管理策略、文件系统缓存等,以适应特定的工作负载。例如,对于服务器系统,可能...

    软件工程--图书管理系统项目开发总结报告.docx

    - **性能指标**:系统性能稳定,能够满足高并发访问需求,同时具备良好的响应速度和数据处理能力。 #### 五、项目管理和开发流程 - **项目管理**:项目采取了较为规范的管理方式,制定了详细的进度计划,并在实际...

    实训11微机软件系统的维护实训报告.doc

    - 应用系统性能优化功能,涉及多个方面如硬盘缓存优化、网络系统优化等。 #### 详细知识点解析 ##### 操作系统维护工具的使用 - **查看本机器的相关信息**: - OS 名称:windows xp sp3 - 系统名称:...

    航空后勤资产管理系统后端实训源码+项目总结报告

    6. **性能优化**:分享对系统性能的优化措施,如数据库索引优化、缓存策略等。 7. **团队协作与经验总结**:回顾团队合作的经验,讨论沟通、版本控制和项目管理工具的使用。 通过这些报告,读者不仅可以了解项目的...

    OLMS-PDSR-1.0项目开发总结报告1

    通过度量关键性能指标,如响应时间、并发用户处理能力等,对系统性能进行了持续监控和分析,以优化系统性能。 9. **结论** OLMS项目成功应用了MVC设计模式,实现了高效稳定的在线图书管理系统。项目开发过程中...

    【阿里云-性能测试体系】

    - **项目总结**:基于性能测试报告,进行项目总结,记录成功经验和改进点。 ### 性能测试的关键指标 性能测试指标是衡量系统性能的关键要素,阿里云性能测试体系中包含多项关键指标: - **系统交易处理能力(TPS...

    客户管理系统-论文-客户管理系统论文-java-文档-客户管理系统文档

    - **展望**:未来将进一步优化系统的功能和性能,增加更多的智能分析功能,更好地服务于企业的决策需求。 通过以上对客户管理系统的详细介绍,我们可以看到该项目不仅具有实际的应用价值,而且也是一个很好的学习...

    酒店管理系统--项目开发总结报告.doc

    5. 测试优化:在测试阶段发现性能瓶颈,通过调整系统配置、数据库优化等手段提高系统性能。 6. 上线部署:采用Docker容器化部署,确保环境一致性,简化运维工作。 四、项目成果与未来规划 1. 成果:成功上线并稳定...

    accp-6_0-S1-结业项目-KTV点歌系统-后台

    作为DBA,学员需要了解数据库的备份恢复、性能优化、安全性管理等。在本项目中,可能会涉及到索引的创建和管理,事务处理以保证数据一致性,以及如何使用查询分析器进行性能调优。通过实际操作,学员可以理解DBA在...

    Mysql性能优化 MYSQL

    MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化是确保应用高效运行的关键之一。对于依赖MySQL的企业或项目来说,进行合理的性能调优不仅能够显著提升系统处理能力,还能有效降低硬件成本。 #### 二...

    依照CMMIII编制的项目总结模板

    **项目总结报告的目的** 项目总结报告是项目执行完毕后,对整个项目进行全面回顾和分析的重要文档,其目的是确保项目的经验和教训得以记录和传承,以便为未来的项目提供宝贵的参考。通过对项目的目标达成、成果产出...

    性能总结报告(实例)

    根据测试结果,提出系统性能优化建议,可能包括代码优化、硬件升级、资源调度策略调整等,以提升ECert系统在金蝶环境下的性能表现和稳定性。 6. **未来工作** 描述了后续性能监控和优化计划,以及如何将测试经验...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    目录: 5月11日 出发今日点评优化小技巧 性能 优化项目优化小技巧 优化常用知识1:诊断事件5月12日 开始工作和CPU瓶颈今日点评优化小技巧 数据库 优化的步骤优化小技巧 按部就班是成功的关键优化小技巧 优化常用知识2...

Global site tag (gtag.js) - Google Analytics