用户下载文件是虎绿林目前比较卡的主要原因
@老虎会游泳,
现在是两站共享 5M 宽带吗?
是有攻击者持续刷网页下载,导致请求/下载图片缓慢,及频繁出现超速警告吗?(攻击者 IP 很多?撞哈希了?)
Linux 能不能搞个网络优先级啥的?优先保证网页、小图片、已登录用户体验。。这样应该不用买新服务器了吧。。
@无名啊,上传页面有压缩功能 一加ace2Pro(灰|24+1024)
@老虎会游泳,关于第 3 点,设想类似《进程优先级》,实测多任务并行时,最低优先级只抢占 3% 资源(如下图)
如果 Linux / Nginx 没有原生设施供调整网络优先级,
那自己在 Nginx 写 Lua 脚本,用 Redis 维护个优先级队列,每传输 10KB 就挂起,调度到最高优先级任务继续传输?
要不具体去扒扒《进程优先级》实现原理啥的。。
@上善若水,那个是 jpg 压缩,效果很差,而且全凭用户自愿。。
我是觉得,可以服务器端,最低优先级闲时转码。
php 要吃性能时,可以让出 97% 性能(见 42 楼测试)
转码完成前,Nginx 提供原图。完成后,提供转码图。
最终实现不影响性能前提下,减少 9 成带宽需求。。
@无名啊,想法不错,老虎缺少开发动力。 一加ace2Pro(灰|24+1024)
@无名啊,目前的最新配置是:有两个阿里云轻量云服务器作为流量出口,hu60.cn和winegame.net使用其中一个,file.winegame.net使用另一个,file.hu60.cn同时使用两个。
轻量云的出口带宽在1Mbps到200Mbps之间波动,具体带宽没有保证,但我观察到几乎所有情况下都超过5Mbps,你们非常卡的时候,是有人在以8Mbps(1MB/s)以上的速度在下载,占满了之前的唯一出口。
所以我发帖后就添加了另一个出口,并且今天第一个出口的带宽也回到了30Mbps左右,所以卡顿问题已经缓解。
现在file.hu60.cn还可以利用第二个出口,卡顿问题应该更不容易发生了。
最后,如果只有5Mbps的带宽,肯定不能满足虎绿林和wine游戏助手两站的需求,因为在你们非常卡的时候,那唯一一个流量出口一直保持8Mbps以上的下载速度,所以5Mbps在这种情况下只会更卡。
@老虎会游泳,隔壁腾讯云的轻量云大部分时间都可以在200Mbps我刷很多流量依然没有限速,阿里云是跑到几十GB流量就限速。而且机器腾讯云机器性能比阿里云还强,还支持ipv6,可惜我备案在阿里云。 一加ace2Pro(灰|24+1024)
@上善若水,我的文件存储在北京阿里云OSS,所以我只能用北京阿里云作为流量出口,要不然就要收OSS流出流量费了。只有走内网从OSS提取文件才免流量费。
@上善若水,也是,这个搞一天不一定搞得完,不如老虎打一天工,工资都能买几年服务器了。。
@无名啊,优先传输网页和小文件似乎可以做到,感觉策略可以写成如果某人一直大量下载,就不断降低它的流量优先级。不过我感觉在应用层(nginx)是做不到拥塞控制的,因为应用层是感知不到拥塞的,并且轻量云带宽是动态的,没办法设一个固定限速目标。只有网络层(IP层)才能发现丢包重传之类的情况。可能要通过iptables、netfilter、ebpf等基于IP进行QoS调整。
@老虎会游泳,那超速警告咋回事呀
另外老虎觉得《网络优先级》设想合理吗?
@无名啊,超速是按访问次数算的,和流量没关系。下载一个文件算一次,不管是1kB还是1GB都只算一次。
@无名啊,肯定是合理的,但我不太清楚具体。要怎么做到。如果能做到,我首先肯定是要把22端口的流量设为最高优先级,因为你们很卡的时候,我连接ssh也很卡,我不得不用阿里云后台的VNC进行远程操作
@老虎会游泳,需要 Nginx 感知阻塞吗?
我设想 Nginx 先传 90% 高优先级数据,再传 10% 低优先级,循环往复即可。。
@老虎会游泳,那我咋会两小时访问 4W 次的。。
@老虎会游泳,按端口、IP 设优先级,感觉不够灵活。。
考虑因素可能很多,涉及:
很久很久之前,你用这个阿里云的1Mbps的服务器也不卡,现在 花样多了,卡了
@胡椒舰长,仅仅是因为当时的文件下载服务器是独立的按量计费CDN而已。所以只要把文件下载服务分离出去,网页部分带宽多小都不会卡。
@老虎会游泳,
现在是两站共享 5M 宽带吗?
是有攻击者持续刷网页下载,导致请求/下载图片缓慢,及频繁出现超速警告吗?(攻击者 IP 很多?撞哈希了?)
Linux 能不能搞个网络优先级啥的?优先保证网页、小图片、已登录用户体验。。这样应该不用买新服务器了吧。。