- 论坛徽章:
- 6
|
1、业务实战过程中,影响Linux服务器性能的因素有哪些?
从我的观点来看,影响Linux性能的因素要从服务器硬件水平,虚拟化层面开销Hypervisor,系统OS资源配置,以及业务应用来综合分析;
(1)最基础的就是本身硬件的水平差距是不一样的,这些是很多运维或者开发同事在做项目和方案时候最容易忽视的,比方说同样是Intel Xeon,即使核数一样,但是是前后两代,那两者所提供的性能差异的差距是非常大的,对于后端存储用的SAN,不同品牌以及不同速度的HBA所带来的IO性能差异是非常大。我们要在性能和性价比之间做一个好的选择。
(2)之后就是虚拟层的开销,对于现在很多使用虚拟化产品的linux服务器,同样的硬件配置,采用不同虚拟层所带来的也是会有性能上的差异的。
(3)其实最关键的还是OS本身上面的CPU,内存,磁盘I/O宽带和网络I/O宽带对Linux服务器带来巨大影响,CPU是操作系统稳定运行的根本,CPU的速度决定计算极限以及计算速度,因此从原则上讲CPU数量越多、主频越高,服务器性能也就相对越好,当然也存在少数其他情况,这里就不多讨论了;内存的大小也是影响Linux性能的一个重要的因素,内存太小,最直接感受就是系统卡住,应用切换变得缓慢,在生产环境会出现系统卡死,交易报错或者延时被强制退出;磁盘的I/O性能直接影响应用程序的性能,读写的速度快和慢将很大程度影响OLTP;而网络IO就更不用说了,如果网速慢,在高并发的系统中基本就等同于瘫痪。
2、在linux性能调优过程中,有哪些 监控和测试工具?性能分析存在哪些瓶颈?请结合贵公司的业务进行简述。
应该说很大程度上我们基本上能通过linux自带的命令来解决基本的一些问题分析,常见的命令包括vmstat,top,nmon,mpstat,sar,free,iostat,iptraf等等等等,其实熟练掌握这些命令或者小工具能解决生产或者是测试环境中大部分的问题分析,至于什么命令用在什么地方,之前上一位简单说过一点,我觉得这儿也不是教命令的地方,所以不详述了,除了命令层面我们可以去简单做分析和性能调优,其实更多的时候,我们需要借助各种第三方的工具来做参考和帮互助,从而更好地帮助我们去做性能调控和优化。各种监控类软件,从开源的zabbix和nagios,到网络的catti,还有最近试过国产的osa,在我们各种开发测试项目以及POC的过程中,尝试了各种开源的devops,容器类新型监控软件,这些对于linux以及应用的性能调优是非常具有帮助的。
3、在Linux服务器性能调优中,您有哪些实战技巧?
我强烈推荐牛新庄老师的DB2数据库的书,虽说是数据库方面的书,但是说了很多问题处理和性能调优的方法,比如如何从存储到系统再到数据库的性能优化方法,一般先从存储看,然后系统最后数据库,比如是性能,可以看是否是存储IO,CPU的wait,数据库的bufferpool,都是很好的参考角度。
P.S.. 试读了余洪春老师的新书,应该说洪春也是CU的资深老用户,很期待这本书中关于linux的自动化运维内容,希望对我工作有更多的启发和帮助。
|
|