降本增效把资源最大化利用是一种优雅,你的每一滴流量都会用的更有价值,资源的节约从来不是多此一举。
总是离不开老有人再说“哎呀,我的服务器内存又不够了”、“哎呀,我服务器流量又用完了”、“哎呀,我服务器宽带跑满了”、“哎呀,我CDN套餐流量快用完了”、“哎呀,我MySql又把CPU跑满了”,这一切都是你完全不懂得优化,把每次请求、每次计算都浪费在了低价值工作,你开车都知道尽量确保发动机低档低转高档高转,否则高转低档既费油又增加发动机压力,你也知道空调费电所以你才不敢24H一直开着空调面临天价电费账单或者购买功耗更低的空调,每一处都需要精打细算在云计算行业也是同理,为了确保图片、视频得加载速度你会尽量得优化图片的压缩算法,会用更先进得编码来转码视频得到更高的压缩比,你因为内存总是不够用但囊中羞涩所以你会开启ZRAM内存压缩并用最高效率的压缩算法,你因为MySql总是因为请求造成的大量Sql查询导致MySql产生巨大的资源占用所以你采取了Redis缓存、Json本地文件缓存,你因为CDN、服务器的流量不够用所以你会优化缓存规则尽量确保资源不回源服务器来节约CDN的回源流量也节约了你服务器的宽带和流量。每一步都需要精打细算所以我会告诉你运维场景中的各种降本增效的实用方案。
CPU/内存:
- 不动任何程序情况下可以对系统开始下手,Linux中现在有一个非常成熟的ZRAM内存压缩技术,压缩比通常都在1:5左右,也就相当于你1GB的内存可以当5GB的内存使用,代价也非常非常低,即便是压缩比效率最高的压缩算法也仅仅只是微量增加了CPU的计算量,如下图所示是一个4H8G的云服务器,配置了15G的ZRAM+8G的传统硬盘SWAP兜底,相当于8G的内存变成了8+15+8=31G,不过这是最极限的情况下,图中我把硬盘SWAP的优先级设置成了最低所以几乎快满了也没有用到硬盘SWAP,CPU占用还是在部署了诸多服务的情况下也才占用百分之14,ZRAM内存压缩配置教程可以看图片下方的文章
![图片[1]-运维降本增效 - 日出资源网-日出资源网](https://img.cdn1.vip/i/6a8c648fa9ac8_1787585679.png)
- 系统层面上对内存进行了优化那么就该考虑到你的程序了,尤其是要用到数据库如MySql等数据库的程序,每一次Sql查询事实上都会产生不小的资源占用和计算量徒增CPU占用和内存占用,当然这里不会教你太难的方案因为我也嫌麻烦,第一种就是大家常说的Redis缓存,但是一般我觉得这种会对程序的改动比较大也已经算是一种稍微高级点的方案了,但既然是缓存你可以将那种不需要频繁查询或更新的数据缓存成Json文件,逻辑就是假如博客上的一篇文章的浏览数量并不需要太过苛刻必须实时最新的浏览数量,那么你可以升级成当用户请求查看该文章的浏览数量的时候会先查看缓存目录中是否存有该文章的Json缓存或该Json缓存是否超过10分钟过期时间,第一种情况是缓存命中且Json缓存并没有过期那么本次返回的浏览数据是直接获取的这个Json文件整个过程没有Sql查询仅仅只是一个本地文件的读取大大减少了Mysql压力,第二种则是Json缓存不存在或过期,那么你升级的程序就会Sql查询数据库来返回本次查询的数据返回给用户同时生成Json缓存文件供下一次请求直接读取,也就代表着这个浏览数量即便是1万次查询最终仅仅只是每10分钟Sql查询一次而已。而对于比较成熟的WordPress这种博客程序Redis缓存并不需要你自己去修改程序、开发,有现成的Redis缓存插件可以直接用可以参考以下的文章。
先写这一部分,剩下的明天更新......
© 版权声明
文章版权归作者所有,未经允许请勿转载。部分内容可能来自网络,如侵权请联系修改~
THE END















暂无评论内容