flyzy博客
分享便宜VPS与网络优惠
搬瓦工

网站图片全部使用base64可行吗?

站群,一台杜甫,本地静态文件(html、图片)总数大概一两千万,单个图片容量小于500k。最近服务器的磁盘io一直100%,队列高达10左右,硬盘先要撑不住了。

现在能想到几种办法,硬件上的是:
1.加大内存,128G以上的内存做文件缓存,应该能缓解。
2.使用raid0 / 增加多台机器,简单粗暴。
3.直接一步到位上SSD,从根本上解决io问题。

此外我还有个软件上的想法:将所有图片直接编码为base64,插入到本地静态html中,每次用户访问可以减少10次左右的图片文件读取,这样是否也会极大的缓解磁盘io压力?

优点是,由于目前磁盘储存空间充足,cpu性能充足,这种方案不需要折腾数据迁移,且成本不变,只需要花点时间修改程序,重新生成一遍html即可。         当然代价是cpu、硬盘储存空间和图片的后期维护性。

请问各位d大的,这种base64储存图片的方案,是否可行呢?

湖南省网友说:图片经 base64 编码会增加硬盘占用

https://www.zhihu.com/question/31155574

河北省网友说:读图片是IO,读HTML就不是io?原本是并发10个http请求,每个小于500k,现在变成单线程读取好几M甚至几十M。你可真是个人才

湖北省网友说:研究研究图床技术吧

贵州省网友说:大图用base64转出来很长吧

青海省网友说:HZ的nvme应该能够满足你

安徽省网友说:图床毕竟不可靠,不在自己控制范围里~

江西省网友说:别折腾那些了 直接干脆点m.2 你就算折腾了B64你还是要换硬盘
还有个办法就是CDN节点缓存 缓存之后直接从CDN节点读取 不经过服务器

甘肃省网友说:不合适,

甘肃省网友说:上cdn呐  分流啊

福建省网友说:这倒是,不过只要可行的话,base64转出来也是一劳永逸的事,也算划算了.

海南省网友说:大佬你这说到点子上了,我就是在考虑这个。到底是多次读取随机小文件io压力大,还是一次读取大文件压力大?

河南省网友说:静态不用CDN,是等爱情吗?

福建省网友说:我觉得还是图片分流吧,例如pic.your.com单独做图床,然后,分个五到七台机器上去。这样哪怕断一个二个,也只会对用户起最小范围的影响。

青海省网友说:建议图片走CDN服务分流。现在CDN费用那么低

江苏省网友说:只能缓存。。。 没有办法

吉林省网友说:静态文件上CDN啊,最差上个CF也行

湖南省网友说:b64并不会解决目前的问题。图片站必需上CDN。

浙江省网友说:图片存到别的服务器上, 业务分离才是正确方法. 而不是你这种方法

贵州省网友说:不如把他存到oss或者图床里面 ,base64加密解密也浪费CPU

海南省网友说:既然这样,不如把所有图片预先全部读到内存里面,需要的时候从内存取

福建省网友说:我的网站没几张图片,除了SVG格式的图片以外,全部都是使用Base64编码的,速度不错。

山西省网友说:真是个人才,图片变成 base64 以后体积要增加多少哦,还不是一样废 IO

吉林省网友说:那你数据库好大。。。。。

黑龙江省网友说:丢 静态存储不就行了 CF COS 等都有 什么都不用担心 费用比自建便宜

湖北省网友说:图片经 base64 编码会增加硬盘占用

https://www.zhihu.com/question/31155574

陕西省网友说:自建图床,图库分离

山西省网友说:大哥,base64会增加三分之一的大小并且不可缓存,解码慢,你这硬盘能省多少。。。

浙江省网友说:可以,之前看一个黄站就是把图换成base64

赞(0) 打赏
关注我们
未经允许不得转载:flyzy博客 » 网站图片全部使用base64可行吗?
分享到: 更多 (0)

这是一种鼓励

支付宝扫一扫打赏

微信扫一扫打赏