101
eason1874 OP @BOOM #94 机器不同地域的,买的时候就是奔着容灾去的,所以不买一个地域的。快到 25 岁了,要超过购买学生机的年龄,最近确实有想法购买学生版云数据库,一个月 3 元,接近白嫖,不过如果买来没有业务用上的话我浑身不舒服,我还是得先找好用途再好,哈哈哈
|
102
myqoo 2019-10-23 16:37:15 +08:00
都 9102 年了为什么还用 gzip,而且带宽这么苛刻的场合下更应该用 br 啊
|
104
eason1874 OP @heiheidewo #98 手上有 5M 的机器,两台,是阿里云的学生机,备着随时顶上。之前有带宽焦虑症,总觉得 10M 也不够用,今天发现 1M 有多了,哈哈哈哈。
@Rwing #99 实话跟你说,能赚钱的网站项目一般人不会跟你分享的,会分享的只有两种,一种是有技术壁垒的说了也不怕你抄,另一种是骗子为了骗你买教程买代码编出来的假项目。 |
106
vtwoextb 2019-10-23 18:22:06 +08:00
学习了
|
107
yuxizhe 2019-10-23 18:42:42 +08:00
我改成按流量计费后 改不回来了
|
109
eason1874 OP @laminux29 #108 那么,请见过世面的你告诉 V 站各位,什么黄网单个 PV 所有资源加在一起在 30KB~50KB 之间的。
|
110
eason1874 OP @yuxizhe #107 腾讯云可以切换两次,但是从按流量计费切回固定带宽要给按带宽付费,1M 一年的价格就超过一台促销机型了。
|
111
046569 2019-10-23 19:26:01 +08:00
LZ 提出了一个好问题,但是这个方案其实适用范围比较窄,有以下原因:
1. 网站必须是访客重复访问频次高,设置的资源缓存时间长且命中率高的类型.若是新访客多的网站由于缓存失效会导致打开速度明显变慢. 从 LZ 的表述中也可以看出:"V 站首页 15KB" ,这个说法是片面的.我使用了 Chrome 开发者工具验证,模拟 1M 小水管新访客大概需要 13 秒.这个时间恐怕新访客早关闭了. 2. 网站访问分布均匀.没有突发流量的情况. 3. 网站无竞争对手攻击,甚至访客的强制刷新就能分分钟让网站慢如龟爬. 4. 服务商带宽计算会削峰填谷,流控软件也并不是实时的,导致即便是 1M 其实突发速率也是超过这个水平的. 5. 小水管 + CDN 可以应付一定的流量,性价比较高,但健壮性不够,所以企业应用不多. 暂时先说这些,哄娃去... |
112
eason1874 OP @046569 #111 你误解了,我说的 15KB 是指 Doc,就是网页本身,并不包静态资源。我在前一句说明了:一般网站也会把静态资源放到 CDN,这样算下来常见网页也是 30KB~50KB / PV。
我是说 1Mbps 完全足够小网站日常够用,是不包括特殊情况的。才 1Mbps 我们不可能指望它有容灾能力啊,满足日常使用就已经很不错了,还要什么自行车呢。 至于你说的 CDN 命中率问题,我有个特别的处理方法,当然也是省钱不省心。这个方法我多次提到了,想提供文件资源给公网访问,但又不想占用服务器带宽,可以先通过内网推到对象存储,再由对象存储或者绑定对象存储的 CDN 提供访问。 不主动推也可以在对象存储开启镜像功能,每次文件变动都给路径加一个 hash 值,这样只要访问路径是对的,CDN 从对象存储获取的时候对象存储就会主动从服务器获取并保存,一次获取长期保存,没有命中率问题。 |
113
yinaw 2019-10-23 20:48:03 +08:00 via Android
@eason1874 我的站点服务器是最便宜的套路云 T5,1 核 2G1M,cpu 只有 10%的基线性能,目前网站日独立 ip12000,打开速度也很快,因为我把图片都放在外站图床上,想知道您目前用的什么广告联盟,介绍一下,我一天能赚个二十块钱零花钱就够了…
|
115
lscho 2019-10-23 21:37:01 +08:00 via iPhone 1
你这就很逗了。。。资源都放到 cdn 了还提带宽有意义吗。。。。前后端分离的,用 webpack 打包一下都扔 cdn,50 万 pv 也不成问题。
然而并没有什么意义。 |
117
046569 2019-10-23 22:55:37 +08:00
@eason1874
其实你对静态资源的"特别"的处理方法,很久以前就有现成的轮子了. 2012 年在 Ruby on Rails 中的雏形称作 Asset Pipeline .后来从框架独立出来叫 sprockets-rails .而动静态分离部署追溯历史就更早了. 大家吐槽你的点集中在你没有把 CDN 的带宽计算进去.如同拳击比赛,你不但用拳套,还准备了重火力( CDN ). |
119
eason1874 OP @yinaw #113
@MiaRunis #114 就是 Adsense 和一些小的主机商的推介计划,挂广告就有收入,但是广告位置和广告内容的不同能导致你的收入有二三十倍差异,需要定期跟踪广告效果并调整来提高转化率。 举个例子,yinaw 你网站有 12000 IP,一般来说你随便在标题下或者内容中间挂个 Adsense 每天收入别说 20 块了,200 块都不止。如果你挂了但没有那你首先要跟踪展示情况,因为不同用户群体有不同特点,比如 V 站用户大多在用 ublock 这种插件屏蔽广告,展示率就比一般网站要低,这样就要考虑引入其他类型的广告。如果 Adsense 展示量没问题但是收益还是低,那么就要优化转化,比如定期或者定量调整广告位置测试用户对不同位置的敏感度。 |
120
eason1874 OP @yinaw #113 对了,如果你不能确定你的用户 IP 来源真实,你还要先排查确定真实用户的大概数量。因为有一些小白和骗资金的项目会给他们网站刷流量,如果他们网站有你链接就会导致有一批假用户跟着链接流入你的网站,这种假用户是模拟浏览器访问,所以在 JS 统计中也能体现出来,往往广告他们也可以加载出来,但是不会有转化的,如果点了广告反而可能导致你的广告联盟被封。如果抓到这种假流量可以拒绝访问,或者根据特征不加载广告。
|
121
eason1874 OP @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 OP @XxxxD #118 会有人眼红。DDOS 倒不怕,DDOS 也是有成本的,他们不可能一直 DDOS 我,最多损失一段时间的收入。
我主要是怕有人用刷流量的软件点我广告,我百度联盟和 Adsense 都是被网上吃饱没事干的人刷到封号的,至今没有解封,只能用别人账户。 |
123
myqoo 2019-10-24 09:39:50 +08:00
@eason1874 1Mbps 的服务器 DDOS 根本没有成本啊,用几百 KB/s 的家庭宽带加 hping3 命令就足够 ping 死了
|
124
eason1874 OP @myqoo #123 被攻击了只靠服务器不行,我的预案就两个:一、关掉公网 IP,网页更新从内网推给对象存储,由 CDN 或者百度云加速 /Cloudflare 提供访问;二、关掉网站一段时间。
|
126
eason1874 OP @myqoo #125 可以这么说,没有用户交互功能,一些动态内容纯粹是为了配合运营,去掉的后果也就是转化率降低,对用户没影响,实在没办法不用也行。
我为了防止服务器被黑而自己不知道,前段时间在云函数搞了个 DDNS,检测到服务器挂了或者返回内容不对云函数就会自动把解析改成备用的 CDN,CDN 后面是定期备份,常备有几百 GB 流量包,也设置了 QPS 限制。我一个网页才 30KB,1000 万 PV 才 300G,短时间高流量一点不慌。 刚打字回复你突然想到,我还可以再开一个云函数拉 CDN 日志,把短时间高频请求 IP 抓出来,加到 CDN 黑名单,这样感觉就稳上加稳了。(不过应该也用不上,现在几台容灾服务器都一直空闲,别乱发网址拉仇恨一直都稳) |
127
id4alex 2019-10-24 10:35:48 +08:00
CDN 一个月多少流量啊
|
128
myqoo 2019-10-24 10:40:56 +08:00 1
@eason1874 没有用户交互功能,其实放 github pages 都可以,网页头部加个 <base href="https://jsdelivr.com/...">
除了首页走海外稍慢,资源全走免费 CDN 岂不美滋滋~ |
129
janxin 2019-10-24 10:41:20 +08:00
LZ 你应该把 CDN 的费用算进来一起比较...
|
130
arraysnow 2019-10-24 10:43:28 +08:00
lz 是依靠内网推到 cdn,由 cdn 承担带宽吗?但如果 cc 攻击了有什么好办法吗
|
131
eason1874 OP |
132
eason1874 OP @myqoo #128 Github Pages 不能自动镜像吧?我记得只能主动推送。我现在日常备份在对象存储,服务器宕机切换到事先配置好的 CDN 或者 Cloudflare 就行了,不用再另外推送文件,如果用 Github Pages 还得推送。
免费 CDN 公共库用不上,因为我 JS/CSS 全部自己写的,哈哈哈,曾经为了省流量通宵把 CSS 梳理一遍,压榨到了极点。 |
133
eason1874 OP @arraysnow #130 是服务器内网推送对象存储,而对象存储作为 CDN 的源。我只测试过了可用性,目前作为灾备方案,没有实际使用。被 CC 的话,资源体积小走 CDN,体积大只能走免费的百度云加速 /Cloudflare 了吧,要不然钱包扛不住。
|
135
eason1874 OP @myqoo #134 你这么一说,确实可以拿 Github 做冷备。正好 Github 和 Cloudflare 搭配,对象存储和 CDN 搭配,一个免费一个付费,一个冷备一个热备。
对象存储相比较 Github 优势是可以内网推送,速度够快,可以热备。不过热备也不能代替隔离冷备,万一服务器被黑,热备也跟着凉凉。 |
136
ShadowSaint 2019-10-24 11:26:39 +08:00
@eason1874 你要是这么搞的话 1Mbps 没有意义啊,你基本全静态的话,去 CF 做个全站缓存,你服务器关了都没事,可是正常的网站不是这样的啊,你 15 万 PV 基本都走了 CDN,和 15 万 PV 都回源了这是俩概念
|
137
okwork 2019-10-24 11:26:57 +08:00 via Android
@eason1874 被攻击的时间段,可以临时配置下全站加速,让 cdn 帮你抗攻击。成本比自己买高防便宜
|
138
eason1874 OP @ShadowSaint #136 你也误解了。15 万网页 PV 是走服务器的,IP 直连,静态资源才走 CDN。
|
139
jdgui 2019-10-24 11:28:36 +08:00
感谢楼主分享,学习到很多知识, 以后可以拿出去吹牛逼了
|
140
jdgui 2019-10-24 11:29:33 +08:00
我的腾讯云学生机到 2025 年的,现在买了一年多一直在吃灰,前几天挂上了个挖矿软件,算了下一天才两分钱,唉。
|
141
eason1874 OP @okwork #137 我也是这个想法,普通攻击让 CDN 扛一下。目前网页域名是 IP 直连,配置了 DDNS,服务器挂了就转到 CDN。
|
142
ShadowSaint 2019-10-24 11:36:54 +08:00
@eason1874 我知道你说的是走服务器的,可是你看:
图片等资源你走的是对象存储或者 CDN,CSS,JS 之类不常变动的一样可以走 CDN, 你这网站又几乎没有用户交互,那你页面需要展示的数据也可以预处理,或者用 CF 的全站缓存缓存了, 那你实际上这个服务器起的作用和传统意义上的后端服务器不太一样的,你带宽虽然低,但是并不需要传输什么东西,15 万 PV,真正需要用到你服务器带宽的请求内容也不是传统意义 15 万 PV 所需的带宽,所以你这个 1Mpbs 和大家用的 1Mpbs 也不一样 |
143
zqfxch 2019-10-24 11:40:34 +08:00
一个动静分离就能难倒大多数站长。
CDN 和对象存储的钱也可以加起来算一下,保有一个网站的成本就出来了。 |
144
eason1874 OP @ShadowSaint #142 对流量数据来说 ngx_lua 返回的 30KB 跟 PHP 返回的 30KB 不都是 30KB 吗?这有什么不一样?
后端怎么处理网页是后端的事,不管是用 1MB 抑或是 100MB 内存去处理,从 Nginx 出来是 30KB 那对流量来说就是 30KB,静态文件的 30KB 并不会比程序处理过的 30KB 小。至于用户交互可能产生的入带宽,这个是不受 1Mbps 限制,入带宽普遍不会太小,比如腾讯云入带宽最少是 10Mbps。 我帖子讨论的是网页服务提供 15 万 PV 要用多少带宽,你说的是提供 15 万 PV 要用多少计算力,离题了。 |
145
eason1874 OP @zqfxch #143 我这个站的 CDN 费用一个月不到 3 元,现在看起来其实不用 CDN 也行。评论区里说的对象存储+CDN 是指容灾备份。
|
148
POPOEVER 2019-10-24 13:18:16 +08:00
贴链接大家帮你测一下呗😏
|
150
arraysnow 2019-10-24 13:57:11 +08:00
@eason1874 #133 把静态放在 oss 是为了防止 cdn 回源时候服务器挂了吧?那你 pv 的页面直接暴露出服务器 ip 了?
|
151
eason1874 OP @myqoo #147 问题不大,有空再搞个云函数监控 CDN,高频 IP 直接拉黑,流量严重超额就自动关停。感觉云函数太有用了!而且免费额度足够跑几十个这种监控脚本了。
|
153
eason1874 OP @arraysnow #150 目前网页域名直接解析到 IP,CDN 回源也是直接指向 IP。
把静态资源放到对象存储是指在被攻击的情况下,这种情况下直接把服务器弹性公网 IP 解绑了,禁止访问服务器,通过内网推送资源去对象存储,由 CDN 提供访问。 |
155
046569 2019-10-24 15:52:12 +08:00
@eason1874
讨论没有什么得罪不得罪的,对事不对人. 动静态分离本来就是按照你说的方式部署的呀.打包静态资源然后推送到 CDN . 大概的流程: 开发 => 上传到版本控制服务器 => 自动化测试通过 => 部署服务器打包 => 向 CDN 分发静态资源 & 向应用服务器同步源码并重启进程 我想这个你应该很熟悉了. 如果你要讨论 15W PV 需要多少带宽才能支撑用户访问,必须要计算上 CDN 消耗的流量.否则就是取巧了.无论是从技术上看还是从成本上看, CDN 都要计算在内. |
156
myqoo 2019-10-24 16:33:39 +08:00
@eason1874 如果真有人攻击,用树莓派 hping3 命令不停发包(只需几百 KB/s 即可)就能让机器永久上不了了,封 IP 大不了几分钟重新拨号一次换 IP~~~
|
157
eason1874 OP @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 OP @myqoo #156 服务器扛不住攻击,我说的拉黑 IP 是指加入到 CDN 上面的黑名单,不是指服务器本机黑名单,如果被攻击我就直接把弹性公网 IP 解绑了,直接不让请求进我服务器。
|
159
eason1874 OP @myqoo #156 你这个拨号换 IP 又提醒了我一点,还可以再加一个拉黑 IP 段的功能,宽带拨号换的 IP 往往跟之前的 IP 在一个 IP 段。
|
160
infra 2019-10-25 23:17:15 +08:00
弱弱的发一帖,用套路云的 1c1g,用 ctrl + f5 就可以把 wordpress 刷挂掉。
|
161
eason1874 OP @infra #16 我知道,我以前遇到过,是内存不够跑 MySQL 问题,加个 Nginx 缓存或者内存缓存减少 MySQL 连接就可以了。
|
162
lucifer9 2019-10-28 10:24:36 +08:00
@eason1874 #159 北京联通 ADSL 实测间隔 1 分钟拨号 IP 在不同的 B 类,有时候是不通的 A 类
|
164
home123 2019-11-11 15:56:09 +08:00
> 腾讯云副网卡绑定的弹性公网 IP 可以按流量计费
这个要怎么操作?也想给自己 1mbps 的服务器开一个副 ip |
165
eason1874 OP @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 (不知道能不能调成收费模式)。 |