系统性能的影响因素和优化方向小结

系统性能是系统设计、实施中的重要目标。这里简单小结下影响系统性能的几个常见因素,以及优化方案。

硬件

CPU

CPU通常负责计算机系统的主要计算工作。如果系统得到的CPU资源不足以满足系统的处理需求,就有可能影响系统性能。

优化方向

  1. 增加CPU资源。(使用处理能力更强的CPU,物理CPU、逻辑CPU数量)
  2. 增加系统的进程对CPU资源的占用时间。(使用多进程、多线程技术)

内存

CPU的处理数据需要暂时存放在内存中,因此内存资源也是影响系统性能的一大因素。

优化方向

  1. 增加内存资源。
  2. 减少内存碎片。(如使用内存池技术)
  3. 减少内存操作。(多使用栈?避免频繁malloc)

磁盘

磁盘的IO速度远小于内存读写速度,如果系统运行需要等待磁盘IO的完成,则系统性能就会收到很大影响。

优化方向

  1. 减少等待。(非阻塞,IO复用)
  2. 使用性能更好的磁盘。

网络

与磁盘IO类似,网络IO的速度远小于内存,而且受到各种网络因素影响。网络I/O经常是系统性能的瓶颈。

优化方向

  1. 增加网络带宽,使用高速网卡等。
  2. 减少等待(非阻塞,IO复用)
  3. 提供有损服务。
  4. UDP。(一些视频服务可以用UDP替代TCP)

软件

锁竞争

临界资源的使用需要用到锁,锁的竞争不仅需要上下文切换的开销,还经常会导致线程等待。甚至如果发生死锁,系统性能就会受到严重影响。

优化方向

  1. 减少临界资源、锁的使用
  2. 杜绝死锁

过载

系统过载可能导致系统性能雪崩式下降。(某个时间段突然超过系统承受能力的高并发)

优化方向

  1. 过载保护。
  2. 负载均衡。

欢迎指正和补充

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏何俊林

插件前奏-android黑科技 hook介绍

Android hook相关学习 参考:http://www.cydiasubstrate.com 前言: 在插件化编程中中,hook一直是个非常关键的环节,如...

2766
来自专栏云加头条

腾讯云服务器配置不用愁 只需这几步

作为云计算服务的重要组成部分,云服务器以其简单高效、安全可靠、弹性扩展的特性成为核心力量,构建了包括计算、网络、存储在内的综合服务平台。以腾讯云服务器为例,CV...

24K7
来自专栏JavaQ

分布式事务入门篇

本地事务 本地事务,即单体应用中单个线程内对一个数据库的事务提交。例如充值操作,充值成功后订单表状态更新为成功,账户表加钱,对应的数据库更新操作如下。 begi...

4006
来自专栏java思维导图

架构师眼中的高并发架构

高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。

5752
来自专栏IT技术精选文摘

使用API网关构建微服务

当您选择将应用程序构建为一组微服务时,您需要确定应用程序的客户端将如何与微服务器进行交互。使用单体应用程序,只有一组(通常是复制的,负载均衡的)端点。然而,在微...

4308
来自专栏IT技术精选文摘

架构师眼中的高并发架构

2625
来自专栏携程技术中心

Ctrip·Tech——架构师一席谈(2)Zookeeper在分布式应用中的作用

是不是要在标题的“作用”之前加上“重要”两个字,我犹豫了一下,zookeeper提供的功能是如此的重要,以至于如果你在应用中不使用它,早晚也会在你的应用中去实现...

2079
来自专栏网商云

腾讯云cvm--linux结合腾讯云企业邮箱配置mailx

新账号关联我们公司购买腾讯云产品,有优惠哦!联系电话:13430587834(微信同号)

4864
来自专栏Java面试通关手册

Java多线程学习(七)并发编程中一些问题

我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailc...

1813
来自专栏FreeBuf

企业安全漏洞通告引擎

? 背景 ? 如今大多数企业都在用漏洞扫描+漏洞通告,存在如下两个问题: 1、漏扫存在“扫描周期长、扫描库更新不及时”等情况,同时扫描报告中有无数干扰项,导致...

2265

扫码关注云+社区

领取腾讯云代金券