首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
V2EX  ›  云计算

[为 1Mbps 正名] 单日 15 万 PV 证明 1Mbps 对小网站来说完全够用

  •  5
     
  •   eason1874 · 20 天前 · 11653 次点击
    一个网站,每天约 6 万 IP,15 万 PV,每 PV 包括 favicon.ico 在内约 10 个请求,每 PV 所有资源 Gzip 压缩后加在一起约 30KB~50KB (专门优化过页面资源)。

    偶尔流量上升,所以常备 1~3 台 5M 机器以防万一,静态资源也放到了 CDN。但我还是有带宽焦虑症,因为 1M 算下来 125KB/s,一个页面 10KB 也就支持 10 个页面并发,5M 也就支持 50 个页面并发。这个网站就是普通网站,流量集中在上午、下午、晚上三个时间点,一百几十个人同时在线很常见。

    平时我看控制台服务器监控的外网出入带宽总在 10KB/s 左右,高峰也很少超过 20KB/s,总怀疑是不是监控不准。

    今天(现在凌晨,应该说是昨天了),我发现腾讯云副网卡绑定的弹性公网 IP 可以按流量计费,服务器主网卡带宽只有 1Mbps,副网卡申请的按流量计费的弹性公网 IP 最高却可以调到 200Mbps。

    于是我手痒了,开了个 20Mbps 的 IP 绑定到副网卡来代替 CDN 工作,测试一天带宽峰值。这个是按量计费我相信统计肯定不会错。同时在云监控设置了告警,条件是一分钟内出带宽超过 1Mbps 就告警,结果一整天什么都没收到。

    刚上后台看了看统计,平均峰值在 35KB/s,最高峰不到 80KB/s,一小时最多跑约 140M 流量,一天请求总共 50 万多点。账单计费已经经过精度调整了,肯定没错了。

    依据这个数据来看,其实 1Mbps 带宽的 125KB/s 速率就已经可以满足单日 15 万 30KB~50KB 的 PV,甚至有很多富裕。

    这个网站页面资源是比较少的,一个页面资源总量相当于常见网页 HTML 大小,但一般网站也会把静态资源放到 CDN,这样算下来常见网页也是 30KB~50KB / PV。

    比如 V 站首页 15KB,回复比较多的帖子 30KB,按 30KB 来算,粗略估计 1Mbps 可以满足 V 站用户每天摸鱼看帖 20 万~30 万次。

    所以说,正经做网站 1Mbps 不算小水管了,多数情况下这个量级的 PV 访问还没把带宽占满 MySQL 之类的进程就先宕机了,我也是把页面静态化才能在 1 核 1G 的机器上扛得住 10 万 PV,不然 MySQL 进程一天至少被挤掉一次。
    165 回复  |  直到 2019-11-11 20:12:05 +08:00
    1  2  
        101
    eason1874   20 天前
    @BOOM #94 机器不同地域的,买的时候就是奔着容灾去的,所以不买一个地域的。快到 25 岁了,要超过购买学生机的年龄,最近确实有想法购买学生版云数据库,一个月 3 元,接近白嫖,不过如果买来没有业务用上的话我浑身不舒服,我还是得先找好用途再好,哈哈哈
        102
    myqoo   20 天前
    都 9102 年了为什么还用 gzip,而且带宽这么苛刻的场合下更应该用 br 啊
        103
    dongcxcx   20 天前
    @laminux29 那什么才叫集中,不如您下个定义
        104
    eason1874   20 天前   ♥ 1
    @heiheidewo #98 手上有 5M 的机器,两台,是阿里云的学生机,备着随时顶上。之前有带宽焦虑症,总觉得 10M 也不够用,今天发现 1M 有多了,哈哈哈哈。

    @Rwing #99 实话跟你说,能赚钱的网站项目一般人不会跟你分享的,会分享的只有两种,一种是有技术壁垒的说了也不怕你抄,另一种是骗子为了骗你买教程买代码编出来的假项目。
        105
    eason1874   20 天前
    @myqoo #102 br 不太了解,印象中好像支持的浏览器不多,有空了解下,可以上就上。
        106
    vtwoextb   20 天前
    学习了
        107
    yuxizhe   20 天前
    我改成按流量计费后 改不回来了
        108
    laminux29   20 天前
    @eason1874 噗,一个做小黄网的小屁孩,居然还说别人没见过世面,哪来的勇气。
        109
    eason1874   20 天前
    @laminux29 #108 那么,请见过世面的你告诉 V 站各位,什么黄网单个 PV 所有资源加在一起在 30KB~50KB 之间的。
        110
    eason1874   20 天前
    @yuxizhe #107 腾讯云可以切换两次,但是从按流量计费切回固定带宽要给按带宽付费,1M 一年的价格就超过一台促销机型了。
        111
    046569   20 天前
    LZ 提出了一个好问题,但是这个方案其实适用范围比较窄,有以下原因:

    1. 网站必须是访客重复访问频次高,设置的资源缓存时间长且命中率高的类型.若是新访客多的网站由于缓存失效会导致打开速度明显变慢.
    从 LZ 的表述中也可以看出:"V 站首页 15KB" ,这个说法是片面的.我使用了 Chrome 开发者工具验证,模拟 1M 小水管新访客大概需要 13 秒.这个时间恐怕新访客早关闭了.



    2. 网站访问分布均匀.没有突发流量的情况.

    3. 网站无竞争对手攻击,甚至访客的强制刷新就能分分钟让网站慢如龟爬.

    4. 服务商带宽计算会削峰填谷,流控软件也并不是实时的,导致即便是 1M 其实突发速率也是超过这个水平的.

    5. 小水管 + CDN 可以应付一定的流量,性价比较高,但健壮性不够,所以企业应用不多.

    暂时先说这些,哄娃去...
        112
    eason1874   20 天前
    @046569 #111 你误解了,我说的 15KB 是指 Doc,就是网页本身,并不包静态资源。我在前一句说明了:一般网站也会把静态资源放到 CDN,这样算下来常见网页也是 30KB~50KB / PV。

    我是说 1Mbps 完全足够小网站日常够用,是不包括特殊情况的。才 1Mbps 我们不可能指望它有容灾能力啊,满足日常使用就已经很不错了,还要什么自行车呢。

    至于你说的 CDN 命中率问题,我有个特别的处理方法,当然也是省钱不省心。这个方法我多次提到了,想提供文件资源给公网访问,但又不想占用服务器带宽,可以先通过内网推到对象存储,再由对象存储或者绑定对象存储的 CDN 提供访问。

    不主动推也可以在对象存储开启镜像功能,每次文件变动都给路径加一个 hash 值,这样只要访问路径是对的,CDN 从对象存储获取的时候对象存储就会主动从服务器获取并保存,一次获取长期保存,没有命中率问题。
        113
    yinaw   20 天前 via Android
    @eason1874 我的站点服务器是最便宜的套路云 T5,1 核 2G1M,cpu 只有 10%的基线性能,目前网站日独立 ip12000,打开速度也很快,因为我把图片都放在外站图床上,想知道您目前用的什么广告联盟,介绍一下,我一天能赚个二十块钱零花钱就够了…
        114
    MiaRunis   20 天前
    @eason1874 您方便说下是什么广告联盟吗?百度的几乎都没有收入了
        115
    lscho   20 天前 via iPhone   ♥ 1
    你这就很逗了。。。资源都放到 cdn 了还提带宽有意义吗。。。。前后端分离的,用 webpack 打包一下都扔 cdn,50 万 pv 也不成问题。

    然而并没有什么意义。
        116
    laminux29   20 天前
    @eason1874 那数字还不随你编。
        117
    046569   20 天前
    @eason1874
    其实你对静态资源的"特别"的处理方法,很久以前就有现成的轮子了.
    2012 年在 Ruby on Rails 中的雏形称作 Asset Pipeline .后来从框架独立出来叫 sprockets-rails .而动静态分离部署追溯历史就更早了.
    大家吐槽你的点集中在你没有把 CDN 的带宽计算进去.如同拳击比赛,你不但用拳套,还准备了重火力( CDN ).
        118
    XxxxD   20 天前
    @eason1874 小白不太懂,是发了之后会有人 ddos 这样么?楼主分享的初衷感觉很棒,希望网站发展越来越好
        119
    eason1874   19 天前   ♥ 1
    @yinaw #113
    @MiaRunis #114

    就是 Adsense 和一些小的主机商的推介计划,挂广告就有收入,但是广告位置和广告内容的不同能导致你的收入有二三十倍差异,需要定期跟踪广告效果并调整来提高转化率。

    举个例子,yinaw 你网站有 12000 IP,一般来说你随便在标题下或者内容中间挂个 Adsense 每天收入别说 20 块了,200 块都不止。如果你挂了但没有那你首先要跟踪展示情况,因为不同用户群体有不同特点,比如 V 站用户大多在用 ublock 这种插件屏蔽广告,展示率就比一般网站要低,这样就要考虑引入其他类型的广告。如果 Adsense 展示量没问题但是收益还是低,那么就要优化转化,比如定期或者定量调整广告位置测试用户对不同位置的敏感度。
        120
    eason1874   19 天前
    @yinaw #113 对了,如果你不能确定你的用户 IP 来源真实,你还要先排查确定真实用户的大概数量。因为有一些小白和骗资金的项目会给他们网站刷流量,如果他们网站有你链接就会导致有一批假用户跟着链接流入你的网站,这种假用户是模拟浏览器访问,所以在 JS 统计中也能体现出来,往往广告他们也可以加载出来,但是不会有转化的,如果点了广告反而可能导致你的广告联盟被封。如果抓到这种假流量可以拒绝访问,或者根据特征不加载广告。
        121
    eason1874   19 天前
    @lscho #115 50 万 PV 有没有问题我不知道啊,我没试过。要是以前我会觉得 1Mbps 跑不了 50 万 PV,现在我觉得可能可以。我这帖子就是发给像我这种不确定 1Mbps 能跑多少 PV 的人看的。

    @046569 #117 我说的方法跟 Asset Pipeline 有很大区别,Asset Pipeline 再怎么压缩你的资源还是走公网带宽啊,我说的通过内网主动推到对象存储由 CDN 提供访问,这是不占用公网带宽的,内网带宽往往远大于公网带宽推送极快,CDN 访问也几乎不限速。我通过这个方法可以只用 1M 服务器带宽给用户提供超过 10M/s 的下载速度,而 Asset Pipeline 再怎么压缩给用户的访问速度也不会超过服务器 1M 带宽的 125KB/s。

    我觉得你们抨击的点完全没有现实意义,就算服务器有 100M 带宽也可以用你们的观点抨击,因为静态资源这东西不同网站差别很大,你们拿普通网站每 PV 全部资源有 1~2MB 来举例,那我也可以拿视频网站动辄每 PV 要加载 10~100MB 来举例啊,甚至可以拿下载站一个下载 PV 得花费几百 MB 到几个 GB 来说,这样反驳的话,一个特定的服务器带宽到底能支持多少 PV 这个问题还能有讨论意义吗?

    我的帖子里就强调了按每 PV 30~50KB 来算 1Mbps 能支持多少 PV,我说经过我自己的网站亲测一天 15 万 PV 都只用了 1Mbps 一半多,还有很多富裕。我设定了前置条件,你们却把我前置条件拿走然后再质疑我,你们不觉得很奇怪吗?

    我今天就得罪你们一下。借用知乎上名言回复你们这个质问:脱离剂量谈毒性是耍流氓。
        122
    eason1874   19 天前
    @XxxxD #118 会有人眼红。DDOS 倒不怕,DDOS 也是有成本的,他们不可能一直 DDOS 我,最多损失一段时间的收入。

    我主要是怕有人用刷流量的软件点我广告,我百度联盟和 Adsense 都是被网上吃饱没事干的人刷到封号的,至今没有解封,只能用别人账户。
        123
    myqoo   19 天前
    @eason1874 1Mbps 的服务器 DDOS 根本没有成本啊,用几百 KB/s 的家庭宽带加 hping3 命令就足够 ping 死了
        124
    eason1874   19 天前   ♥ 1
    @myqoo #123 被攻击了只靠服务器不行,我的预案就两个:一、关掉公网 IP,网页更新从内网推给对象存储,由 CDN 或者百度云加速 /Cloudflare 提供访问;二、关掉网站一段时间。
        125
    myqoo   19 天前
    @eason1874 网页更新从内网推给对象存储?这是纯静态的网站吗
        126
    eason1874   19 天前
    @myqoo #125 可以这么说,没有用户交互功能,一些动态内容纯粹是为了配合运营,去掉的后果也就是转化率降低,对用户没影响,实在没办法不用也行。

    我为了防止服务器被黑而自己不知道,前段时间在云函数搞了个 DDNS,检测到服务器挂了或者返回内容不对云函数就会自动把解析改成备用的 CDN,CDN 后面是定期备份,常备有几百 GB 流量包,也设置了 QPS 限制。我一个网页才 30KB,1000 万 PV 才 300G,短时间高流量一点不慌。

    刚打字回复你突然想到,我还可以再开一个云函数拉 CDN 日志,把短时间高频请求 IP 抓出来,加到 CDN 黑名单,这样感觉就稳上加稳了。(不过应该也用不上,现在几台容灾服务器都一直空闲,别乱发网址拉仇恨一直都稳)
        127
    id4alex   19 天前
    CDN 一个月多少流量啊
        128
    myqoo   19 天前   ♥ 1
    @eason1874 没有用户交互功能,其实放 github pages 都可以,网页头部加个 <base href="https://jsdelivr.com/...">

    除了首页走海外稍慢,资源全走免费 CDN 岂不美滋滋~
        129
    janxin   19 天前
    LZ 你应该把 CDN 的费用算进来一起比较...
        130
    arraysnow   19 天前
    lz 是依靠内网推到 cdn,由 cdn 承担带宽吗?但如果 cc 攻击了有什么好办法吗
        131
    eason1874   19 天前
    @id4alex #127 网页静态资源的话,每月 30G 左右,费用折合人民币~3 元。

    @janxin #129 CDN 费用取决于静态资源大小啊,不同网站差异太大了。比如我的网页特别小,全部资源加起来才 30~50KB,很多网站一个 JS 文件就超过我整个网页了,怎么比~
        132
    eason1874   19 天前
    @myqoo #128 Github Pages 不能自动镜像吧?我记得只能主动推送。我现在日常备份在对象存储,服务器宕机切换到事先配置好的 CDN 或者 Cloudflare 就行了,不用再另外推送文件,如果用 Github Pages 还得推送。

    免费 CDN 公共库用不上,因为我 JS/CSS 全部自己写的,哈哈哈,曾经为了省流量通宵把 CSS 梳理一遍,压榨到了极点。
        133
    eason1874   19 天前
    @arraysnow #130 是服务器内网推送对象存储,而对象存储作为 CDN 的源。我只测试过了可用性,目前作为灾备方案,没有实际使用。被 CC 的话,资源体积小走 CDN,体积大只能走免费的百度云加速 /Cloudflare 了吧,要不然钱包扛不住。
        134
    myqoo   19 天前
    @eason1874 换成 github 就不用“日常备份在对象存储”,直接备份到 github 上不就好了~
        135
    eason1874   19 天前
    @myqoo #134 你这么一说,确实可以拿 Github 做冷备。正好 Github 和 Cloudflare 搭配,对象存储和 CDN 搭配,一个免费一个付费,一个冷备一个热备。

    对象存储相比较 Github 优势是可以内网推送,速度够快,可以热备。不过热备也不能代替隔离冷备,万一服务器被黑,热备也跟着凉凉。
        136
    ShadowSaint   19 天前
    @eason1874 你要是这么搞的话 1Mbps 没有意义啊,你基本全静态的话,去 CF 做个全站缓存,你服务器关了都没事,可是正常的网站不是这样的啊,你 15 万 PV 基本都走了 CDN,和 15 万 PV 都回源了这是俩概念
        137
    okwork   19 天前 via Android
    @eason1874 被攻击的时间段,可以临时配置下全站加速,让 cdn 帮你抗攻击。成本比自己买高防便宜
        138
    eason1874   19 天前
    @ShadowSaint #136 你也误解了。15 万网页 PV 是走服务器的,IP 直连,静态资源才走 CDN。
        139
    jdgui   19 天前
    感谢楼主分享,学习到很多知识, 以后可以拿出去吹牛逼了
        140
    jdgui   19 天前
    我的腾讯云学生机到 2025 年的,现在买了一年多一直在吃灰,前几天挂上了个挖矿软件,算了下一天才两分钱,唉。
        141
    eason1874   19 天前
    @okwork #137 我也是这个想法,普通攻击让 CDN 扛一下。目前网页域名是 IP 直连,配置了 DDNS,服务器挂了就转到 CDN。
        142
    ShadowSaint   19 天前
    @eason1874 我知道你说的是走服务器的,可是你看:
    图片等资源你走的是对象存储或者 CDN,CSS,JS 之类不常变动的一样可以走 CDN,
    你这网站又几乎没有用户交互,那你页面需要展示的数据也可以预处理,或者用 CF 的全站缓存缓存了,
    那你实际上这个服务器起的作用和传统意义上的后端服务器不太一样的,你带宽虽然低,但是并不需要传输什么东西,15 万 PV,真正需要用到你服务器带宽的请求内容也不是传统意义 15 万 PV 所需的带宽,所以你这个 1Mpbs 和大家用的 1Mpbs 也不一样
        143
    zqfxch   19 天前
    一个动静分离就能难倒大多数站长。
    CDN 和对象存储的钱也可以加起来算一下,保有一个网站的成本就出来了。
        144
    eason1874   19 天前
    @ShadowSaint #142 对流量数据来说 ngx_lua 返回的 30KB 跟 PHP 返回的 30KB 不都是 30KB 吗?这有什么不一样?

    后端怎么处理网页是后端的事,不管是用 1MB 抑或是 100MB 内存去处理,从 Nginx 出来是 30KB 那对流量来说就是 30KB,静态文件的 30KB 并不会比程序处理过的 30KB 小。至于用户交互可能产生的入带宽,这个是不受 1Mbps 限制,入带宽普遍不会太小,比如腾讯云入带宽最少是 10Mbps。

    我帖子讨论的是网页服务提供 15 万 PV 要用多少带宽,你说的是提供 15 万 PV 要用多少计算力,离题了。
        145
    eason1874   19 天前
    @zqfxch #143 我这个站的 CDN 费用一个月不到 3 元,现在看起来其实不用 CDN 也行。评论区里说的对象存储+CDN 是指容灾备份。
        146
    eason1874   19 天前
    @jdgui #140 我记得云服务器禁止挖矿,快去看下协议是不是,不然因为几分钱被封了就亏大了。
        147
    myqoo   19 天前
    @eason1874 现在有种攻击就是专门刷 CDN 流量,几天下来估计就破产了~
        148
    POPOEVER   19 天前
    贴链接大家帮你测一下呗😏
        149
    mingmeng   19 天前 via iPad
    @jdgui 云服务器禁止挖矿的,建议关了吧,别封了就真得不偿失了
        150
    arraysnow   19 天前
    @eason1874 #133 把静态放在 oss 是为了防止 cdn 回源时候服务器挂了吧?那你 pv 的页面直接暴露出服务器 ip 了?
        151
    eason1874   19 天前
    @myqoo #147 问题不大,有空再搞个云函数监控 CDN,高频 IP 直接拉黑,流量严重超额就自动关停。感觉云函数太有用了!而且免费额度足够跑几十个这种监控脚本了。
        152
    eason1874   19 天前
    @POPOEVER #148 公开是不可能公开的,这辈子不可能公开的。就是偷偷搞才能维持得了低成本建站。
        153
    eason1874   19 天前
    @arraysnow #150 目前网页域名直接解析到 IP,CDN 回源也是直接指向 IP。

    把静态资源放到对象存储是指在被攻击的情况下,这种情况下直接把服务器弹性公网 IP 解绑了,禁止访问服务器,通过内网推送资源去对象存储,由 CDN 提供访问。
        154
    jdgui   19 天前
    @eason1874
    @mingmeng 谢谢,我去看看
        155
    046569   19 天前
    @eason1874
    讨论没有什么得罪不得罪的,对事不对人.
    动静态分离本来就是按照你说的方式部署的呀.打包静态资源然后推送到 CDN .

    大概的流程:
    开发 => 上传到版本控制服务器 => 自动化测试通过 => 部署服务器打包 => 向 CDN 分发静态资源 & 向应用服务器同步源码并重启进程

    我想这个你应该很熟悉了.

    如果你要讨论 15W PV 需要多少带宽才能支撑用户访问,必须要计算上 CDN 消耗的流量.否则就是取巧了.无论是从技术上看还是从成本上看, CDN 都要计算在内.
        156
    myqoo   19 天前
    @eason1874 如果真有人攻击,用树莓派 hping3 命令不停发包(只需几百 KB/s 即可)就能让机器永久上不了了,封 IP 大不了几分钟重新拨号一次换 IP~~~
        157
    eason1874   19 天前
    @046569 #155 这个站页面资源小,一个 PV 全部资源 30~50KB,CDN 平均使用率~0.3Mbps,网页服务平均使用率不到 0.1Mbps,加起来不到 0.5Mbps,所以就算不用 CDN 其实也用不完 1Mbps,这就是我说的 1Mbps 都还有富裕。这些我在帖子都说了,可能表达不够清楚,一部分人理解一部分人没理解。

    我说小网站就真的是小网站,没有发布流程的,改个代码随手就改了,一般没有容灾,静态资源也不会分离到其他服务器,直接套 CDN 回源本站,连 CDN 流量包往往也是白嫖(比如腾讯云老账户每月免费发放的 10GB 流量包)。我这个站点之所以上了容灾策略是因为月收入高了,以前只有几百块的时候我也不在意的,宕机了一天都不着急恢复。

    所以不要拿企业调研标准来评价我的分享哈,我说 1Mbps 就真的是针对 1Mbps,不考虑没有 CDN 的情况,也不考虑 PV 再上一个数量需要多少带宽,服务器用完了也扛不住就切换到 CDN 凑合一段时间,到时候再考虑升级的事。
        158
    eason1874   19 天前
    @myqoo #156 服务器扛不住攻击,我说的拉黑 IP 是指加入到 CDN 上面的黑名单,不是指服务器本机黑名单,如果被攻击我就直接把弹性公网 IP 解绑了,直接不让请求进我服务器。
        159
    eason1874   19 天前
    @myqoo #156 你这个拨号换 IP 又提醒了我一点,还可以再加一个拉黑 IP 段的功能,宽带拨号换的 IP 往往跟之前的 IP 在一个 IP 段。
        160
    infra   18 天前
    弱弱的发一帖,用套路云的 1c1g,用 ctrl + f5 就可以把 wordpress 刷挂掉。
        161
    eason1874   17 天前
    @infra #16 我知道,我以前遇到过,是内存不够跑 MySQL 问题,加个 Nginx 缓存或者内存缓存减少 MySQL 连接就可以了。
        162
    lucifer9   15 天前
    @eason1874 #159 北京联通 ADSL 实测间隔 1 分钟拨号 IP 在不同的 B 类,有时候是不通的 A 类
        163
    eason1874   15 天前
    @lucifer9 #162 范围太大那就没办法了,只能等流量刷得差不多了直接给停了。
        164
    home123   1 天前
    > 腾讯云副网卡绑定的弹性公网 IP 可以按流量计费

    这个要怎么操作?也想给自己 1mbps 的服务器开一个副 ip
        165
    eason1874   1 天前
    @home123 #164 控制台左上角云产品搜索“私有网络”,点击打开之后,左边菜单有个“IP 与网卡”。

    1. 先新建个弹性网卡绑定云服务器,然后再新建个弹性 IP 绑定网卡。
    2. 在云服务器 /etc/sysconfig/network-scripts/ 目录下复制 ifcfg-eth0 到 ifcfg-eth1 然后修改新文件 DEVICE=eth1,HWADDR=刚刚新建的网卡 MAC 地址,然后 systemctl restart network 重启网络就可以用了。

    你的是什么机器?我有几个账号。学生机那个账号新建 IP 才有按流量 /带宽 /包月计费的设置(可能是因为学生机只能有一个 IP ?),其他账号新建 IP 都没有调整带宽的设置,绑定服务器之后是共享服务器带宽,比如 1Mbps 机器可以免费绑定多一个 IP,但是这个 IP 跟主 IP 共享 1Mbps (不知道能不能调成收费模式)。
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1047 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 18:57 · PVG 02:57 · LAX 10:57 · JFK 13:57
    ♥ Do have faith in what you're doing.