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

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

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

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

为什么性能调优?

说到底就俩原因:

获得更好的系统性能

满足不断增加的业务需求

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

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

性能调优三大系统

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

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

操作系统优化。主要包含了操作系统的系统参数、内核参数、进程参数、文件系统、磁盘 IO 等。
应用程序优化。主要包含对应用软件优化,例如:Apache、Nginx、Redis、MySQL、Keepalived、Kafka 等。

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

硬件优化

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

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

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

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

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

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

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

操作系统优化

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

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

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

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

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

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

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

应用程序优化

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

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

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

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

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

MySQL 安装编译优化

MySQL 配置文件优化

MySQL 存储引擎优化

优化表类型(MyISAM 或 InnoDB)

查询缓存优化

SQL 语句优化

锁机制优化

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

看到了吧,性能调优真是一个大话题,随便一个方面,都有很多要优化的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,可以使用nice命令来提高线程的优先级。nice命令实际上是通过调用setpriority()系统调用来修改进程的优先级。通过在命令中指定较低的调整值,可以提高线程的优先级。较低的调整值表示较高的优先级。需要注意的是,nice命令需要使用root权限才能够修改其他用户的进程优先级。此外,优先级的调整值只是一个相对值,即使设置了最高优先级,也不能保证程序一定能够立即响应。对于使用多核CPU的系统,nice命令只能够调整程序在一个CPU核心上的优先级,而不能够调整在多个CPU核心上的优先级。因此,提高线程优先级可以通过使用nice命令并指定较低的调整值来实现。 #### 引用[.reference_title] - *1* *2* [优化Linux系统性能的必杀技:调整进程优先级!学会使用nice命令,让你的系统飞一般的顺畅!](https://blog.csdn.net/wisdom_futrue/article/details/129302719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Linux】实时线程的优先级设置、调度和抢占](https://blog.csdn.net/gpeng832/article/details/126809565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值