同一 vps,为什么 ss 和 http 的速度差异好大,

2016-09-08 11:51:38 +08:00
 wonpn
同一 vps ,搭建 ss 和 nginx ,
随便甩一文件用 nginx 做服务器下载,速度至少 2MB/s
但 ss 代理,无论下载还是 YouTube ,也就几百 KB/s
什么原因?
1 ,浏览器 http 下载多线程?
2 , ss 服务器或 ss local 有一方性能差?
3 , socks5 代理 http 比纯 http 本身有带宽损耗?
4 , gfw ?
5 ,其他思路?
2333 次点击
所在节点    VPS
41 条回复
arrow2015
2016-09-08 19:57:05 +08:00
@wonpn 北京联通, ss 20-100kb/s. 强烈关注楼主的问题
lairdnote
2016-09-08 21:39:42 +08:00
改加密算法。 然后 看看 cpu 是不是 intel 的 支持 aes 吗
看看是什么版本的 fast_open 开启了吗
sysctl.conf 调整一下
lairdnote
2016-09-08 21:40:20 +08:00
ss 是加密的。。所以 Qos 很难识别
diguoemo
2016-09-08 21:55:17 +08:00
ss 在我的 panabit 流控里面识别到的都是未知流量或者未知 tcp 应用
mxalbert1996
2016-09-08 22:33:14 +08:00
@lairdnote 加密不等于没有特征,另外它只要识别出它可以放过的内容就行了。
rtyurtyu
2016-09-08 22:44:06 +08:00
@mxalbert1996
多上点学不要张嘴就来, SS 当初建立的目的就是反特征识别
为此不惜把连接都给去掉了
任意时刻发出的包都是不带状态的,你给我特征一个看看
wonpn
2016-09-09 00:17:39 +08:00
意思是 gfw ?或 isp 把我 ss 的部分包丢了?所以速度慢?
mxalbert1996
2016-09-09 00:29:35 +08:00
@rtyurtyu 说出这种话只能说明你的水平不够。。。丢个链接你自己看吧: https://github.com/breakwa11/shadowsocks-rss/issues/38 ,如果你能看得懂的话。
rtyurtyu
2016-09-09 08:20:51 +08:00
@mxalbert1996 这文章狗屁不通,简直让人笑掉大牙
他说的那些情况是需要解密后才能判断出的
然后他说对一个字节穷举 256 种可能。。。无语
后面一堆人都在打他的脸,你居然拿这种白痴文来给我看
你拿个不知道你哪儿钻出来的三脚猫水平的文章当真理,你不会就是那个 breakwa11 吧?
懂不懂什么叫块加密?密钥通过其他信道分配你当是摆设?
哪有给你穷举的可能,一个字节本来就 256 种状态,还 tm 穷举 256 种可能,逻辑都不通的狗屁东西
稍微看一分钟 clowwindy 的原版代码都不会发出这种白痴言论
你这种水平也敢来发言,简直有点不要脸

东西都是摆在台面上的,让大家来评判好了
mxalbert1996
2016-09-09 12:12:24 +08:00
@rtyurtyu 东西就在那里,你自己不看我也没办法。
rtyurtyu
2016-09-09 13:03:01 +08:00
@mxalbert1996 我看了才回帖驳斥你的好吗,浪费我的时间
而且你谈话的逻辑都没有?
你 25f 说的是“放过的内容”,整个楼一直在谈的是流量检测,从抓的包里检测出包的类型
你给我看的那篇文章不说思想错误,写的根本就不是流量检测,那 tm 是主动探查,抓的包在哪儿呢?
不是一个层面的东西你也发,胡搅蛮缠是吗?
我现在就问你给你一个 ss 包你把它的特征给我指出来?

人没文化不要紧,但是没有逻辑就真的不可救药了
没有逻辑的话别人无法跟你沟通,只能当你说话是放屁
wonpn
2016-09-09 13:33:41 +08:00
@rtyurtyu 我试了各种加密,对速度基本没有影响。大神给个思路?只要走 ss ,最多 1MB 。 http 轻松 6MB 。
wonpn
2016-09-09 13:44:51 +08:00
@rtyurtyu ss server 或 ss local 吞吐量不够?运营商的 Qos ?
rtyurtyu
2016-09-09 14:18:15 +08:00
@wonpn 我估计最有可能的原因是 socket 编程模型的问题
ss 毕竟是个小众软件,编程者水平参差不齐,很多用 python 编写, python 里封装的 socket api 是易用性最高但是性能最差的 WSAAsyncSelect 模型,天然的无法达到带宽上限
nginx 是受众极广的专业级 http server , c 开发,里面一定用上了完成端口,这是专业级软件不二之选,内核级传输也保证了带宽使用率
这个差别就在这里

你可以找找看有没有 c 开发的 ss server 用 IOCP 或者重叠 IO 模型的,那才能完全发挥出 server 端的实力
Aniark
2016-09-09 20:13:40 +08:00
@rtyurtyu 也就是说, sslibev 速度能比 python 版 ss 要更好?
wonpn
2016-09-09 20:21:14 +08:00
@Aniark 我测试->c 比 python 要快
rtyurtyu
2016-09-09 21:03:03 +08:00
@Aniark 编译型比解释型快是必然,但不是重点
重点还是 socket 编程模型,这个区别是很大的,几倍的差距
datocp
2016-09-10 06:45:52 +08:00
qos 没有想象中那么复杂,它可以简单到有个 ip 地址 就可以构建一条 qos 限速,所以这个特征简单到只知道 ip 地址就够了,根本不需要关注 ss 到底是看起来像 http 还是 ssl 流量,一条规则就限速完毕。甚至有各种动态流量限速。
按照 net speed 作者的描述电信线路的流量变化是由于线路太长 tcp 重发之类的问题,目前的 kcptun 就是来解决这些问题,相关描述太专业大家还是自己上作者主页看。
放到实际环境电信+gfw 到底会出现什么问题?
1 , linode 的测速 ip ,访问一次电信就能瞬间丢来 13 个 tcp reset ,这种情况说明电信有针对特定 ip 限制。
2 ,同样将 socks5 端口应用在 tcp 53 ,敏感词就不会有 tcp reset 现象。
3 ,出国流量比较神奇下行 100kb/s 不到,上行却可以全速 300kb/s ,这个问题到底是电信造成的,还是搬瓦工造成的不得而知,显然掌握 qos 技术是可以让有限的流量应用在更多的用户,它可以带来直接的经济效益。用电信经常是全速下载过会儿就 100kb/s 左右。看起来这个动态限速大家都差不多只有 100kb/s 。
4 ,目前一些像 openvpn 之类的基本还是狂丢 tcpreset 。
5 , udp 流量确实能带来相对 tcp 的高速感觉,像 ocserv , softether 。但是一旦安装在 openwrt 就需要实际测试,在 mtk7620 openwrt 15.0 cc 上, ocserv 的流量远远不如 softether 快,同样经过加密的 kcptun 也远远不如不加密的,这个可能主要还是受制 mips 那可怜的 cpu 性能。

电信铁定有 qos 的存在, qos 也没有那么复杂它简单到只需要知道 ip 地址就足够了,至于现阶段的 kcptun 能用到多久还不知道,它也是目前最好的直接可以安装在 openwrt mtk7620 直接通过搬瓦工看 1080p 的。
想安全就用 stunnel ,三张基于 pki 证书验证可以有效的防止线路中间人,想看 youtube 就用 kcptun 。 ss 的存在还是因为它有移动客户端吧。
wonpn
2016-09-10 12:32:50 +08:00
@datocp 感谢这么详细的回复,
我是联通哈,电信什么情况不知道了。
openwrt (网件 R6100)上 ss 测试比 pc ss 要慢,当然 pc ss 也跑不满带宽,一半都不到
我这应该没有基于 ip 限速的 qos ,因为 pc 上 wget VPS 上的文件,速度跑满宽带( openwrt 上 wget 又慢了,估计走 ss 了)
我去努力看看各种协议和 ss 源码吧
ShunYea
2016-09-10 15:38:40 +08:00
@wonpn 看过一个所谓的内部人士透露的,反正我是信了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/304780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX