ivx中字体显示_iVX云服务费用优化 · 上篇

本文全文字数:   3308

预计阅读时间:   10 分钟

本文篇幅较长,建议亲亲能够完成阅读,将会学到不少干货哦~❤️

本文目录

一虚拟机

->我们为何关闭了之前的虚拟机服务?

->是否有新的虚拟机计划?

二流量优化

->静态流量优化方案

静态流量:每个案例打开时,产生的流量

->动态流量优化方案

动态流量:从数据库或者后台返回的图片或视频等资源产生的流量

三常见的“巨”坑

->视频投票案例常见“巨坑”

->“巨坑”填平建议(强烈)

最近收到了很多同学的抱怨和顾虑,觉得iVX的云服务费用太高了,不可控,希望可以恢复之前的虚拟机服务,让运维费用完全可控。

我先来回复一下关于虚拟机服务的问题,然后教大家怎样优化案例的流量费用部分,读完这篇“秘籍”,大家可能就会觉得控制流量费用完全是可行的了。

一虚拟机

1 为何关闭了虚拟机服务?

平台的成本不可控

运行一个案例,除了需要计算服务器,还需要mysql数据库、redis、ES全文搜索数据库、对象存储、连接服务器、公共的网关/api服务等等资源,特别是我们用aws高保障可伸缩mysql数据库,成本非常高。

我们无法将这些服务成本公平的“平摊”给每个计算服务器,因此每个“虚拟机”只是收取了纯计算的成本,这个对于平台来说无法覆盖成本,因此,我们只能暂时暂停了这个服务;

运维不可控

虚拟机里的后台代码是不会自动更新的,因此,当平台更新了一些新功能,案例重新部署至虚拟机可能会出现问题,需要一个一个去维护更新,这个工作量非常大,如果要重新上线虚拟机,我们需要重新开发一套虚拟机管理系统。

2 是否有新的虚拟机计划?

这个我们已经在技术上测算过是可行的,但新的虚拟机(或者叫“虚拟系统”更为确切),我们需要将所有的资源,特别是数据库部分,打包进虚拟资源。

如果用户购买一整套虚拟资源,其实就是我们帮你维护部署了一整套aws系统。这个系统我们测算过,最低的配置,每个月的硬成本大约是1800+。这个成本,我们认为对于个人用户来说还是偏高,因此这个方案还在内部讨论中。

二 流量优化

接下来,我们来详细讨论一下怎样在公共平台的投放上省钱。

由于最近收到很多关于流量扣费的问题,因此在这部分中我主要来讲一下流量的优化。

iVX的扣费项目主要是两项:

👉流量

👉后台服务器运算

本期我们主要讲流量部分的扣费。

iVX的流量扣费,包括两个部分,一个是静态流量,一个是动态流量。

静态流量

我们先来讲静态流量。

静态流量,即每个案例打开时,产生的流量,其计算方法为:案例静态大小*打开次数 (这里的打开次数,仅计算正式发布上架地址的打开次数,测试发布的,不计算在内)

所以,

案例静态大小 = 案例资源大小 + 案例JS包大小

案例的资源大小,我们可以在发布界面中看到:

案例的js包大小,需要发布,系统对代码进行编译之后,才能够知道,因此在未发布时,看不到。

JS包的大小,我们可以通过这个地址来查询:

https://v4rel.h5sys.cn/api/10328579/nodelookup?nid=xxx

其中,xxx,就是你的案例的nid;

但只要不是特别变态的案例,一个案例的JS包,通常不会超过2-3M,我们可以取2.5M来做一个预估。因此,我们的工作主要是优化素材资源的大小。

举个例子,

如果我们将整个案例的静态大小控制在5M,

那,播放1000次的流量成本是:5*1000/1024*0.3=1.46元,这个成本对于一个商业案例来说,基本可以忽略了。播放1w次,也是14.6元。

根据我们的经验,通常一个营销类型的活动投放,不太会超过5w次,中小型的,不会超过1w次。这个成本,可以提前和客户沟通好。

那接下来的问题是,我们怎样压缩素材资源:

图片,尽量小于100K

根据我们的经验,对于移动端的图片来说,无论舞台是375宽还是750宽,一个全屏的背景图,100k,足够清晰了。

如果发现不清晰,那可能是这个图片的编码格式问题,大家可以试试官方推荐的图片压缩工具:tinypng.com。

我这里上传一个ios的桌面背景图大家感受一下:

上面这个图片的大小是53k。即使你觉得不够清晰,那*2倍的清晰度,在手机上也足够了。

因此,千万不要被设计师误导,设计师们喜欢用尽量高清的图,因此他们的电脑也都是顶配的专用机器,否则根本都跑不起来他们的项目。

作为开发者,我们一点要把资源优化放在第一位,这不仅仅可以省钱,而且可以大大提高用户打开案例的速度,提高用户体验。

优化字体包

有一个常见的“坑爹”的操作是上传一个没有剪裁过的字体包。即在普通文本的字体里,选择自定义上传字体:

如果我们上传的是中文字体包,基本上都是超过1M的,超过10M也不奇怪。

大家可以尝试上传一个中文字体包,然后去发布界面看一下,通常,字体包就是排在第一个的资源:

为啥字体包那么大?

因为中文的字体包,要包含所有常见的中文字,尽管你可能只是用了100个,但这个包里,可能包含5000+个字,所以就很坑流量了。

针对这种情况,主要有两种优化的方法:

使用中文字体组件

中文字体,是服务器动态生成的字体,可能会消耗一点动态的计算和流量,但生成图片这个计算很有限,对比一个5M+的字体包,会省钱很多;

剪裁字体包

网上有很多剪裁字体包的工具,可以将我们需要的字,从一个大的字体包里“提取”出来。

比如,我们只用了100个字,就可以把这100个字从5000字的字体包里抽取出来,这样字体包的大小也可以变成之前的50分之一。

针对各种网上的字体包压缩工具,我还没有详细评测过,欢迎大家在论坛评论区推荐~~

但注意,剪裁字体包的方法,只能适用于静态的文本,如果是用户输入的文本,也要支持使用自定义字体,那只能使用中文字体了。

使用动态流量来代替静态流量

动态流量,即在案例加载完成之后再去加载的资源。

比如,我们有一个很大的视频,需要在案例里播放。这个时候,如果我们把视频直接在视频组件里上传,那视频就会作为静态资源,出现在发布界面的“素材列表”中,所有出现在这个列表中的资源,都会在案例打开的时候加载,计算入静态流量。

但如果这个视频,不需要初始化就自动播放,而是需要用户点击之后才播放的,那这个时候,我们完全可以上传视频并把视频的url地址记下来,然后在用户点击播放的时候,在事件里对视频组件进行赋值,再让它加载这个url。

这样,这个视频就只有在用户点击的时候,才会加载视频产生流量,而不是在初始化的时候就产生所有视频的加载流量。

由于并不是每个打开案例的用户都会点击视频(或者点击所有的视频),因此,这个方法可以节省掉很多不必要的流量加载。

动态流量

接下来,我们来讲一下怎样优化动态流量。

动态流量,即从数据库或者后台返回的图片或视频等资源产生的流量。

这些资源,不包含在案例静态包中,因此,会根据实际的使用情况来计算流量。(注意,中文字体组件,也是一种动态产生的图片,也会计算在动态流量中,而不是静态流量)

我们有一个工具可以检查动态流量

在案例发布地址(不一定需要上架)后面添加URL参数 logsize=1

例,

https://www.ivx.cn/test/cdn?logsize=1

在每次加载动态资源的时候,会在控制台,把当前新增的动态流量,以及本次打开的所有动态流量显示出来。

实例链接案例中,点击两个文本,可以从后台输出两个图片,我们会在控制台看到两个记录:

01

02

每条记录包含两个值,第一个值代表当前总动态流量,第二个值代表当前额外新增的流量。

三 常见“巨”坑

针对动态流量的优化,除了以上提到的尽可能优化素材大小以外,还有一个常见的坑。

这个问题,我这边近期碰到过3个案例,都是做视频投票,都产生了巨大的流量。

视频投票的案例,产生大流量的原因主要有二:

原因之一:用户自主上传的视频很大

用户自主上传的视频很大,动不动就是100M,那这个时候,我们要在列表里显示这个视频,就会非常烧钱了。想象一下有20个候选人,每个人上传了一个100M的视频……

这个时候,我们可以首先考虑限制视频的大小或时长。

推荐解决方法

👉请用户自行压缩视频。

👉或者做一个候选人审核的功能。

即不是用户提交了申请就马上让他出现在候选人列表中,而是需要通过审核。在审核的时候,我们完全可以去压缩一下他的视频。

👉实在不行,我们可以定时去数据库里看一下资源,然后手动压缩视频之后,替换。

原因之二:在列表里直接显示视频

如果在候选人列表里直接显示视频,那只要用户进入候选人列表,视频就会开始加载,产生流量。

但注意,此时在列表阶段,用户并不会真的去一个一个视频点开来看。

因此,我们在这个阶段,浪费了非常多的资源。

另外,注意数据库设置分页输出,否则,用户一滑列表,加载一堆视频,我们就开始烧钱了。

此时,我们要优化候选人列表。

推荐解决方法

👉在列表里设置显示视频的封面图。

iVX的上传视频功能,可以直接获取到封面图,我们将这个封面图,存在另一个字段里,在列表里只显示图片,那就可以避免巨大的流量消耗了。

👉注意数据库分页输出。

就是每次加载只输出当前页面所需要的素材,比如10个,然后当用户滑到底部的时候,再去加载另外10个,这样也可以很好的节省动态资源。

以上,就是我们对流量部分的优化总结,欢迎大家在论坛评论区提出更多建议~~

总之,

在发布时查看素材大小,

尽量控制在10M以内,

并通过?logsize=1,

检查案例的动态资源加载,

学会这些技巧,

相信你也会觉得控制流量费用不是问题了~~

彩蛋

推荐一个字体裁剪工具

https://font-subset.disidu.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R pdf大小_限时免费获取 Mac上PDF压缩工具《Enolsoft PDF Compressor》

文章末尾有获取方式,按照以下步骤就能得到。我们不破解软件,所有优秀软件均来源于网络你的pdf文件太大使用不方便吗?赶紧来试试专业PDF压缩工具Enolsoft PDF Compressor破解版吧!可以快速的压缩PDF文件的大小,支持批量…

未来十年有望改变世界的五大发现

来源:科技日报 浮云一别后,流水十年间!21世纪第二个十年已悄然离开。过去十年,不少革命性突破和发现给人类生活和认知带来重大变革:希格斯玻色子填补了“标准模型”最后一块拼图,深化了人类对物质本质的理解…

fceux模拟器linux,FCEUX模拟器

FCEUX模拟器是一款游戏模拟器,可以用于FC/NES模拟器的游戏模拟,在模拟器中玩家可以游玩到那些经典的FC游戏,也就是我们所说的那些红白机游戏,比如经典的魂斗罗、超级马里奥等等,让你回到过去,回温这些经典的…

sql server select和set赋值的区别

--SQL Server中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT --当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法 (1)SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值 select p…

ddos应急处理_写给十九大安保应急的兄弟们 来看看DDOS攻击应急预案

阅读:4,205十一国庆以及紧接着的十九大即将到来,各位十九大安保应急的兄弟们都已经奔赴各自的一线,万事俱备只欠东风,大家的神经都紧绷着,紧急有序执行DDOS应急预案。“养兵千日用兵一时”,我们在平时把该做的准备都做…

el-table 树形表格 自定义展开图标_Image2icon for Mac(icon图标设计软件)

image2icon mac破解版是运行在Mac OS平台上的专业图标制作工具,用它可以创建你自己的Mac图标,并自定义文件和文件夹的icon图标。image2icon mac功能介绍轻松创建图标 厌倦了你的标准mac图标?您想个性化您的文件或文件夹吗?Image2i…

科技创新2030“新一代人工智能”重大项目2020年度第一批项目申报指南建议征求意见稿...

来源:锐动源编辑部设计:种 瑞审核:李建荣根据《国务院关于改进加强中央财政科研项目和资金管理的若干意见》(国发〔2014〕11号)、《国务院关于深化中央财政科技计划(专项、基金等)管理改革方案…

51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机C语言蜂鸣器发声生日快乐播放程序...

《51单片机C语言蜂鸣器发声生日快乐播放程序》由会员分享,可在线阅读,更多相关《51单片机C语言蜂鸣器发声生日快乐播放程序(4页珍藏版)》请在人人文库网上搜索。1、按键发音/* 名称:按键发音说明:按下不同的按键会是SOUNDER发出不…

数据结构与算法系列——从菜鸟到入门

持续更新系列。 参考自:《数据结构与算法分析——Java语言描述》、《算法导论》 排序 数据结构——快速排序 数据结构——堆排序 数据结构——归并排序 数据结构——计数排序 数据结构——基数排序 队列和栈 链表 搜索 数据结构——二分搜索 二叉树 数据结构——二叉…

同时多个axios请求_用 React+Antd 封装 Axios 实现全局 Loading 效果

前言今天在做 react 后台管理的时候要实现一个全局 Loading 效果,通常使用 axios 库与后端进行数据交互。为了更好的用户体验,在每次请求前添加一个加载效果,让用户知道在等待加载。要实现这个功能,我们可以在每个组件请求手动添加…

jdk8 stream去重复_重复文件查找和清理工具

在Mac上怎样可以快速搜索和清理重复文件呢?小编建议您使用Tidy Up for Mac,是非常强大而使用简单的一款重复文件清理工具,Tidy Up 5带有简单的搜索模式,并且包括80多种预定义的智能搜索,可以快速而准确的帮助您查找重复…

c语言注释参与程序设计的编译,提高C语言程序设计教学的有益探索

摘要:在很多学校中,C语言的教学在学校的整个计算机编程语言的教学中占有很大比重,越来越多的学校认识到C语言的程序设计在整个编程中的所扮演的基础性的角色。关键词:C语言;教学;程序设计中图分类号&#x…

《科学》杂志展望2020年十大科学头条

来源:新华网 美国《科学》杂志2日刊文展望了2020年可能成为头条的十大科学新闻,中国建造全球首台E级超算、“基因剪刀”技术发布临床试验结果等入榜。这一权威学术刊物预测,中国有望在2020年建造出世界第一台E级超算。E级超算即百亿亿次超级计…

Android技巧分享——Android开发超好用工具吐血推荐 转载

内容中包含 base64string 图片造成字符过多,拒绝显示转载于:https://www.cnblogs.com/ydkf85/p/6562373.html

javaee实验报告心得_JavaEE实验报告.doc

JavaEE实验报告学 生 实 验 报 告(理工类)课程名称: J2EE程序设计 专业班级:学生学号: 学生姓名:所属院部: 信息技术学院 指导教师:20 13 ——20 14 学年 第 2 学期金陵科技学院教务处制实验报告书写要求实…

visual2019没有勾选的在如何加入_【CAD教程】CAD软件中如何打散不可分解的块?...

你我共享,快乐学习☀想认识志同道合的朋友一起学习CAD?请加入我们的QQ群648869816CAD中打散图块可以用“分解”命令(快捷键是X)。但是如果出现定义块的“允许分解”前面没有打钩,那么这个块形成后是无法通过X分解的,如下图所示。那…

哪些动物拥有惊人的数学天赋?

来源:新浪科技猩猩、鹦鹉、蜜蜂, 甚至连老鼠都会数数,它们甚至还会计算。这种能力是动物们物竞天择的优势,例如,在觅食时的优势。动物的数学天赋已经被科学家研究过很多次了,每次结果都很有趣。知道有多少敌…

c语言中有关main的问题,c语言小问题

2008-03-13while语句void main(){int a0,n;printf("\n input n: ");scanf("%d",&n);while (n--)printf("%d ",a*2);}do-while语句void main(){int a0,n;printf("\n input n: ");scanf("%d",&n);do printf("%d …

python画图配色_python matplotlib包图像配色方案分享

可选的配色方案:Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel…

miniui 样式第一次加载不出来_小程序设计规范及经验分享(附最新样式库)

点击上方蓝字,关注行设视觉本文已获得作者授权,发布于行设视觉,转载请注明出处。作者 | 孙青Cynthia_Sunhttps://www.zcool.com.cn/article/ZOTM4NjQ0.html2019 新版小程序控件设计规范源文件见底部说明正文最近设计群里经常有人问起小程序设…