高级工程师的网络优化思路,和你真的完全不同
gaoyangw 2024-10-04 16:59 19 浏览 0 评论
晚上好,我是老杨。
在网络这行混,我们常常会聊到各种“优化”方法,比如网络架构优化,性能优化,系统优化等。
就拿系统的性能优化来说吧,你看,网络运维工程师得查看系统的整体状况,然后从系统硬件、网络设备、操作系统配置、应用程序架构和程序代码五个方面进行综合判断。
可以看到,在做性能优化过程中,网络运维工程师其实承担着很重要的任务。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
你得了解和掌握操作系统的当前运行状态,什么系统负载、内存状态、进程状态、CPU负荷等信息,这些信息是检测和判断系统性能的基础和依据。
你还得了解系统的硬件信息,例如磁盘I/O、CPU型号、内存大小、网卡带宽等参数信息,然后根据这些信息综合评估系统资源的使用情况。
性能优化本身就是一个复杂和繁琐的过程,你需要有理论基础、有实战经验,还得有一个清晰的、解决问题的思路,这样才能事半功倍。
今天的文章,就给你梳理一遍针对网络系统的性能优化所必备的思路。不是老运维,你很难总结的出来。
今日文章阅读福利:《 网络运维必备高效工具 》
私信老杨,发送“运维工具”,即可获得运维必备的高效工具合集。前10名粉丝还可额外获得进入全国网工交流群的资格。
01 高级工程师的优化思路,长啥样?
系统性能优化是个涉及面广、繁琐、长久的工作,寻找出现性能问题的根源往往是最难的部分,一旦找到出现问题的原因,性能问题也就迎刃而解。因此,解决问题的思路变得非常重要。
例如,linux系统下的一个网站系统,用户反映,网站访问速度很慢,有时无法访问。
针对这个问题,第一步要做的是检测网络,可以通过ping命令检查网站的域名解析是否正常。
同时,ping服务器地址的延时是否过大等等,通过这种方式,首先排除网络可能出现的问题。
如果网络没有问题,接着进入第二步,对linux系统的内存使用状况进行检查。
因为网站响应速度慢,一般跟内存关联比较大,通过free、vmstat等命令判断内存资源是否紧缺。
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
如果内存资源不存在问题,进入第三步,检查系统CPU的负载状况,可以通过sar、vmstat、top等命令的输出综合判断CPU是否存在过载问题。
如果CPU没有问题,继续进入第四步,检查系统的磁盘I/O是否存在瓶颈,可以通过iostat、vmstat等命令检查磁盘的读写性能。
如果磁盘读写也没有问题,linux系统自身的性能问题基本排除,最后要做的是检查程序本身是否存在问题。
通过这样的思路,层层检测,步步排查,性能问题就“无处藏身”,查找出现性能问题的环节也就变得非常简单。
02 作为网络运维,你需要知道的基础
搞运维的,难免经常会遇到系统不稳定、响应速度慢等问题。
比如说,我有一个粉丝就是老运维了,他就常和我抱怨,在linux上搭建了一个web服务,经常出现网页无法打开、打开速度慢……
遇到这类问题,多数人都会把锅推给系统,但其实这些都是表面现象。
操作系统完成一个任务时,与系统自身设置、网络拓朴结构、路由设备、路由策略、接入设备、物理线路等多个方面都密切相关,任何一个环节出现问题,都会影响整个系统的性能。
Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、tomcat、mysql、php等。
开源软件的最大理念是自由、开放,而linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用最优的性能。
因此,谈到性能问题,主要实现的是linux操作系统和应用程序的最佳结合。
我会从三个角度,即影响Linux性能的因素、系统性能优化工具、系统性能评价标准三个方面介绍优化的一般思路和方法。
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
01影响Linux性能的因素
1. 系统硬件资源
(1)CPU
CPU是操作系统稳定运行的根本,CPU的速度与性能在很大程度上决定了系统整体的性能,因此,CPU数量越多、主频越高,服务器性能也就相对越好。但事实并非完全如此。
目前大部分CPU在同一时间内只能运行一个线程,超线程的处理器可以在同一时间运行多个线程,因此,可以利用处理器的超线程特性提高系统性能。
在Linux系统下,只有运行SMP内核才能支持超线程,但是,安装的CPU数量越多,从超线程获得的性能方面的提高就越少。
另外,Linux内核会把多核的处理器当作多个单独的CPU来识别,例如两个4核的CPU,在Lnux系统下会被当作8个单核CPU。
但是从性能角度来讲,两个4核的CPU和8个单核的CPU并不完全等价,根据权威部门得出的测试结论,前者的整体性能要比后者低25%~30%。
可能出现CPU瓶颈的应用有db服务器、动态Web服务器等,对于这类应用,要把CPU的配置和性能放在主要位置。
(2)内存
内存的大小也是影响Linux性能的一个重要的因素,内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应;内存太大,导致资源浪费。
Linux系统采用了物理内存和虚拟内存两种方式,虚拟内存虽然可以缓解物理内存的不足,但是占用过多的虚拟内存,应用程序的性能将明显下降,要保证应用程序的高性能运行,物理内存一定要足够大。
但是过大的物理内存,会造成内存资源浪费,例如,在一个32位处理器的Linux操作系统上,超过8GB的物理内存都将被浪费。
因此,要使用更大的内存,建议安装64位的操作系统,同时开启Linux的大内存内核支持。
由于处理器寻址范围的限制,在32位Linux操作系统上,应用程序单个进程最大只能使用4GB的内存。
这样一来,即使系统有更大的内存,应用程序也无法“享”用,解决的办法就是使用64位处理器,安装64位操作系统。
在64位操作系统下,可以满足所有应用程序对内存的使用需求 ,几乎没有限制。
可能出现内存性能瓶颈的应用有NOSQL服务器、数据库服务器、缓存服务器等,对于这类应用要把内存大小放在主要位置。
(3)磁盘I/O性能
磁盘的I/O性能直接影响应用程序的性能,在一个有频繁读写的应用中,如果磁盘I/O性能得不到满足,就会导致应用停滞。
好在现今,磁盘都采用了很多方法来提高I/O性能,比如常见的磁盘RAID技术。
通过RAID技术组成的磁盘组,就相当于一个大硬盘,用户可以对它进行分区格式化、建立文件系统等操作,跟单个物理硬盘一模一样,唯一不同的是RAID磁盘组的I/O性能比单个硬盘要高很多,同时在数据的安全性也有很大提升。
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
根据磁盘组合方式的不同,RAID可以分为RAID0,RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID0+1、RAID10等级别,常用的RAID级别有RAID0、RAID1、RAID5、RAID0+1。
(4)网络宽带
Linux下的各种应用,一般都是基于网络的,因此网络带宽也是影响性能的一个重要因素,低速的、不稳定的网络将导致网络应用程序的访问阻塞,而稳定、高速的网络带宽,可以保证应用程序在网络上畅通无阻地运行。
幸运的是,现在的网络一般都是千兆带宽或光纤网络,带宽问题对应用程序性能造成的影响也在逐步降低。
02操作系统相关资源
基于操作系统的性能优化也是多方面的,可以从系统安装、系统内核参数、网络参数、文件系统等几个方面进行衡量。
1. 系统安装优化
系统优化可以从安装操作系统开始,当安装Linux系统时,磁盘的划分,SWAP内存的分配都直接影响以后系统的运行性能。例如,磁盘分配可以遵循应用的需求。
对于对写操作频繁而对数据安全性要求不高的应用,可以把磁盘做成RAID 0;
而对于对数据安全性较高,对读写没有特别要求的应用,可以把磁盘做成RAID 1;
对于对读操作要求较高,而对写操作无特殊要求,并要保证数据安全性的应用,可以选择RAID 5;
对于对读写要求都很高,并且对数据安全性要求也很高的应用,可以选择RAID10/01。
这样通过不同的应用需求设置不同的RAID级别,在磁盘底层对系统进行优化操作。
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
随着内存价格的降低和内存容量的日益增大,对虚拟内存SWAP的设定,现在已经没有了所谓虚拟内存是物理内存两倍的要求,但是SWAP的设定还是不能忽略,根据经验,如果内存较小(物理内存小于4GB),一般设置SWAP交换分区大小为内存的2倍。
如果物理内存大于8GB小于16GB,可以设置SWAP大小等于或略小于物理内存即可。
如果内存大小在16GB以上,原则上可以设置SWAP为0,但并不建议这么做,因为设置一定大小的SWAP还是有一定作用的。
2. 内核参数优化
系统安装完成后,优化工作并没有结束,接下来还可以对系统内核参数进行优化,不过内核参数的优化要和系统中部署的应用结合起来整体考虑。
例如,如果系统部署的是Oracle数据库应用,那么就需要对系统共享内存段(kernel.shmmax、kernel.shmmni、kernel.shmall)、系统信号量(kernel.sem)、文件句柄(fs.file-max)等参数进行优化设置。
如果部署的是Web应用,那么就需要根据Web应用特性进行网络参数的优化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tcp_tw_reuse、net.core.somaxconn等网络内核参数。
3. 文件系统优化
文件系统的优化也是系统资源优化的一个重点,在Linux下可选的文件系统有ext2、ext3、ReiserFS、ext4、xfs,根据不同的应用,选择不同的文件系统。
?
编辑切换为居中
添加图片注释,不超过 140 字(可选)
Linux标准文件系统是从VFS开始的,然后是ext,接着就是ext2,应该说,ext2是Linux上标准的文件系统,ext3是在ext2基础上增加日志形成的,从VFS到ext4,其设计思想没有太大变化,都是早期UNIX家族基于超级块和inode的设计理念。
XFS文件系统是一个高级日志文件系统,XFS通过分布处理磁盘请求、定位数据、保持Cache 的一致性来提供对文件系统数据的低延迟、高带宽的访问,因此,XFS极具伸缩性,非常健壮,具有优秀的日志记录功能、可扩展性强、快速写入性能等优点。
目前服务器端ext4和xfs是主流文件系统,如何选择合适的文件系统,需要根据文件系统的特点加上业务的需求综合来定。
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
相关推荐
- 手把手教你30分钟搭建企业官网:零基础也能搞定的傻瓜式教程
-
想给公司做个网站展示产品,又怕被程序员忽悠花冤枉钱?今天教你个绝招——用现成的网站模板"拼"网站!就像搭乐高一样简单,全程鼠标点点就能搞定,连代码都不用碰。第一步:挑个合身的"...
- 以Twig模板为例浅学一手SSTI(twig中文)
-
什么是SSTISSTI:开局一张图,姿势全靠ySSTI,即服务器端模板注入(Server-SideTemplateInjection)...
- 成功上岸腾讯运营,教你如何写校招简历?
-
产品策划/运营的校招简历应该怎么写?作者从自身实际情况出发,总结分享了相关经验,希望对你有用。写在前面红红火火恍恍惚惚,本人是一位2020届本科毕业生,校招意向互联网产品类。此前有过产品相关的项目&a...
- 50个精彩的响应式HTML和CSS模板:上
-
自由设计固然是一件好事儿,然而经常关注先进的设计作品,久而久之,就会帮你节省更多的布景设计时间,视觉效果也明显会更为专业,可以参考以下这些响应式HTML/CSS模板,实用性高,你肯定能从中汲取不...
- 你的人生,有多少“模板”?(扣好人生第一粒扣子手抄报模板可打印)
-
你浏览网页时,注意过那些海报吗?海报不仅仅是广告,还可以传递新闻信息,也常常摘要一些金句热词。作为一种新的传播形式,海报传递信息,简洁快捷,鲜明突出,往往有意想不到的效果。然而,做一张网络海报并不容易...
- 5款值的推荐的高效工具软件(高效工作软件哪个好用)
-
现在,有很多实用的工具和软件可以帮助我们更高效地完成各种任务。以下是几个值得推荐的工具和软件,能够极大地提高我们的工作效率。1.矢量设计——AffinityDesigner...
- 广州津虹YY直播成立“麦絮”厂牌 打造直播界短剧新标杆
-
3月31日,广州津虹YY直播在广州举办了生态大会暨麦絮短剧星光点映礼,宣布正式成立短剧厂牌“麦絮”,旨在宣传和推广自制短剧。广州津虹YY直播计划聚焦生态故事,与旗下公会、主播,以及百度、七猫、爱奇艺、...
- 广州哪家小程序开发公司比较靠谱?这三家值得推荐
-
小程序已成为企业数字化的重要工具,广州作为互联网产业重镇,小程序开发公司众多。如何选择靠谱的服务商?本文推荐三家实力突出的公司,供您参考。一、广州聆科网络技术有限公司本土老牌技术团队,专注小程序定制开...
- 西北嚎狼解析SEOer如何写好优质的软文
-
什么是软文?狭义:指企业花钱在报纸或杂志等宣传载体上刊登的纯文字性的广告。广义:企业通过策划在杂志或网络等宣传载体上刊登的提升企业品牌形象和知名度。软文:以摆事实讲道理的方式使用使消费者走进企业设定的...
- 花了15分钟答题,成功成为内容品鉴官了
-
午后的阳光在手机屏上碎成光斑,我盯着弹窗里闪烁的「恭喜」二字,指尖悬停在半空忘了动作。第三次了,那些被题库支配到深夜的郁结,此刻正顺着喉咙往上涌,最终化成一声压在胸腔里的叹息——这次终究是不同的。(一...
- 怎样写出能突破一切封锁的好广告(怎样写出能突破一切封锁的好广告作文)
-
每天拿出一分钟来学习,你得生命会更加精彩,我是洪雨有个朋友跟我讲,“现在发广告真难啊,发个链接就被删了,有时候你起的名字里带点广告都不行,引流真难啊……洪雨为什么你几乎可以在任何地方做广告,是怎么做到...
- 你能看出几个广告?软文分享《一个程序员的一天》
-
从电视广告到平面广告,再到各个banner、病毒视频、软文、HTML5等等等,各家公司为了给自家的产品做广告费尽了心思,无所不用其极。小编近日看见一篇文章,一时间竟没反应出这是一篇软文!只能说6666...
- 中小企业发稿总被拒?资深编辑教你3招软文发布轻松过审
-
中小企业新闻媒体发稿经常被拒怎么办?资深编辑教你3招软文发布轻松过审:发稿流程和投稿要点、注意事项分享...
- 「源生活」那些让人惊喜的中秋节软文广告
-
说起中秋节,我相信很多人会想起来很多物品,小编想到的是:水果,月亮,月饼,鲜花。此外还有数不尽好广告,好文案。当然了中秋节作为下半年的第一个大节日,显得就比较重要了。特别是又是传统佳节,又是法定节假日...
- 软文案例标题和内容怎么写(软文优秀案例)
-
1:软文营销专家南昌牛推科技(媒介星软文平台)全网营销+一对一服务成长软文案例标题和内容怎么写?软文营销专家南昌牛推科技(媒介星软文平台)全网营销+一对一服务成长,从业务经验出发分享一些心得。软文标题...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 网站建设 (107)
- 百度收录 (50)
- 搜索引擎排名优化 (49)
- 关键词优化工具 (51)
- 外贸网站建设 (56)
- seo整站优化吧 (50)
- 苏州网站建设 (59)
- 百度搜索推广 (61)
- 关键词优化公司 (51)
- 广州网站建设 (48)
- 电商网站建设 (49)
- 百度站长平台 (48)
- 网站模板 (51)
- 厦门网站建设 (52)
- 百度快照推广 (51)
- 免费网页在线客服系统 (53)
- 雷神代刷网站推广 (53)
- 手机网站建设 (53)
- 网站维护 (53)
- 网页制作教程 (66)
- 百度收录批量查询工具 (48)
- 网站服务器 (53)
- 学生个人网页制作html (56)
- 一键优化 (67)
- 网页制作软件 (49)