免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 63854 | 回复: 11

【好书推荐】实战揭秘:linux服务器性能调优 [复制链接]

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
发表于 2018-01-25 21:59 |显示全部楼层
很感兴趣 阅读下

论坛徽章:
8
2017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之天津
日期:2019-06-20 14:25:4015-16赛季CBA联赛之天津
日期:2019-08-20 23:06:5319周年集字徽章-庆
日期:2019-08-27 13:24:4219周年集字徽章-19
日期:2019-09-06 18:55:5019周年集字徽章-年
日期:2019-09-06 18:55:5019周年集字徽章-周
日期:2019-09-20 17:18:2220周年集字徽章-CU
日期:2020-11-11 13:06:03
发表于 2018-01-26 17:02 |显示全部楼层
1、业务实战过程中,影响Linux服务器性能的因素有哪些?
答:影响Linux服务器性能的因素有:
①CPU:CPU是操作系统稳定运行的根本,CPU的速度与性能在很大程度上决定了系统整体的性能,CPU是十分关键的资源,也常常是性能瓶颈的源头。需要明白的是,高的CPU利用率并不总是意味着CPU正在繁忙的工作;也可能是正在等着其它子系统完成工作。正确的判断,需要把整个系统作为一个整体,并且观察到每一个子系统,因为子系统可能存在关联的反应。

②内存:内存的大小也是影响Linux性能的一个重要的因素,内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应;内存太大,导致资源浪费。 可能出现内存性能瓶颈的应用有打印服务器、数据库服务器、静态Web服务器等,对于这类应用要把内存大小放在主要位置。

③磁盘I/O性能:磁盘子系统通常是服务器性能的最重要方面,是瓶颈问题的高发部件。但是,磁盘问题表现的有时候并不是那么直接,比如说可能是内存不足。如果CPU周期浪费在等待I/O任务完成,应用程序可能被认为是I/O密集型。

④网络带宽:Linux运行的各个应用程序,一般需要依靠网络进行数据交互。如果网络带宽不够或网络不稳定,会影响应用程序运行的结果,严重时会使应用程序出现错误甚至崩溃。

⑤系统安装:操作系统优化要从操作系统的安装开始。安装操作系统时,磁盘分区的划分,包括Boot分区、根分区、SWAP分区,都直接影响系统的运行性能。

⑥内核参数:操作系统安装完毕后,就要对系统内核参数进行配置,达到优化的效果。不过内核参数的优化要系统中运行的应用程序结合起来进行配置。

⑦文件系统:文件系统也是影响服务器性能的重点。不同的文件系统有各自的特性,管理员应该根据不同的需求,选择合适的文件系统。


2、在linux性能调优过程中,有哪些监控和测试工具?性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。
答:在linux性能调优过程中,可以用uptime命令评估系统整体性能,用vmstat命令、sar命令监控系统CPU,用free命令、vmstat命令监控内存,用iosta命令、sar命令评估磁盘性能,用ping命令、netstat命令、iperf命令、netperf命令监控网络性能。
性能分析存在瓶颈包括CPU瓶颈、内存瓶颈、磁盘I/O瓶颈和网络带宽瓶颈。
①CPU瓶颈:有好几种办法可以确认瓶颈出现在CPU上。Linux有各类工具来帮助我们,关键是选择什么工具。可以使用uptime命令,通过分析其输出,可以粗略知道在过去15分钟里,服务器上发生了什么。使用top工具可以看到CPU利用率和哪个进程是消耗CPU的大户。如果设置了sar,会收集到很多信息,比如一段时间内的CPU利用率。分析这些信息的办法可能不同,使用isag,可以对sar的输出画出图形。你还可以通过脚本和表格来分析信息,看看CPU利用率的走向。你也可以在命令行使用sar -u或者sar -U processornumber。要想获得系统更全面情况,而不只是CPU子系统,vmstat是个好帮手。

②内存瓶颈:要找到内存瓶颈,可以从列出在服务器上运行的应用开始分析。看看每个程序用了多少物理内存和swap空间。用free、vmstat检测是否是内存瓶颈。使用free -l -t -o来查看额外信息。有两类页错误(Page faults):软页错误,在内存中发现页;硬页错误,在内存中没有发现页,而必须从磁盘中获取。访问磁盘会显著的使应用变慢。sar -B命令可以提供观察页错误的信息。

③磁盘I/O瓶颈:分析磁盘瓶颈的办法就实时监控和跟踪。跟踪磁盘的一种办法是使用vmstat工具。vmstat中关于I/O最重要的列是bi和bo。这两个字段监控了各个时刻进出磁盘的块。设置了基线就可以找到随着时间的变化。在反复同时打开、读、写、关闭太多文件的时候可能遇到性能问题。使用iostat工具,可以监控I/O设备的实时负载。不同的选项可以帮你挖掘到更深更多有用的数据。

④网络带宽瓶颈:测试网络性能的第一步是确定网络是否正常工作,最简单的方法就是使用ping命令。iperf是一个基于TCP/IP和UDP/IP性能测试工具,能够提供网络吞吐率信息,以及震动、丢包率、最大组和最大传输单元大小等统计信息,可以由这些信息来分析网络的通信性能、定位网络瓶颈。netperf是一种网络性能测量工具,主要针对基于TCP或UDP的传输。netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/response)模式。netperf反应的是一个系统能以多快的速度向另一个系统发送数据,以及另一个系统能以多快的速度接受数据。


3、在Linux服务器性能调优中,您有哪些实战技巧?
答:Linux服务器性能调优的步骤如下:
①了解你的系统,根据当前服务器性能表现,设立基准线,用来和未来的测试数据做比较,找出性能瓶颈。
②备份系统
③监控和分析系统性能
④缩小瓶颈范围,找到原因
⑤通过修改一个因素,修复瓶颈
⑥回到第3步,直到系统性能恢复到正常水平
在这个过程中应该记录下每一步,尤其是你的修改,以及对性能的影响。

在尝试修复性能问题的时候,注意:
·应用程序应该用适当的方法来编译,减少路径长度。
·在做任何升级和修改之前做性能衡量,这样就可以知道修改是否有用。
·除了检查新添加的硬件,还要检查重新配置过的旧硬件。

论坛徽章:
5
技术图书徽章
日期:2013-08-27 10:03:49CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43技术图书徽章
日期:2014-04-24 15:51:26
发表于 2018-01-30 16:31 |显示全部楼层
性能监控很重要,有瓶颈时能及时发现,这个通常比性能优化更重要。

评分

参与人数 1信誉积分 +5 收起 理由
shang2010 + 5 赞一个!

查看全部评分

论坛徽章:
43
15-16赛季CBA联赛之上海
日期:2020-11-04 09:36:5515-16赛季CBA联赛之北控
日期:2018-10-29 18:20:3415-16赛季CBA联赛之北京
日期:2018-10-06 21:39:5715-16赛季CBA联赛之天津
日期:2018-08-09 10:30:41ChinaUnix元老
日期:2018-08-03 17:26:00黑曼巴
日期:2018-07-13 09:53:5415-16赛季CBA联赛之吉林
日期:2018-03-30 12:58:4315-16赛季CBA联赛之佛山
日期:2017-12-01 10:26:3815-16赛季CBA联赛之上海
日期:2017-11-14 09:20:5015-16赛季CBA联赛之江苏
日期:2019-02-20 09:53:3319周年集字徽章-庆
日期:2019-08-27 13:23:2515-16赛季CBA联赛之广夏
日期:2019-09-03 18:29:06
发表于 2018-02-02 15:12 |显示全部楼层
1、 业务实战过程中,影响Linux服务器性能的因素有哪些?
主要有操作系统,CPU,内存,磁盘I/O带宽,网络I/O带宽,应用程序。

2、在linux性能调优过程中,有哪些 监控和测试工具?性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。
常用的命令有Vmstat、sar、iostat、netstat、free、ps、top。有硬件瓶颈,网络瓶颈,操作系统瓶颈。

3、在Linux服务器性能调优中,您有哪些实战技巧?
找出服务器的瓶颈,进行优化。

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
发表于 2018-02-02 19:21 |显示全部楼层
对计算机程序而言,算法和数据结构才是性能的灵魂,难道各位平时工作都很少涉及么

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
发表于 2018-02-02 19:40 |显示全部楼层
⑤系统安装:操作系统优化要从操作系统的安装开始。安装操作系统时,磁盘分区的划分,包括Boot分区、根分区、SWAP分区,都直接影响系统的运行性能。


——现在还回答这些,也太笼统了吧。不会是从以前资料上抄的吧

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-25 06:20:002017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:2115-16赛季CBA联赛之新疆
日期:2018-04-23 13:55:2315-16赛季CBA联赛之辽宁
日期:2018-07-23 08:59:12
发表于 2018-02-06 15:35 |显示全部楼层
1、 业务实战过程中,影响Linux服务器性能的因素有哪些?cpu使用率内存使用率流出流量流入流量磁盘读取磁盘写入io_wait核心要数就这几个了




2、在linux性能调优过程中,有哪些 监控和测试工具?性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。
监控工具用的最多肯定是 zabbix 啦,测试工具直接用python写的就好了。  
瓶颈  上面那几项都会成为瓶颈,
公司业务的话 程序写的内存释放不够,导致内存吃满的情况

3、在Linux服务器性能调优中,您有哪些实战技巧?

实战技巧,要去试才知道。。别纸上谈兵、。

论坛徽章:
8
2017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之天津
日期:2019-06-20 14:25:4015-16赛季CBA联赛之天津
日期:2019-08-20 23:06:5319周年集字徽章-庆
日期:2019-08-27 13:24:4219周年集字徽章-19
日期:2019-09-06 18:55:5019周年集字徽章-年
日期:2019-09-06 18:55:5019周年集字徽章-周
日期:2019-09-20 17:18:2220周年集字徽章-CU
日期:2020-11-11 13:06:03
发表于 2018-02-06 21:47 |显示全部楼层
shang2010 发表于 2018-02-02 19:40
⑤系统安装:操作系统优化要从操作系统的安装开始。安装操作系统时,磁盘分区的划分,包括Boot分区、根分 ...

感谢你的认真阅读

不同的应用服务器,作用不同,分区也不同,不可能千篇一律。此外服务器本身的硬件配置不同,也影响着磁盘的分区。

论坛徽章:
0
发表于 2018-02-07 10:38 |显示全部楼层
回复 1# 王楠w_n


1、 业务实战过程中,影响Linux服务器性能的因素有哪些?

作为一个物理整体,无非是这些东西组成,底层的操作系统,CPU,内存,磁盘I/O情况以及现场的网络I/O带宽情况

上层就是应用程序本身了,其中应用程序我认为是关系是最大的,应用代码本身写得水平如何使影响性能的最大因素。


2、在linux性能调优过程中,有哪些 监控和测试工具?

目前作为开源的Llinux系统本身已经自带了很多的性能监控和测试工具,

常用的命令有Vmstat、sar、iostat、netstat、free、ps、top。

性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。

性能如果存在瓶颈,最直观的感受当然是客户了,表现出来的是系统反应很慢或者直接卡死。这个时候就要分析服务器的问题了。

之前有个Mysql数据库的应用,发现服务器上有MYSQL进程使用CPU占用100%,导致应用返回很慢, 延时很大。后来发现是有一个sql语句

逻辑是根据一个字段的查询count总数,而且count里包含了substr函数,字段本身是一个存储图片的URL地址的。长度在200个字符左右,表的数据量在784万。可想而知要消耗多少CPU资源。

3、在Linux服务器性能调优中,您有哪些实战技巧?
在一个MPP的分布式数据库环境中,遇到过Huge的问题。技巧谈不上,主要对数据库相关的服务器比较了解。对Linux还不是很精通。


论坛徽章:
32
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
发表于 2018-02-10 13:28 |显示全部楼层
1、业务实战过程中,影响Linux服务器性能的因素有哪些?
影响Linux服务器性能的因素有很多。
从OS层面来看,有:CPU、RAM、磁盘/磁盘阵列的I/O吞吐率、网络I/O吞吐率等。
从业务应用层面来看(以Java类型的应用为例),有:JVM虚拟机、应用服务器(如Tomcat)、Java应用本身。
进一步从应用本身来看(以Java类型的应用为例),有:应用的Web层、业务逻辑层、持久层、缓存层、数据库层等。
以上的每一项都可能影响到Linux服务器的性能。

2、在linux性能调优过程中,有哪些监控和测试工具?性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。
linux性能调优过程可以使用的监控和测试工具就太多了。
常用的Linux脚本工具:top、htop、iostop、pidstat、vmstat、iostat、dstat、mpstat、netstat、sar、free、ps、lsof、tcpdump、iptraf、psacct、acct、monit、nethogs、iftop、monitorix、arpwatch、suricata、nagios、nmon、collectl等。
常用的Linux系统性能优化工具:perf、oprofile、sysbench、jmeter、ab等。
可以用vmstat、sar、iostat等检查CPU是否存在瓶颈
可以用free、vmstat等检查RAM是否存在瓶颈
可以用iostat、等检查磁盘是否存在瓶颈
可以用netstat、nethogs等检查网络带宽是否存在瓶颈

3、在Linux服务器性能调优中,您有哪些实战技巧?
1)对系统的性能情况进行评估
使用uptime脚本
2)对CPU性能情况进行评估
使用vmstat脚本
3)对RAM性能情况进行评估
4)对磁盘性能情况进行评估
5)对网络性能情况进行评估
一句话,利用各种脚本和工具,找出服务器的性能瓶颈的所在,再对症解决问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP