这个系统好慢、网站又打不开了,太卡了,又没响应了!”相信大家都遇到过这种抱怨,这是应用系统出现了性能问题,需要性能调优。

性能调优,要求对计算机硬件、操作系统和应用有相当深入的了解。

调节三者之间的关系,实现整个系统(硬件、操作系统、应用)的性能最优化,不断满足现有的业务需求。

  • 获得更好的系统性能

  • 满足不断增加的业务需求

通过性能调优,可以用更少的硬件资源,支撑更大量的业务发展,从而达到节省硬件投资的目的。

同时,可以在资源有限,不能扩容的情况下,提升系统的响应能力,从而为用户带来更好的使用体验。

我们重点说一下在进行性能优化时,硬件、操作系统、应用程序这三大系统,需要关注的一些细节和具体的优化思路:

  • 硬件优化。主要是对硬件选型,例如 CPU、内存、磁盘、网卡等。

  • 操作系统优化。主要包含了操作系统的系统参数、内核参数、进程参数、文件系统、磁盘 IO 等。

  • 应用程序优化。主要包含对应用软件优化,例如:Apache、Nginx、Redis、MySQL、Keepalived、Kafka 等。

下面展开介绍这三大系统优化。

硬件优化

在上线一个业务系统之前,首先需要进行硬件采购。硬件采购的标准是业务系统的运行特点和对资源的占用情况。

举例一:如果要上线一套 Redis 集群

Redis 是内存数据库,特点是占用内存会非常大。采购的时候要重点考虑的硬件资源就是内存,第一内存要大,第二内存资源要可扩展。

Redis 对磁盘读、写并不会很频繁,同时,占用的磁盘空间也不会太大。对磁盘的采购,可以不需要太大的磁盘空间,普通的 SAS 磁盘即可。

举例二:如果要上线的是一套数据库系统

数据库系统的特点是比较耗费 CPU,也比较耗费内存,对数据安全性要求很高。

无论你使用的是 MySQL、SQL Server 还是 Oralce,都需要配置足够快的 CPU,足够大的内存,足够稳定可靠的硬盘,同时硬盘需要做 RAID,RAID10 最好。

操作系统优化

操作系统介于硬件和应用之间,起到一个承上启下的作用。

相关的系统参数设置关系到内存、IO 的调用机制、文件系统的使用效率、进程调度的优先级。

基于 Linux 操作系统的性能优化,具体的优化包含如下几个方面:

  • 操作系统安装优化

  • 进程管理调优

  • 内存资源调优

  • IO 调度调优

  • 文件系统调优

  • 网络传输调优

下图展示了 Linux 的内部结构以及与硬件的协助机制,非常重要。

最底层,是硬件设备(Hardware);往上是固化到硬件中的程序(Firmware);接着是设备驱动程序(Driver),是一种特定形式的软件程序,实现与硬件设备的交互。

操作系统层面的组成部分,首先是系统内核(Kernel),在内核基础之上是系统库、共享库等系统运行必须的库文件(Libraries)。

最上层是系统中运行的应用程序(Applications),就是我们在系统中安装的各种应用软件,例如 MySQL、Samba、FTP 等。

由此可知,操作系统优化是一个从底层硬件到上层软件应用,逐级优化的过程。

应用程序优化

最直观的表现是从日志中发现异常,然后根据日志中的异样进行综合判断得出优化结论。

最容易忽略的是代码优化,有些性能问题完全是代码不合理。比如,for 循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等。

在排除代码层面的问题后,就需要考虑架构层面、参数配置层面等方面的问题。

架构层面的调优包括读写分离、多从库负载均衡、水平和垂直分库分表,还需要的调优手段有连接池调优、数据库参数调优等。

最后,通过一个对 MySQL 数据库进行调优,简单总结一下需要关注的方面有哪些:

  • MySQL 安装编译优化

  • MySQL 配置文件优化

  • MySQL 存储引擎优化

  • 优化表类型(MyISAM 或 InnoDB)

  • 查询缓存优化

  • SQL 语句优化

  • 锁机制优化

  • MySQL 服务器优化(操作系统参数、存储盘换 SSD 等)

欢迎关注微信公众号【厦门微思网络】。www.xmws.cn专业IT认证培训19周年

主要课程:思科、华为、红帽、ORACLE、VMware、CISP、PMP等认证培训及考证

往期回顾

往期回顾:

运维基础(1)Nginx

运维基础(2)实用工具篇

运维基础(3)备份篇

运维基础(4)流量监控工具篇

运维基础(5)Ansible

运维基础(6)CI / CD

运维基础(7)Ansible Tower

运维基础(8)shell脚本

运维基础(9)Linux性能调优三大系统相关推荐

  1. Linux性能调优用这个“必杀技”,稳了!

    " "这个系统好慢.网站又打不开了,太卡了,又没响应了!"相信大家都遇到过这种抱怨,这是应用系统出现了性能问题,需要性能调优. 性能调优,要求对计算机硬件.操作系统和应用 ...

  2. linux性能调优命令精华

    linux性能调优命令精华 2010年07月18日 linux性能调优命令精华 时间:2010-6-23 一. 查看硬盘读取速度 命令:hdparm -t /dev/sda5 打印:Timing bu ...

  3. linux云自动化运维,Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程...

    Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程 全新Linux云计算运维基础与Linux Shell自动化运维实战课程,由于国内一线大神亲自授课与教 ...

  4. Linux性能调优的优化思路

    Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的有apache.tomcat.nginx.mysql.php等等,开源软件的最大理念就是 ...

  5. 关于Linux性能调优之内存负载调优

    写在前面 整理一些Linux内存调优的笔记,分享给小伙伴 博文没有涉及的Demo,理论方法偏多,可以用作内存调优入门 博文内容涉及: Linux内存管理的基本理论 寻找内存泄露的进程 内存交换空间调优 ...

  6. elasticsearch运维实战之2 - 系统性能调优

    elasticsearch性能调优 集群规划 独立的master节点,不存储数据, 数量不少于2 数据节点(Data Node) 查询节点(Query Node),起到负载均衡的作用 Linux系统参 ...

  7. Linux性能调优工具-9张图-包你用到爽!抓紧收藏吧

    这里包含Linux 性能资料的工具图.这些使用大字体可以用作海报幻灯片.也可以将它们打印出来贴在办公室墙上.它们展示了:Linux 可观察性工具. Linux 静态性能分析工具. Linux 基准测试 ...

  8. Linux性能调优集合

    1.性能调优:CPU 关系型数据库严重依赖底层的硬件资源,CPU是服务器的大脑,当CPU开销很高时,内存和硬盘系统都会产生不必需要的压力.CPU的性能问题,直观来看,就是任务管理器中看到的CPU利用率 ...

  9. 基本linux性能调优技巧

    导读 Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它 ...

最新文章

  1. mysql导入600万数据_mysql如何导出600万条记录的数据表?
  2. [转](不理想)Ubuntu下更改主显示器
  3. css学习入门篇(1)
  4. 曾经我也迷茫,你还在迷茫吗?写给像我一样的在校计算机专业学生作者:Cat_Lee 来源:博客园 发布时间:2009-05-30 20:25 阅读:1104 次 原文链接 [收藏]
  5. 排队问题解题思路_三大策略、5个技巧,完美解决超市收银排队难题
  6. 安装DirectX SDK时出现Error Code:s1023 的解决方案
  7. Tips--解决安装Multisim时出现No software will be installed or removed无法安装的问题
  8. leetcode题解206-反转链表
  9. 10行代码解析krc歌词文件
  10. [转]MySQL游标特性
  11. deeplab v3 ppt_「秋叶PPT」被这件事难倒的张雨绮,撕开了千万职场人最羞愧的一面...
  12. 算法训练 s01串java_试题 算法训练 s01串
  13. vim 快捷键大全和插件大全
  14. 谷歌搜索没有相机图标_教您如何在Google上搜索图片
  15. Echarts Map地图下钻至县级
  16. 苹果手机上网速度慢_人群中手机网速不好,怎么办?
  17. ftp下出现“当前的安全设置不允许从该位置下载文件”提示
  18. 部署项目 Failure obtaining db row lock: Table ‘XXX.qrtz_LOCKS‘ doesn‘t exist
  19. 解决vue项目路由出现message: “Navigating to current location (XXX) is not allowed“的问题
  20. Java并发编程艺术阅读笔记(一)

热门文章

  1. (11)调用门提权(有参)
  2. 2017年CISCN初赛
  3. 端口复用和半关闭补充
  4. 【内网渗透工具】炫彩蛇安装教程
  5. 如何正确的进行网站入侵渗透测试
  6. python爬取快代理IP并测试IP的可用性
  7. 隐藏数据的好方法----Alternative Data Stream(可选数据流)
  8. 最简单实现多线程的方法(Thread)
  9. MySQL中的用户管理
  10. jQuery的attr()和prop()方法