之前弄过一个门户系统,其最初每天只有几百个用户会访问使用,后来在公司业务各种推广后,这个门户系统在最高峰的时候,每秒并发1000,

而在这期间,进行了许多分析和优化,作以此文记录。

本文将从代码层面,硬件层面进行分析

代码层面:

许多业务系统性能不够,其在代码层面其实有很大的优化空间。

例如一个对常用业务进行分析,很多时候,我们开发这个功能的时候,并没有考虑到其性能,尤其是在当初功能急着上线的时候,这类只实现功能,却性能比较差的模块,到处都是,面对庞大的功能模块,我们如何定位是哪里消耗时间最多?

这个时候,我们可以用最古老的方式,打印时间,通过对常用业务流程,进行记录进入代码的时间,和离开此段代码的时间,就可以得出业务执行消耗的时间。一般超过5秒才执行完的业务就要仔细分析,CPU的处理业务能力的很强的,如果一段逻辑需要处理5秒,就得考虑这个模块是否存在优化空间,可以从业务场景去分析,例如如下的场景:

1.此模块频繁对数据库进行IO

分析是否有相关属性值可以预存到内存中,而不用每次都从数据库去获取。

2.是否有些业务并非需要实时

许多业务,只是为了更新数据库做记录,类似场景不需要实时去处理,可以考虑延时处理。即弄个定时器,每次数据过来,先存在缓存,一定时间再存回数据库。

3.代码是否写的性能低下

如果一段简单的功能,当初实现时可能只为了赶时间,可能会写的复杂离谱,可以考虑重新写过,尽量减少多层循环。

4.功能剥离

有些高并发的场景,可能只是一个特殊的场景,如抢红包功能,每天只是某个时候,特别多人前来,可以考虑将这个功能单独抽离出来,这样即便红包出现严重高并发,对原系统都不会什么影响。

5.恶意攻击:

如果一个系统有金钱派送,可能会有许多羊毛党通过一些恶意刷工具,进行攻击套利,这个时候需要考虑能否从业务场景去限制流量,或者对用户进行拉黑处理,终究不能因小失大。

关于代码层还有很多优化空间,前面只是列举了大方向。真正对于系统的优化,还需要具体问题,具体分析。

硬件层面:

如果对于代码层的优化已经达到无能为力的时候,硬件层还是需要扩展,终究你不能在一台小霸王机器上运行windows。

集群的方案在网上已经有相当多了,这里就不说什么,只是提醒各位,在对硬件进行集群升级的时候,原来代码层面还是有许多地方需要考虑更改,例如写在内存的变量和定时任务等等这些。

今天就先更新到这里了。

转载于:https://www.cnblogs.com/hhpblog/p/5936414.html

互联网系统性能优化方向相关推荐

  1. 闪存系统性能优化方向集锦?AC timing? Cache? 多路并发?

    声明 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载. 内容摘要 1. 优化 AC Timing,提升总线频率 1.1 优化 AC Timi ...

  2. 提高计算机系统性能的方法或者技术,互联网内容审计系统性能优化方法的研究-计算机科学与技术专业论文.docx...

    互联网内容审计系统性能优化方法的研究-计算机科学与技术专业论文 摘要近年来,互联网络以其快速的信息传递和广泛的资源共享深入到了人类 摘要 近年来,互联网络以其快速的信息传递和广泛的资源共享深入到了人类 ...

  3. 软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲

    软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲 培训课程 Phthon Web开发 实训公司 XXX 总周数 3周

  4. 系统性能优化的十大策略(强烈推荐,建议收藏)

    点击关注公众号,实用技术文章及时了解 上篇 提升系统性能,榨干计算机资源是程序员的极致追求,今天跟大家聊聊性能优化.分为上中下三篇,由浅及深的写了关于性能优化的方方面面,并不仅仅局限于代码层面,希望小 ...

  5. 系统性能优化策略 -- 持续优化更新

    [开篇词]      无论是传统行业还是互联网行业,一个优秀的软件产品,必须兼顾产品的质量和性能.这二者也可以反映出从业者的技术能力.思维方式以及格局!故性能优化应该是我们所有猿类共同的追求. [策略 ...

  6. 【书评】一本Android系统性能优化的新书

    Android性能优化,是一个合格的Android程序员必备的技能,现如今几乎所有的Android面试内容都会或多或少涉及性能优化方面的话题. 学习Android性能优化可以让我们在简历上展示自己的专 ...

  7. MapReduce Shuffle优化方向

    Shuffle过程介绍可以查看该博客:http://langyu.iteye.com/blog/992916 优化方向: 压缩:对数据进行压缩,减少写读数据量: 减少不必要的排序:并不是所有类型的Re ...

  8. 系统性能优化的常见八大误区

    转载:http://www.cnblogs.com/yunman/articles/5482129.html 一.吞吐量与响应时间 系统的吞吐量反映了一个系统的容量,可承受的负载,很多系统都以这样一个 ...

  9. 【Android 进程保活】oom_adj 值 ( oom_adj 值对应的进程优先级 | oom_adj 值动态改变 | 进程保活优化方向 )

    文章目录 一.oom_adj 值对应的进程优先级 二.oom_adj 值动态改变 1.正常运行时的 oom_adj 值 2.按下 Home 键后的 oom_adj 值 3.按下回退键后的 oom_ad ...

最新文章

  1. mysql优化参数设置_MySQL服务优化参数设置参考
  2. 一步步实现SDDC--多角色服务器部署
  3. 是不是好奇号不够好奇,NASA要送机器蜜蜂上火星?
  4. eclipse导入wsdl文件_eclipse生成wsdl文件
  5. ADB连接手机遇到的问题:list of devices attached
  6. 笔记本计算机故障排除,笔记本电脑常见故障原因 笔记本电脑常见故障解决方法【详解】...
  7. PPT素材模板哪个网站资源内容比较丰富?
  8. python卸载pip_Python 包 卸载方法
  9. 微信公众号创建与审核相关注意事项
  10. Word分栏在排版中的应用
  11. 【枚举·习题】拉灯游戏or费解的开关
  12. 基于Python制作实现的推箱子小游戏
  13. Tangents UVA - 10674 (求两个圆公切线的切点)
  14. PX Deq Credit: send blkd (3)---Script to monitor parallel queries (文档 ID 45
  15. python代码情话_程序员的土味情话~(内含表白代码)
  16. PHP简体字繁体字相互转换类
  17. 多所高校通知:这种情况取消考研复试资格!
  18. 用ADC0809实现八通道采集
  19. 【思路整理】凑数问题
  20. 数字藏品指南系列第五篇:验证智能合约

热门文章

  1. 【 Linux 网络虚拟化 】Netns
  2. Python简单的拼写检查
  3. 转帖Masonry介绍与使用实践(快速上手Autolayout)
  4. .net p/invoke 异常处理
  5. ffmpeg结构体SpecifierOpt说明文档
  6. 2014/4/4做题感悟
  7. HandleExternalEventActivity
  8. linux qt3编译出错,Linux下编译Qt 5版本源码
  9. 初入SysML之模块定义图
  10. FPGA时序约束设计经验总结