Linux爱好者▲的性能调优的思路,Linux( 四 )


Linux爱好者▲的性能调优的思路,Linux
文章图片
3.3软件开发人员
系统性能优化最后一个环节涉及的是程序开发人员 , 在Linux运维人员或架构设计人员找到程序或结构瓶颈后 , 程序开发人员要马上介入进行相应的程序修改 。 修改程序要以程序的执行效率为基准 , 改进程序的逻辑 , 有针对性地进行代码优化 。
例如 , Linux运维人员在系统中发现有条SQL语句耗费大量的系统资源 , 抓取这条执行的SQL语句 , 发现此SQL语句的执行效率太差 , 是开发人员编写的代码执行效率低造成的 , 这就需要把这个信息反馈给开发人员 , 开发人员在收到这个问题后 , 可以有针对性的进行SQL优化 , 进而实现程序代码的优化 。
从上面这个过程可以看出 , 系统性能优化一般遵循的流程是:
首先Linux运维人员查看系统的整体状况 , 主要从系统硬件、网络设备、操作系统配置、应用程序架构和程序代码五个方面进行综合判断;
如果发现是系统硬件、网络设备或者操作系统配置问题 , Linux运维人员可以根据情况自主解决;
如果发现是程序结构问题 , 就需要提交给程序架构设计人员;
如果发现是程序代码执行问题 , 就交给开发人员进行代码优化 。 这样就完成了一个系统性能优化的过程 。
04调优总结
系统性能优化是个涉及面广、繁琐、长久的工作 , 寻找出现性能问题的根源往往是最难的部分 , 一旦找到出现问题的原因 , 性能问题也就迎刃而解 。 因此 , 解决问题的思路变得非常重要 。
Linux爱好者▲的性能调优的思路,Linux
文章图片
例如 , Linux系统下的一个网站系统 , 用户反映 , 网站访问速度很慢 , 有时无法访问 。
第一步要做的是检测网络 , 可以通过ping命令检查网站的域名解析是否正常 , 同时 , ping服务器地址的延时是否过大等等 , 通过这种方式 , 首先排除网络可能出现的问题;
如果网络没有问题 , 接着进入第二步 , 对Linux系统的内存使用状况进行检查 , 因为网站响应速度慢 , 一般跟内存关联比较大 , 通过free、vmstat等命令判断内存资源是否紧缺;
如果内存资源不存在问题 , 进入第三步 , 检查系统CPU的负载状况 , 可以通过sar、vmstat、top等命令的输出综合判断CPU是否存在过载问题 , 如果CPU没有问题;
继续进入第四步 , 检查系统的磁盘I/O是否存在瓶颈 , 可以通过iostat、vmstat等命令检查磁盘的读写性能 , 如果磁盘读写也没有问题 , Linux系统自身的性能问题基本排除 , 最后要做的是检查程序本身是否存在问题 。
通过这样的思路 , 层层检测 , 步步排查 , 性能问题就“无处藏身” , 查找出现性能问题的环节也就变得非常简单 。