由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 10M persistent TCP connections
相关主题
C10M除了socket以外,还牵涉其他方面的技巧编程版目睹之怪现象。
求推荐一个真心交流技术的地方[bssd] Go 的大并发处理网络碰到两个个问题
废话少说,单机500万次每秒和井底之蛙,没什么好说的
goodbug做C10M?C10M 练习2: 空TCP 连接,1M per 4G RAM
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为各位所在公司的code review烦人不?
这个版看来是毁了这个版上就是一堆打嘴炮的
我的实测结果,纯计算每秒50M次interlocked.incrementCannot recvfrom() on ipv6, HELP!
为啥太监这么不要脸呢?两道小题
相关话题的讨论汇总
话题: c10m话题: 10m话题: tcp话题: openonload话题: 问题
进入Programming版参与讨论
1 (共1页)
T********i
发帖数: 2416
1
各位要不要开个赌盘?能不能做出来?
对我来讲就是50行code。
从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
Specs:
IBM M4 2 X 8 core Sandy Bridge Xeon
64GB memory
2 X Solarflare 6122F NICs
Linux RHEL 6
Client / Server各一台。
c****3
发帖数: 10787
2
C10M问题没那么简单吧
http://c10m.robertgraham.com/p/manifesto.html
T********i
发帖数: 2416
3
不客气地讲,
我迄今为止就没在本版看到第二个人知道怎么做的。
不靠谱的说法太多了。

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

w**z
发帖数: 8232
4
你写完,贴出来大家看了,说好,你牛, goodbug 错了, 不懂, 不就行了? 咋那么
好赌?

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

T********i
发帖数: 2416
5
goodbug这种蠢货。现在连计数器都不能深刻理解。
这种人就是疯狗。我的先进技术可不能喂了狗。做一个server binary放出来让大家测
没关系。没啥彩头我为啥要白干?

【在 w**z 的大作中提到】
: 你写完,贴出来大家看了,说好,你牛, goodbug 错了, 不懂, 不就行了? 咋那么
: 好赌?

c****3
发帖数: 10787
6
是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
的人,没有几个。

【在 T********i 的大作中提到】
: 不客气地讲,
: 我迄今为止就没在本版看到第二个人知道怎么做的。
: 不靠谱的说法太多了。

T********i
发帖数: 2416
7
其实代码又不多。各位为啥不亲自试试?
这个才是考验基本功。

【在 c****3 的大作中提到】
: 是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
: 的人,没有几个。

j*a
发帖数: 14423
8
魏老师教教我们怎么做吧/

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

c****3
发帖数: 10787
9
没有动力折腾。
C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

【在 T********i 的大作中提到】
: 其实代码又不多。各位为啥不亲自试试?
: 这个才是考验基本功。

w**z
发帖数: 8232
10
看楼上提供得link
http://c10m.robertgraham.com/p/manifesto.html
比魏老师看上去靠谱。

【在 j*a 的大作中提到】
: 魏老师教教我们怎么做吧/
相关主题
这个版看来是毁了编程版目睹之怪现象。
我的实测结果,纯计算每秒50M次interlocked.increment[bssd] Go 的大并发处理网络碰到两个个问题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
进入Programming版参与讨论
b********e
发帖数: 595
11
汗,一台client压千万长连接,看来这是要虚拟出200个网卡的节奏
T********i
发帖数: 2416
12
做个echo server好了。
看看总带宽能达到多少就可以了。
其实这种简单情形,你的系统性能的唯一指标就是带宽。

腾。

【在 c****3 的大作中提到】
: 没有动力折腾。
: C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
: 据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
: 接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

T********i
发帖数: 2416
13
这个链接说的都对。可惜我担保你不能深刻理解。
搞EE的玩过SOC的理解会更深刻一些。
你们这一批,已经被搞残了。

【在 w**z 的大作中提到】
: 看楼上提供得link
: http://c10m.robertgraham.com/p/manifesto.html
: 比魏老师看上去靠谱。

c****3
发帖数: 10787
14
内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
不太好。
10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

【在 T********i 的大作中提到】
: 做个echo server好了。
: 看看总带宽能达到多少就可以了。
: 其实这种简单情形,你的系统性能的唯一指标就是带宽。
:
: 腾。

b********e
发帖数: 595
15

40G
呵呵,实际调整起来还有很多设置。
有人调过,不过披露的内容不全。
http://blog.lifeibo.com/blog/2011/07/07/200-long-connection.htm
版上牛人多,10M随便写几行代码,小菜一碟。 lOL,吓的我等小兵屁滚尿流了。

【在 c****3 的大作中提到】
: 内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
: 和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
: 不太好。
: 10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

T********i
发帖数: 2416
16
这种应用,buffer有个512bytes都够了。
memory越大,throughput越高。
latency不会太好,但是流量低的情况下,做好sub millisecond没问题。

40G

【在 c****3 的大作中提到】
: 内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
: 和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
: 不太好。
: 10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

c***d
发帖数: 996
17
几年前facebook memcache farm也有类似的问题。因为memcached就是个有很多外部连
接的内存池。
whatsapp这种comet的应用前几年还觉得比较特殊(长连接多, 请求相对少),就是些
messenger app需要。 这几年好像更多了。因为mobile push notification 所以大家
支持mobile的服务器都要搞一搞这个?

【在 b********e 的大作中提到】
:
: 40G
: 呵呵,实际调整起来还有很多设置。
: 有人调过,不过披露的内容不全。
: http://blog.lifeibo.com/blog/2011/07/07/200-long-connection.htm
: 版上牛人多,10M随便写几行代码,小菜一碟。 lOL,吓的我等小兵屁滚尿流了。

n******t
发帖数: 4406
18
这和C10M没关系。。。

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

c***d
发帖数: 996
19
你写出来我给你发1000伪币。

【在 T********i 的大作中提到】
: 这种应用,buffer有个512bytes都够了。
: memory越大,throughput越高。
: latency不会太好,但是流量低的情况下,做好sub millisecond没问题。
:
: 40G

g*****g
发帖数: 34805
20
傻逼又出来叫板了,我偏偏就是mobile产品里做了 C10M 的。
你丫一民科成天找打。

【在 T********i 的大作中提到】
: 不客气地讲,
: 我迄今为止就没在本版看到第二个人知道怎么做的。
: 不靠谱的说法太多了。

相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
各位所在公司的code review烦人不?两道小题
这个版上就是一堆打嘴炮的Linux Socket编程
进入Programming版参与讨论
n******t
发帖数: 4406
21
这种帖子,没有用。。。
里面的do's and dont's都是说给大脑不清楚的人的,
清楚的人,自然就知道这些东西的十之八九。。
脑子浆糊的,看了最多顿悟几个钟头,然后继续到处胡诌。

【在 T********i 的大作中提到】
: 这个链接说的都对。可惜我担保你不能深刻理解。
: 搞EE的玩过SOC的理解会更深刻一些。
: 你们这一批,已经被搞残了。

T********i
发帖数: 2416
22
你丫别无耻了。
这种贪天功为己有的事都能做出来?
你多少斤两大家不知道?你要做C10M,等下辈子吧。

【在 g*****g 的大作中提到】
: 傻逼又出来叫板了,我偏偏就是mobile产品里做了 C10M 的。
: 你丫一民科成天找打。

b********e
发帖数: 595
23

消息类的应用应该大部分都是,不止mobile,主要是省server,充分利用资源。
whatapp那个应该有erlang在后面支撑,印象里erlang可以一堆机器之间比较容易的
cluster, vm native 支持,其实不奇怪,fb的chat也是erlang,使了什么,问问或者
搜搜就知道,使好了不容易, 不懂的咱也不瞎说了 :-)

【在 c***d 的大作中提到】
: 几年前facebook memcache farm也有类似的问题。因为memcached就是个有很多外部连
: 接的内存池。
: whatsapp这种comet的应用前几年还觉得比较特殊(长连接多, 请求相对少),就是些
: messenger app需要。 这几年好像更多了。因为mobile push notification 所以大家
: 支持mobile的服务器都要搞一搞这个?

b********e
发帖数: 595
24

唉,看了半天,这么多回帖,全是吵架的,没有干货

【在 n******t 的大作中提到】
: 这种帖子,没有用。。。
: 里面的do's and dont's都是说给大脑不清楚的人的,
: 清楚的人,自然就知道这些东西的十之八九。。
: 脑子浆糊的,看了最多顿悟几个钟头,然后继续到处胡诌。

b********e
发帖数: 595
25

腾。
我们公司QE有大牛用go写了一个,没等我们学会呢,然后大牛被lay了。

【在 c****3 的大作中提到】
: 没有动力折腾。
: C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
: 据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
: 接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

q*c
发帖数: 9453
26
用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
-- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
就不行了。
当然我们那机器也不咋样, 但是 10M 那是 1万倍。

【在 b********e 的大作中提到】
:
: 腾。
: 我们公司QE有大牛用go写了一个,没等我们学会呢,然后大牛被lay了。

s***o
发帖数: 2191
27
vert.x, 还有akka,会不会有同样的问题?

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

T********i
发帖数: 2416
28
我说过了。去年11月第一贴就讲的清清楚楚。
其他的都是虚的。只有throughput是实实在在的。
号称同时连接是多少,每秒多少message都没意义。
俺们这行很简单,就是concurrent connection,messages per second,size of
message。然后告诉大家你一台server能handle多少throughput。
谁都知道,一个NIC的throughput是多少,10G/20G full duplex。然后你看看你能做到
多少。越接近极限越牛逼。
所以,有没有意义,给出指标就好了。这一个server的性能,不见得比goodbug那个20
台server加起来性能差。

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

c****3
发帖数: 10787
29
这种连接数量必须用epoll,用select,poll就出你这种问题。

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

g*****g
发帖数: 34805
30
你丫见过1万个用户长什么样的再来吹什么C10M,一点实战经验没有,就这垃圾也配来
叫板。

20

【在 T********i 的大作中提到】
: 我说过了。去年11月第一贴就讲的清清楚楚。
: 其他的都是虚的。只有throughput是实实在在的。
: 号称同时连接是多少,每秒多少message都没意义。
: 俺们这行很简单,就是concurrent connection,messages per second,size of
: message。然后告诉大家你一台server能handle多少throughput。
: 谁都知道,一个NIC的throughput是多少,10G/20G full duplex。然后你看看你能做到
: 多少。越接近极限越牛逼。
: 所以,有没有意义,给出指标就好了。这一个server的性能,不见得比goodbug那个20
: 台server加起来性能差。
:

相关主题
问个关于socket问题求推荐一个真心交流技术的地方
UDP广播老是接收不到废话少说,单机500万次每秒
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
进入Programming版参与讨论
q*c
发帖数: 9453
31
用得是 socket.
epoll 是啥东西?

【在 c****3 的大作中提到】
: 这种连接数量必须用epoll,用select,poll就出你这种问题。
:
: sec

p*u
发帖数: 2454
32

lol...

【在 q*c 的大作中提到】
: 用得是 socket.
: epoll 是啥东西?

c****3
发帖数: 10787
33
http://en.wikipedia.org/wiki/Epoll
微软有个 io completion port和这个epoll类似,在线游戏公司都靠这个达到最大连接数
,还能保证相应速度。

【在 q*c 的大作中提到】
: 用得是 socket.
: epoll 是啥东西?

T********i
发帖数: 2416
34
别不要脸了。
家教不好要多看看心理医生,越长越不要脸那是丢人。
你当别人都看不出你正在丢人么?
你这种人,要是能有女人就奇怪了。你知道为什么么?

【在 g*****g 的大作中提到】
: 你丫见过1万个用户长什么样的再来吹什么C10M,一点实战经验没有,就这垃圾也配来
: 叫板。
:
: 20

g*****g
发帖数: 34805
35
我娃都俩了,你以为都跟你太监一个德性?你们连C10K都没做过,成天谈啥C10M你不嫌
丢人吗?

【在 T********i 的大作中提到】
: 别不要脸了。
: 家教不好要多看看心理医生,越长越不要脸那是丢人。
: 你当别人都看不出你正在丢人么?
: 你这种人,要是能有女人就奇怪了。你知道为什么么?

f****4
发帖数: 1359
36
Your post made my day, LOL

【在 q*c 的大作中提到】
: 用得是 socket.
: epoll 是啥东西?

T********i
发帖数: 2416
37
呵呵。这个,真同情你老婆。
跟你这么个没脸没皮的过日子。
你要是不服,拿$100K赌一把。就赌这个C10M的echo server如何?单机。
做过没做过重要么?我感觉对谁都不重要。重要的是能不能做?你是肯定不能做了。对
了,我说的还是单机。

【在 g*****g 的大作中提到】
: 我娃都俩了,你以为都跟你太监一个德性?你们连C10K都没做过,成天谈啥C10M你不嫌
: 丢人吗?

g*****g
发帖数: 34805
38
傻逼真不要脸呀,你丫没做过就是没做过。尼玛吹牛逼不是出来找打。
你丫号称能把12306做了,结果做出来一个太监计数器也号称是实现了。
反正死撑你宇宙第一。

【在 T********i 的大作中提到】
: 呵呵。这个,真同情你老婆。
: 跟你这么个没脸没皮的过日子。
: 你要是不服,拿$100K赌一把。就赌这个C10M的echo server如何?单机。
: 做过没做过重要么?我感觉对谁都不重要。重要的是能不能做?你是肯定不能做了。对
: 了,我说的还是单机。

g*****g
发帖数: 34805
39
epoll这东西java都封装了,不知道也没啥的,不妨碍用netty。

【在 f****4 的大作中提到】
: Your post made my day, LOL
T********i
发帖数: 2416
40
啥叫做过,啥叫没做过?
我说了,你不服气,拿钱出来赌一把。C10M,商定好term。让钱说话就好了。
50行的code,做过没做过都无所谓。会不会做很关键。
你做过的那些,说出来,大家都知道是屎一样东西了。你做过屎又能怎么样?你放声大
叫,这个版上有几个人好意思说你做的那些不是屎的?
屎一样的人,做屎一样的东西。

【在 g*****g 的大作中提到】
: 傻逼真不要脸呀,你丫没做过就是没做过。尼玛吹牛逼不是出来找打。
: 你丫号称能把12306做了,结果做出来一个太监计数器也号称是实现了。
: 反正死撑你宇宙第一。

相关主题
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为为啥太监这么不要脸呢?
这个版看来是毁了编程版目睹之怪现象。
进入Programming版参与讨论
g*****g
发帖数: 34805
41
尼玛啥叫做没做过?拿个产品里运行的东西大家看看就知道了。
你丫连10K用户都没做过,装啥蛋呀。

【在 T********i 的大作中提到】
: 啥叫做过,啥叫没做过?
: 我说了,你不服气,拿钱出来赌一把。C10M,商定好term。让钱说话就好了。
: 50行的code,做过没做过都无所谓。会不会做很关键。
: 你做过的那些,说出来,大家都知道是屎一样东西了。你做过屎又能怎么样?你放声大
: 叫,这个版上有几个人好意思说你做的那些不是屎的?
: 屎一样的人,做屎一样的东西。

q*c
发帖数: 9453
42
笑啥, 不知到有啥可笑的。

【在 p*u 的大作中提到】
:
: lol...

f****4
发帖数: 1359
43
我知道。只是上下文比较搞笑。两个人整个就不是在说同一个东西 :)

【在 g*****g 的大作中提到】
: epoll这东西java都封装了,不知道也没啥的,不妨碍用netty。
l*******n
发帖数: 373
44
据我的老掉牙的经验,epoll问题也很多,主要是bugs太多,现在不知道修好了没,多
年没用了。
S*A
发帖数: 7142
45
epoll 还好吧,很多游戏公司包括腾讯都用 epoll。
有bug 也早 fix 啦。
BTW, ngix 等一系列 http server 都是用 epoll 的。
这个应该是非常成熟的技术了。
S*A
发帖数: 7142
46
一个 client 不是很合适吧。
假设服务器只有一个 IP 和 一个端口,
在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
(修改,原来的帖子计算错了,算成1526, 现在改过来了)
才能同时给一个服务器端口提供 10M 个连接。
linux 倒是支持在一个网卡上有那末多 ip alias。
如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
那个正确实现最少要 200 行左右。如果能实现了,C10M 功
劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。
那 50 行大概和 OpenOnLoad 的 demo 代码很类似。

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

T********i
发帖数: 2416
47
服务器开几万个端口。反正测试结果不影响实际性能。
ip alias更麻烦。
我有现成的运行库。当然50行能搞定。
不是说了从头做只需要gcc也不会超过1000行吗?

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

T********i
发帖数: 2416
48
其实openonload之类的并不见得起决定作用。
维持住这些connection即使没有openonload也应该可以。
功劳主要在优化处理这方面。所以我看到那个号称VM 70%就知道那人的斤两了。
我曾经想如果有些现成的能用就先用着。本着这个目的和一个team沟通。开始几分钟还
好。然后那个人也讲了一个类似的cpu利用率的故事。然后就没有然后了。

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

b********e
发帖数: 595
49

不知道是不是我算错了,1000万/6万, 所以我开始看要虚拟出来200个网卡,没太注
意ip alias可以用,不过我没看到过这么做压力测试的,虽然理论上能这个干。

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

S*A
发帖数: 7142
50
你现成的运行库使用 OpenOnLoad 或者 DKDP 吗?
还是直接用 Linux epoll 那样裸写?
epoll 裸写大概 200 行左右,这个我写过。

【在 T********i 的大作中提到】
: 服务器开几万个端口。反正测试结果不影响实际性能。
: ip alias更麻烦。
: 我有现成的运行库。当然50行能搞定。
: 不是说了从头做只需要gcc也不会超过1000行吗?

相关主题
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
和井底之蛙,没什么好说的这个版上就是一堆打嘴炮的
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
进入Programming版参与讨论
S*A
发帖数: 7142
51
C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
流量就可以的。
这个是网上抄来的 C10M 定义:
Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
to handle:
- 10 million concurrent connections
- 10 gigabits/second
- 10 million packets/second
- 10 microsecond latency
- 10 microsecond jitter
- 1 million connections/second
直接用 linux 做的网络处理上限大概在 1M packet/sec 左右。
所以没有 openonload/DPDK 包的数目就吃不消。

【在 T********i 的大作中提到】
: 其实openonload之类的并不见得起决定作用。
: 维持住这些connection即使没有openonload也应该可以。
: 功劳主要在优化处理这方面。所以我看到那个号称VM 70%就知道那人的斤两了。
: 我曾经想如果有些现成的能用就先用着。本着这个目的和一个team沟通。开始几分钟还
: 好。然后那个人也讲了一个类似的cpu利用率的故事。然后就没有然后了。

S*A
发帖数: 7142
52
啊,是我算错了,应该 153 ip alias. 多谢指正。
Linux 虚拟网卡和 ip alias 是一样的东西?

【在 b********e 的大作中提到】
:
: 不知道是不是我算错了,1000万/6万, 所以我开始看要虚拟出来200个网卡,没太注
: 意ip alias可以用,不过我没看到过这么做压力测试的,虽然理论上能这个干。

T********i
发帖数: 2416
53
看来你不了解openonload。
onload就是一个wrapper process。socket API挂钩。现有的程序不用重编译直接加速。
用不用onload你的写法可以一模一样。
其实,连接数量少,epoll不是最优的。

【在 S*A 的大作中提到】
: 你现成的运行库使用 OpenOnLoad 或者 DKDP 吗?
: 还是直接用 Linux epoll 那样裸写?
: epoll 裸写大概 200 行左右,这个我写过。

T********i
发帖数: 2416
54
所以我说了,能维持10M连接最基本。此外就是throughput是唯一的性能指标。

able

【在 S*A 的大作中提到】
: C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
: 流量就可以的。
: 这个是网上抄来的 C10M 定义:
: Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
: RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
: to handle:
: - 10 million concurrent connections
: - 10 gigabits/second
: - 10 million packets/second
: - 10 microsecond latency

S*A
发帖数: 7142
55
我是不了解 openonload, 没有玩过10G 的网卡。
openonload 没有提供更加底层的 API?
那就是说还有可以更加优化的地方。
如果是包接受的话,用 socket read 需要至少
memcpy 一次。网卡的数据包进来的时候不知道
是哪个socket的,所以要先收下来,然后 copy
到现成的用户 buffer。 这个不用新的 API 是没法
优化的。openonload 有更加优化的接受办法吗?
还有 openonload 应该兼容 epoll 吧?
连接数量少,epoll 不是最优,但是也差不到那里
去吧。关键是 epoll 时间不会随着和连接个数线性
增加,连接数目多了必然要用这种 API 的。

速。

【在 T********i 的大作中提到】
: 看来你不了解openonload。
: onload就是一个wrapper process。socket API挂钩。现有的程序不用重编译直接加速。
: 用不用onload你的写法可以一模一样。
: 其实,连接数量少,epoll不是最优的。

T********i
发帖数: 2416
56
有底层API。但是限制挺多的。zero copy其实不是那么重要。
openonload能基本消除interrupt,这个提升更大。
Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
openonload epoll现在优化的很好。前两年还不行。
C10M应用,要用epoll。

【在 S*A 的大作中提到】
: 我是不了解 openonload, 没有玩过10G 的网卡。
: openonload 没有提供更加底层的 API?
: 那就是说还有可以更加优化的地方。
: 如果是包接受的话,用 socket read 需要至少
: memcpy 一次。网卡的数据包进来的时候不知道
: 是哪个socket的,所以要先收下来,然后 copy
: 到现成的用户 buffer。 这个不用新的 API 是没法
: 优化的。openonload 有更加优化的接受办法吗?
: 还有 openonload 应该兼容 epoll 吧?
: 连接数量少,epoll 不是最优,但是也差不到那里

d*******r
发帖数: 3299
57
请教魏老师,那看结论就是在 Linux 上搞 openonload+epoll, 还是能上 C10M 了?

了。

【在 T********i 的大作中提到】
: 有底层API。但是限制挺多的。zero copy其实不是那么重要。
: openonload能基本消除interrupt,这个提升更大。
: Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
: openonload epoll现在优化的很好。前两年还不行。
: C10M应用,要用epoll。

d*******r
发帖数: 3299
58
感谢分享 !! :)

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

d*******r
发帖数: 3299
59
同问,这些技术貌似不是build在 user space scheduler/networking_stack 基础上的
吧.
我知道 vert.x 是 over netty over Java NIO

【在 s***o 的大作中提到】
: vert.x, 还有akka,会不会有同样的问题?
:
: sec

S*A
发帖数: 7142
60

了。
LLC 的 cache 对 C10M 的问题帮助不大,因为到你的网络处理
程序开始用数据包的时候,LLC 早就被刷掉了。因为你的LLC 是给
整个系统用的,才那末几十M,对应机器内存有100G. 每秒钟 10 G
的 IO 吞吐量,cache miss 会是比较普遍的状态。
zcp 肯定还是重要的,看看人家说 4 个cache miss 就用光网络处理的
延时了。如果用主 CPU 再拷贝一次 IO 数据肯定有很大的影响。

【在 T********i 的大作中提到】
: 有底层API。但是限制挺多的。zero copy其实不是那么重要。
: openonload能基本消除interrupt,这个提升更大。
: Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
: openonload epoll现在优化的很好。前两年还不行。
: C10M应用,要用epoll。

相关主题
两道小题UDP广播老是接收不到
Linux Socket编程C10M除了socket以外,还牵涉其他方面的技巧
问个关于socket问题求推荐一个真心交流技术的地方
进入Programming版参与讨论
S*A
发帖数: 7142
61
这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
还有其他的连接相关的数据结构。你一定要实验的话,可以放开
数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
欢迎实地测试。

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

g*****g
发帖数: 34805
62
太监都是拍脑袋的。我说的C10M那是产品上跑出来的。

【在 S*A 的大作中提到】
: 这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
: OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
: 64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
: handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
: 要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
: 还有其他的连接相关的数据结构。你一定要实验的话,可以放开
: 数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
: 多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
: 欢迎实地测试。

d*******r
发帖数: 3299
63
http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
这种帖子确实让板上很受益呀!
我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
用多。
如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
/packet 都发到一个 UDP receiver 的话 (比如自己的协议里面有个 virtual sub
port number,用来复用这个 UDP receiver 的 server port number),server上是不
是一个 UDP socket fd 就够用了,这样就不用折腾 max fd 的限制了。
不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
user space app 自己做 reliable transmission, flow/congestion control 的话 (
貌似也可以做成一个 user space modified TCP over UDP...)。这样上 C10M 是不是
也是一种思路?
不知道 OpenOnLoad 具体怎样实现的.

【在 S*A 的大作中提到】
: 这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
: OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
: 64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
: handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
: 要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
: 还有其他的连接相关的数据结构。你一定要实验的话,可以放开
: 数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
: 多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
: 欢迎实地测试。

S*A
发帖数: 7142
64
这个我就轻微的批评你一下吧。对事不对人。
如果有冒犯多多包涵。
我设计实验 step 1 的时候邀请你来一起解决问题,你
也没有一起实验啊。“google 一下应该可以解决”其实
也是另一种形式的拍脑袋。
BTW,step2的实验 4G 机器上 1M空连接我实验好不
容易做出来了。用了一些 hack。我有空再研究一下不用
hack 可以不。如果过 4G 可以上 1M, 那64G 上 10M
应该还是有希望的。老 Wei 拍脑袋也没有拍差太多。
我前面说 64G 上不了,也是在拍脑袋说的。总之,实验
是检验真理的唯一标准。目前实验还不能证否老wei 的论
断。

【在 g*****g 的大作中提到】
: 太监都是拍脑袋的。我说的C10M那是产品上跑出来的。
S*A
发帖数: 7142
65
建议你看看 PF_RING. 类似的思路已经被搞过了。
你把发送的 TCP 搞好就有点类似 OpenOnLoad 了。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP receiver 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP receiver 的 server port number),server上是不
: 是一个 UDP socket fd 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

l*********s
发帖数: 5409
66
可行,不过reliability,congestion control,这个工作量恐怕不是你一个人能干的。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP receiver 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP receiver 的 server port number),server上是不
: 是一个 UDP socket fd 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

h****r
发帖数: 2056
67
这个定义也不严肃,
10 gigabits/second和10 million packets/second在一起,一看也就是个
动嘴比动手更多的人定义的。

able

【在 S*A 的大作中提到】
: C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
: 流量就可以的。
: 这个是网上抄来的 C10M 定义:
: Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
: RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
: to handle:
: - 10 million concurrent connections
: - 10 gigabits/second
: - 10 million packets/second
: - 10 microsecond latency

h****r
发帖数: 2056
68
UDP的问题是一旦中间出错,不得不retransmission,这个就是恶性循环的开始,32位
的application离崩就不远了,64位的application可能把整机搞垮。
你可以用FEC来帮忙,但是那个cost不低。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP receiver 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP receiver 的 server port number),server上是不
: 是一个 UDP socket fd 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

S*A
发帖数: 7142
69

你搞笑吧,http://c10m.robertgraham.com/p/manifesto.html
Robert Graham 就是专门研究这个问题的,他的方案很异端,
但是绝大多数都是合理的,我绝对相信他的 insight 比你强。
你做不出来不等于人家用很极至的方案做不出来。
你自己去看吧。
我没有看出来 10Gps 和 10M Packet/per second 有什么问题?
一般的 kernel 是做不出来,但是人家也没有用普通的 kernel.

【在 h****r 的大作中提到】
: 这个定义也不严肃,
: 10 gigabits/second和10 million packets/second在一起,一看也就是个
: 动嘴比动手更多的人定义的。
:
: able

d*******r
发帖数: 3299
70
正在看 PF_RING DNA http://www.ntop.org/products/pf_ring/dna/
非常有意思!现在有公司用这个在 user space 实现自己的 high-perf networking
stack 吗
请问现在新派的 system 的公司,是不是很多都在绕过 Linux kernel, 自己按照需求
在 user space 用 C/C++ 重新实现 OS 的一些功能了啊。比如像做存储的 Pure
Storage 之类的.

【在 S*A 的大作中提到】
: 建议你看看 PF_RING. 类似的思路已经被搞过了。
: 你把发送的 TCP 搞好就有点类似 OpenOnLoad 了。
:
: message
: sub
: fd

相关主题
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
进入Programming版参与讨论
d*******r
发帖数: 3299
71
自己根据需求,写个简单的, 实现 specific 的一些功能,还是有可能的。

【在 l*********s 的大作中提到】
: 可行,不过reliability,congestion control,这个工作量恐怕不是你一个人能干的。
:
: message
: sub
: fd

S*A
发帖数: 7142
72
PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
目前比较靠谱的是这个,至少可以看到源代码。
www.dpdk.org
OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
Intel e1000 还是比较容易找到的。

【在 d*******r 的大作中提到】
: 正在看 PF_RING DNA http://www.ntop.org/products/pf_ring/dna/
: 非常有意思!现在有公司用这个在 user space 实现自己的 high-perf networking
: stack 吗
: 请问现在新派的 system 的公司,是不是很多都在绕过 Linux kernel, 自己按照需求
: 在 user space 用 C/C++ 重新实现 OS 的一些功能了啊。比如像做存储的 Pure
: Storage 之类的.

d*******r
发帖数: 3299
73
我的理解是 Robert Graham 觉得 kernel 就是主要问题所在吧,因为当年硬件的
assumption太土了。
他是主张绕过 kernel,自己在 user space 写 high-perf 的 networking stack 吧。
我理解得对吗?

【在 S*A 的大作中提到】
: PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
: 目前比较靠谱的是这个,至少可以看到源代码。
: www.dpdk.org
: OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
: Intel e1000 还是比较容易找到的。

d*******r
发帖数: 3299
74
所以要自己做 flow control, 至少简单的 flow control
请问 FEC 指的是什么

【在 h****r 的大作中提到】
: UDP的问题是一旦中间出错,不得不retransmission,这个就是恶性循环的开始,32位
: 的application离崩就不远了,64位的application可能把整机搞垮。
: 你可以用FEC来帮忙,但是那个cost不低。
:
: message
: sub
: fd

h****r
发帖数: 2056
75
你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
是搞science做POC骗funding。
我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

【在 S*A 的大作中提到】
: PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
: 目前比较靠谱的是这个,至少可以看到源代码。
: www.dpdk.org
: OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
: Intel e1000 还是比较容易找到的。

S*A
发帖数: 7142
76
绕过 kernel 是,user space 不一定。
他把一些 core 和内存直接保留自己用,所以网卡驱动是直接跑在裸 CPU
上面的。所以那个更像 kernel 而不是 user space。
反正不是依赖系统调用的那种 user space.

【在 d*******r 的大作中提到】
: 我的理解是 Robert Graham 觉得 kernel 就是主要问题所在吧,因为当年硬件的
: assumption太土了。
: 他是主张绕过 kernel,自己在 user space 写 high-perf 的 networking stack 吧。
: 我理解得对吗?

h****r
发帖数: 2056
77
http://en.wikipedia.org/wiki/Forward_error_correction

【在 d*******r 的大作中提到】
: 所以要自己做 flow control, 至少简单的 flow control
: 请问 FEC 指的是什么

d*******r
发帖数: 3299
78
要不你也参加 SSA 的 C10M 实验系列吧
大家少吵架,多干实事 :)

【在 h****r 的大作中提到】
: 你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
: engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
: 是搞science做POC骗funding。
: 我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
: 我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

S*A
发帖数: 7142
79

不是很理解,展开说说。他列这两项出来,就是为了说,C10M
不是单单保持 TCP 连接就可以了,应该用一定的流量。而且也不应该
是全部大的 jumbo frame, 应该有小的数据包。因为中断处理的问题,
一般的 kernel 网络处理的时候,10G 只有大的数据包才行,受到
packet rate 的限制。 Robert 对 packet rate 提出要求,就是说
平均包大小再 1K 左右,不是全部 jumbo frame。 我觉得很合理啊。
你觉得这个放一起有很大问题吗?我觉得这个是 Insight,针对以前
10G 网卡单单 bitrate 的测试说的。你觉得思考什么地方不透彻了?
对不起,不是很了解你,假设你做不出来是不对的。你有什么 insight
可以共享一下?

【在 h****r 的大作中提到】
: 你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
: engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
: 是搞science做POC骗funding。
: 我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
: 我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

h****r
发帖数: 2056
80
简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
那这两个里面显然是该是10 gigabits/second。
实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
写了,但是于build on top的application的参考价值就小了至少几个级数。
我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

【在 S*A 的大作中提到】
:
: 不是很理解,展开说说。他列这两项出来,就是为了说,C10M
: 不是单单保持 TCP 连接就可以了,应该用一定的流量。而且也不应该
: 是全部大的 jumbo frame, 应该有小的数据包。因为中断处理的问题,
: 一般的 kernel 网络处理的时候,10G 只有大的数据包才行,受到
: packet rate 的限制。 Robert 对 packet rate 提出要求,就是说
: 平均包大小再 1K 左右,不是全部 jumbo frame。 我觉得很合理啊。
: 你觉得这个放一起有很大问题吗?我觉得这个是 Insight,针对以前
: 10G 网卡单单 bitrate 的测试说的。你觉得思考什么地方不透彻了?
: 对不起,不是很了解你,假设你做不出来是不对的。你有什么 insight

相关主题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
编程版目睹之怪现象。C10M 练习2: 空TCP 连接,1M per 4G RAM
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
进入Programming版参与讨论
d*******r
发帖数: 3299
81
那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
collecting server.
packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

【在 h****r 的大作中提到】
: 简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
: 那这两个里面显然是该是10 gigabits/second。
: 实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
: 经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
: 写了,但是于build on top的application的参考价值就小了至少几个级数。
: 我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
: ,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
: 但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

z****e
发帖数: 54598
82
你想做什么游戏?
非抬杠
但是我觉得你似乎对我说的一些做游戏的,尤其是画面不是很感兴趣

【在 d*******r 的大作中提到】
: 那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
: collecting server.
: packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

S*A
发帖数: 7142
83

我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
这个 10M packet per second。 人家画了 10M packet/s 的线,就是
说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
了不是更松了。这里是个大于等于的关系。
也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
robert 认为是没 pass, 不是比你的标准严格么?
这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate
的 10G 还不够好。这个是有现实意义的。
所以你没有要求人家有要求其实是更加严格了。
你出口就说人家没有动手做过这个也有点太武断,
和我说你没有做过一样,是不是有点这个意思?
BTW, 我认为 Robert 说的 C10M 是他自己做过的。看看他的talk。

【在 h****r 的大作中提到】
: 简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
: 那这两个里面显然是该是10 gigabits/second。
: 实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
: 经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
: 写了,但是于build on top的application的参考价值就小了至少几个级数。
: 我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
: ,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
: 但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

h****r
发帖数: 2056
84
其实你老也不用多想,实际上相当一部分老江湖思想里还是受过时的ATM的影响,未得
TCP/IP的精髓,这不是我的理解有问题。你老开始先说平均1k,看完我说的后再提不小
于10M,这个属于有点揣摩robert的原意了,更可能的事他自己都没想清楚,我们在这
里arguing for the sake of arguement没有意义。
Robert做没做过没有问题,这个我相信,看得出来他显然碰到了一些瓶颈,不得不用一
些bypass,但做到啥程度是个问题。做到发文章的程度不难,做到通用实用的程度就是
另一回事了。

【在 S*A 的大作中提到】
:
: 我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
: 人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
: 这个 10M packet per second。 人家画了 10M packet/s 的线,就是
: 说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
: 了不是更松了。这里是个大于等于的关系。
: 也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
: robert 认为是没 pass, 不是比你的标准严格么?
: 这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
: 更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate

d*******r
发帖数: 3299
85
一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
,Unity3D 也native地支持2D游戏了。跑题了。。。

【在 z****e 的大作中提到】
: 你想做什么游戏?
: 非抬杠
: 但是我觉得你似乎对我说的一些做游戏的,尤其是画面不是很感兴趣

z****e
发帖数: 54598
86
你不会什么游戏都想做吧?只要做游戏就开心?
我只想做自己喜欢玩的游戏啊,我都已经作出原形了
要改也是以后的事了,现阶段还是慢慢完善,早日上线为主要目的

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

h****r
发帖数: 2056
87
大量匀速到达的小size packets?这个requirement太specific了,没有burst的
application如果有也是极其小众的应用,能customized的东西就尽量不用通用系统,
这样可以最大优化。

【在 d*******r 的大作中提到】
: 那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
: collecting server.
: packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

S*A
发帖数: 7142
88
我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。

我是要观察你的回应才能猜测出我们的理解有什么差异,
这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
也就是说,其他条件都满足11M packet per second 是符合 C10M
还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
把。有的出来说一下。
那显然不是通用啊。都自己 custom core/RAM。
谁有可以做个真正宇宙通用的东西来给大家用用呢?
每一个实现都是有自己的局限性的。

【在 h****r 的大作中提到】
: 其实你老也不用多想,实际上相当一部分老江湖思想里还是受过时的ATM的影响,未得
: TCP/IP的精髓,这不是我的理解有问题。你老开始先说平均1k,看完我说的后再提不小
: 于10M,这个属于有点揣摩robert的原意了,更可能的事他自己都没想清楚,我们在这
: 里arguing for the sake of arguement没有意义。
: Robert做没做过没有问题,这个我相信,看得出来他显然碰到了一些瓶颈,不得不用一
: 些bypass,但做到啥程度是个问题。做到发文章的程度不难,做到通用实用的程度就是
: 另一回事了。

h****r
发帖数: 2056
89
不能这么说,C10k还是很经典通用的问题和解决方案,epoll也算个就是个宇宙通用的
东西,user level的异步也能算宇宙通用的东西,Linux Kernel也基本通用了,当然还
是有需要tailor的专业系统。能cover大范围的就算通用了。
第一不取平均(应用中无意义,开会吹牛灌水发文章有意义),第二能做到10Gbits/
second就了不起了。大于等于是下一步的事。

【在 S*A 的大作中提到】
: 我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。
:
: 我是要观察你的回应才能猜测出我们的理解有什么差异,
: 这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
: 我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
: 也就是说,其他条件都满足11M packet per second 是符合 C10M
: 还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
: 把。有的出来说一下。
: 那显然不是通用啊。都自己 custom core/RAM。
: 谁有可以做个真正宇宙通用的东西来给大家用用呢?

S*A
发帖数: 7142
90
我的实验3 就要用宇宙通用的 epoll 啦,有没哟兴趣一起做呢?

【在 h****r 的大作中提到】
: 不能这么说,C10k还是很经典通用的问题和解决方案,epoll也算个就是个宇宙通用的
: 东西,user level的异步也能算宇宙通用的东西,Linux Kernel也基本通用了,当然还
: 是有需要tailor的专业系统。能cover大范围的就算通用了。
: 第一不取平均(应用中无意义,开会吹牛灌水发文章有意义),第二能做到10Gbits/
: second就了不起了。大于等于是下一步的事。

相关主题
这个版上就是一堆打嘴炮的Linux Socket编程
Cannot recvfrom() on ipv6, HELP!问个关于socket问题
两道小题UDP广播老是接收不到
进入Programming版参与讨论
b********e
发帖数: 595
91

游戏行业蛋疼的都在裁员,个人玩玩可以,千万别跳火坑

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

g*****g
发帖数: 34805
92
我不是说了,现实的做法不是这么做. 一旦你用多个IP, 在编程上有很多不方便的地方
。远不如VM,把连接限制在64K以下来得方便。机器很强,可以多起几个VM. 出问题的
时候波及面也少。
不把鸡蛋放进同一篮子是 HA的核心思想。
说到内存
,当年我用的机器,十个VM,
内存有300多个G. 单机能撑50万连接,什么1024个连接那是google 一下必定能解决的
问题。
我们常年要处理VM上5k-10K的单机并发,这个数目要是搞不定也不用混了。拍脑袋有不
同的拍发,做过了
,不记得细节。跟没做过出来瞎吹是俩嘛事。

【在 S*A 的大作中提到】
: 这个我就轻微的批评你一下吧。对事不对人。
: 如果有冒犯多多包涵。
: 我设计实验 step 1 的时候邀请你来一起解决问题,你
: 也没有一起实验啊。“google 一下应该可以解决”其实
: 也是另一种形式的拍脑袋。
: BTW,step2的实验 4G 机器上 1M空连接我实验好不
: 容易做出来了。用了一些 hack。我有空再研究一下不用
: hack 可以不。如果过 4G 可以上 1M, 那64G 上 10M
: 应该还是有希望的。老 Wei 拍脑袋也没有拍差太多。
: 我前面说 64G 上不了,也是在拍脑袋说的。总之,实验

d*******r
发帖数: 3299
93
我是自己做着玩儿, 跑题跑题...

【在 z****e 的大作中提到】
: 你不会什么游戏都想做吧?只要做游戏就开心?
: 我只想做自己喜欢玩的游戏啊,我都已经作出原形了
: 要改也是以后的事了,现阶段还是慢慢完善,早日上线为主要目的

d*******r
发帖数: 3299
94
这个是我没说清楚,我说的匀速是指一条从client到server的connection以内,比如游
戏人物到server的 heartbeats 或者 每单位时间的 游戏client 的 states update.
我觉得这种 scenario, 每个状态更新的packet,都是大小差不多的,small size的。
不会一个很大,一个很小。所以 message or packets per second 的 measurement 对
这种 scenario 是有意义的。
但是从 server 端看,肯定也有忽然接收很多 concurrent connections 的情况,比如
周五晚上大家都上线玩游戏了。

【在 h****r 的大作中提到】
: 大量匀速到达的小size packets?这个requirement太specific了,没有burst的
: application如果有也是极其小众的应用,能customized的东西就尽量不用通用系统,
: 这样可以最大优化。

h****r
发帖数: 2056
95
你老的工作经验很深入,但是还是比较specific。scale out不是林总的四野,能包打
天下。你这个方法在在cloud或者data center里有意义。但还有很多的应用,不可能或
者是不现实用scale out的方法,而只能scale up。单机C10M就有其意义了。
不管对scale out还是scale up,HA本身都不是问题,scale up要HA,就上双机,
Active/standby,floating NIC/floating IP就是了;要zero down time,就Active/
Active好了。

【在 g*****g 的大作中提到】
: 我不是说了,现实的做法不是这么做. 一旦你用多个IP, 在编程上有很多不方便的地方
: 。远不如VM,把连接限制在64K以下来得方便。机器很强,可以多起几个VM. 出问题的
: 时候波及面也少。
: 不把鸡蛋放进同一篮子是 HA的核心思想。
: 说到内存
: ,当年我用的机器,十个VM,
: 内存有300多个G. 单机能撑50万连接,什么1024个连接那是google 一下必定能解决的
: 问题。
: 我们常年要处理VM上5k-10K的单机并发,这个数目要是搞不定也不用混了。拍脑袋有不
: 同的拍发,做过了

h****r
发帖数: 2056
96
可以啊,你的schedule急不急?我最近有点小忙不断,得再有两礼拜才有空。

【在 S*A 的大作中提到】
: 我的实验3 就要用宇宙通用的 epoll 啦,有没哟兴趣一起做呢?
g*****g
发帖数: 34805
97
好吧,你来举个单机C10M的实践例子。这种东西玩玩benchmark就罢了,本来就没有实
用价值。当你有千万用户的时候,HA比啥都重要,你也不会买不起20台机器。

【在 h****r 的大作中提到】
: 你老的工作经验很深入,但是还是比较specific。scale out不是林总的四野,能包打
: 天下。你这个方法在在cloud或者data center里有意义。但还有很多的应用,不可能或
: 者是不现实用scale out的方法,而只能scale up。单机C10M就有其意义了。
: 不管对scale out还是scale up,HA本身都不是问题,scale up要HA,就上双机,
: Active/standby,floating NIC/floating IP就是了;要zero down time,就Active/
: Active好了。

h****r
发帖数: 2056
98
见上文,scale up HA不是问题。
scale out和scale up面临的HA问题其实可以收敛到一个点的,这还是一个应用问题。

【在 g*****g 的大作中提到】
: 好吧,你来举个单机C10M的实践例子。这种东西玩玩benchmark就罢了,本来就没有实
: 用价值。当你有千万用户的时候,HA比啥都重要,你也不会买不起20台机器。

g*****g
发帖数: 34805
99
我就求一个单机C10M的实践例子,有就是有,没有就是没有。我老是没听说过。
如果有,我去学习一下当然很好。我老只相信实践,不相信太监。

【在 h****r 的大作中提到】
: 见上文,scale up HA不是问题。
: scale out和scale up面临的HA问题其实可以收敛到一个点的,这还是一个应用问题。

g****r
发帖数: 1589
100
我去,大牛能把代码贴出来让我们学习学习吗

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

相关主题
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
进入Programming版参与讨论
h****r
发帖数: 2056
101
这个我也有doubt,但是目前我倾向有,感觉技术上能实现,cost(不是指硬件)就是
另一回事。
当然我说的是general purpose的应用,比你说的一个单机C10M的实践例子要求高一些。

【在 g*****g 的大作中提到】
: 我就求一个单机C10M的实践例子,有就是有,没有就是没有。我老是没听说过。
: 如果有,我去学习一下当然很好。我老只相信实践,不相信太监。

g*****g
发帖数: 34805
102
我说的实践当然是实在的应用,你就算实现个10M的helloworld也不能叫有实用价值。
这年头硬件那么便宜,cloud上VM那么方便。哪怕技术上可行,光增加了开发难度都不
值。
对于这种高并发的东西,我没听说过的,基本上就没有。

些。

【在 h****r 的大作中提到】
: 这个我也有doubt,但是目前我倾向有,感觉技术上能实现,cost(不是指硬件)就是
: 另一回事。
: 当然我说的是general purpose的应用,比你说的一个单机C10M的实践例子要求高一些。

h****r
发帖数: 2056
103
你没看懂我的意思。我说的不仅是实践,还要能通用,不能像C10K一样提供通用解决方
案有啥意义?
当然你老信心满满绝对不是坏事,起码有利身体健康。我可不是开玩笑。

【在 g*****g 的大作中提到】
: 我说的实践当然是实在的应用,你就算实现个10M的helloworld也不能叫有实用价值。
: 这年头硬件那么便宜,cloud上VM那么方便。哪怕技术上可行,光增加了开发难度都不
: 值。
: 对于这种高并发的东西,我没听说过的,基本上就没有。
:
: 些。

g*****g
发帖数: 34805
104
就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
我老只不过经验多一点,总是比你们多想几步罢了。

【在 h****r 的大作中提到】
: 你没看懂我的意思。我说的不仅是实践,还要能通用,不能像C10K一样提供通用解决方
: 案有啥意义?
: 当然你老信心满满绝对不是坏事,起码有利身体健康。我可不是开玩笑。

d*******r
发帖数: 3299
105
大牛说的是,多node增加容错能力确实很重要,但是我觉得单机的效能压榨也挺有意思
的.
如果单机能压榨出 C10M,做多node cluster的时候,调整每个 node 的处理能力,不
也多了个high performance的 option了吗。
我觉得好像也不矛盾。

【在 g*****g 的大作中提到】
: 就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
: 的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
: 恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
: 我老只不过经验多一点,总是比你们多想几步罢了。

h****r
发帖数: 2056
106
呵呵,多想几步,那是越想越怕,都想到要被fire了,当然就没有胆子做事了。
所以老中大多是80分水平的守成工程师,90分就是凤毛菱角了,更别提95分的。
坦率一点说,你老要是有google那个每年半米的package,当然谨慎一点。要是20多万
的package,湾区还是能找到一些的,何必前怕狼后怕虎?只要不是Andy Rubin那种档
次的开发人员,也不用太担心自己在别的公司的名声。
呵呵,扯远了。大家以后还是该只谈技术。

【在 g*****g 的大作中提到】
: 就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
: 的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
: 恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
: 我老只不过经验多一点,总是比你们多想几步罢了。

g*****g
发帖数: 34805
107
我做的架构最高也就到20M并发级别,再高我没有实战经验。不过世界上最高的这些应
用也不过在100M级别。
想像一下如果你上10个机器去撑100M,一旦出问题,剩余的每台机器就要面对>1M的瞬
间冲击,很可能跟着崩盘。
相比之下如果是100个机器,则是坏掉1个,1M去冲击99台机器,不过>1万的瞬间冲击,
要容易太多。
我说世界上没有10M的单机应用,不敢说打包票,八九不离十还是有的。

【在 d*******r 的大作中提到】
: 大牛说的是,多node增加容错能力确实很重要,但是我觉得单机的效能压榨也挺有意思
: 的.
: 如果单机能压榨出 C10M,做多node cluster的时候,调整每个 node 的处理能力,不
: 也多了个high performance的 option了吗。
: 我觉得好像也不矛盾。

g*****g
发帖数: 34805
108
另外,就算应用服务器撑住了。绝大部分的应用在初始化的时候要读入user profile,
这要远比处理一个短信对数据库压力大的多。就算初始化是单条短信10倍就好。不是每
时每刻每个用户都发短信的。可以想见数据库瞬时可能要面临平时10倍以上的压力,能
否撑住是很大问题。
g*****g
发帖数: 34805
109
不是怕被fire,是理论上算算觉得多半撑不住,不去费那劲。EC2上有各种选择,可以
选配置高点的,也可以选配置低点的多一些机器,要省钱不是一条路,我知道我们前端
就没用最大的instance, 居于同样的原因。还是那句话,你去找个实例来,那自然我错
了。否则,最多就是个理论的可行性而已。
这板上盛行的就是10K并发没产品里实践过,成天想着我单机10M helloworld怎么弄。
在我看来都是
很可笑的事情。

【在 h****r 的大作中提到】
: 呵呵,多想几步,那是越想越怕,都想到要被fire了,当然就没有胆子做事了。
: 所以老中大多是80分水平的守成工程师,90分就是凤毛菱角了,更别提95分的。
: 坦率一点说,你老要是有google那个每年半米的package,当然谨慎一点。要是20多万
: 的package,湾区还是能找到一些的,何必前怕狼后怕虎?只要不是Andy Rubin那种档
: 次的开发人员,也不用太担心自己在别的公司的名声。
: 呵呵,扯远了。大家以后还是该只谈技术。

S*A
发帖数: 7142
110
不急,我也就是自己捣腾玩玩。我大概会用心险恶的放些
比较弱的代码出来,座等大家和我一样碰钉子,看看大家
可不可以讨论和贡献代码来解决这些问题的。
当然我事先都会自己试一下先,不会叫大家做不可能的东西。

【在 h****r 的大作中提到】
: 可以啊,你的schedule急不急?我最近有点小忙不断,得再有两礼拜才有空。
相关主题
这个版看来是毁了编程版目睹之怪现象。
我的实测结果,纯计算每秒50M次interlocked.increment[bssd] Go 的大并发处理网络碰到两个个问题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
进入Programming版参与讨论
S*A
发帖数: 7142
111
单机C10M有感,C10M 和 C10K 从来都是指单机的。
cluster 那种不叫 C10M。至少网上我还没有看到其他
地方有这种叫法。
d*******r
发帖数: 3299
112
不过我觉得 goodbug 实际应用场景里面考虑 robust 和 reliable 那些分析,还是很
在理的。

【在 S*A 的大作中提到】
: 单机C10M有感,C10M 和 C10K 从来都是指单机的。
: cluster 那种不叫 C10M。至少网上我还没有看到其他
: 地方有这种叫法。

g*****g
发帖数: 34805
113
C10K没问题,即便10年前。百万用户在线的应用还是很多的。1万用户当了不过是百分
之一的冲击。
这年头没有1B在线的应用,最多100M. 你要把10M鸡蛋放进一个篮子,篮子破了有没有
足够的机器去顶住冲击,就是个很重要的问题。特别是对于persistent connection的
应用,这个冲击更为明显。
你要说做个proxy server, load balancer也罢,要套whatsApp,这是必须回答的问题
。我老
只不过出于职业的敏感,告诉你篮子破了怎么办的问题远比篮子够不够大的问题难得多。

【在 S*A 的大作中提到】
: 单机C10M有感,C10M 和 C10K 从来都是指单机的。
: cluster 那种不叫 C10M。至少网上我还没有看到其他
: 地方有这种叫法。

S*A
发帖数: 7142
114
这个是两了独立的问题好不好。
C10M 是说篮子可以装更多的鸡蛋的技术。
goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
问题搞得更加说不清了。
用 cluster 技术也不应该防止把一个篮子做大的技术。
回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
就行了。那就不会现在有 epoll 这些好东东了。
这个是技术发展的两个不同方向。又没有人说一定单用一个。

多。

【在 g*****g 的大作中提到】
: C10K没问题,即便10年前。百万用户在线的应用还是很多的。1万用户当了不过是百分
: 之一的冲击。
: 这年头没有1B在线的应用,最多100M. 你要把10M鸡蛋放进一个篮子,篮子破了有没有
: 足够的机器去顶住冲击,就是个很重要的问题。特别是对于persistent connection的
: 应用,这个冲击更为明显。
: 你要说做个proxy server, load balancer也罢,要套whatsApp,这是必须回答的问题
: 。我老
: 只不过出于职业的敏感,告诉你篮子破了怎么办的问题远比篮子够不够大的问题难得多。

b*******s
发帖数: 5216
115
对了,r/w buffer的最小尺寸是受mem page size限制的
最小就是一个分页
所以实际要分配buffer了,可以通过修改分页大小
现在内核代码里是通过一个bitwise移位来控制的
移位12位,正好4096bytes

【在 S*A 的大作中提到】
: 这个是两了独立的问题好不好。
: C10M 是说篮子可以装更多的鸡蛋的技术。
: goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
: 这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
: 解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
: 没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
: 问题搞得更加说不清了。
: 用 cluster 技术也不应该防止把一个篮子做大的技术。
: 回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
: 就行了。那就不会现在有 epoll 这些好东东了。

g*****g
发帖数: 34805
116
你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
增长了。
因为全世界人口就那么多。
所以C10M是个伪问题。实践中根本不会在单机上放那么多。

【在 S*A 的大作中提到】
: 这个是两了独立的问题好不好。
: C10M 是说篮子可以装更多的鸡蛋的技术。
: goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
: 这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
: 解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
: 没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
: 问题搞得更加说不清了。
: 用 cluster 技术也不应该防止把一个篮子做大的技术。
: 回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
: 就行了。那就不会现在有 epoll 这些好东东了。

b*******s
发帖数: 5216
117
物联网会带来大量设备
当然你也可以做个智能路由器一家就一个连接

【在 g*****g 的大作中提到】
: 你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
: 增长了。
: 因为全世界人口就那么多。
: 所以C10M是个伪问题。实践中根本不会在单机上放那么多。

b*******s
发帖数: 5216
118
已经有一些智能路由器项目在开始了

【在 b*******s 的大作中提到】
: 物联网会带来大量设备
: 当然你也可以做个智能路由器一家就一个连接

S*A
发帖数: 7142
119
我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
人口不够多,C10M 是为命题不都是这个意思吗?
我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
再说一遍,这个和 C10M 技术本身无关。
说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
你会选择不用,改用更加实际的 C5K ?
你觉得没有大有人觉得有用。

【在 g*****g 的大作中提到】
: 你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
: 增长了。
: 因为全世界人口就那么多。
: 所以C10M是个伪问题。实践中根本不会在单机上放那么多。

g*****g
发帖数: 34805
120
不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
的先进经验是有必要的。
我认为这是伪命题就是因为没有看到任何一个实战做了。
高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

【在 S*A 的大作中提到】
: 我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
: 人口不够多,C10M 是为命题不都是这个意思吗?
: 我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
: 再说一遍,这个和 C10M 技术本身无关。
: 说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
: 你会选择不用,改用更加实际的 C5K ?
: 你觉得没有大有人觉得有用。

相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
各位所在公司的code review烦人不?两道小题
这个版上就是一堆打嘴炮的Linux Socket编程
进入Programming版参与讨论
S*A
发帖数: 7142
121
你不要那么过敏好不好?我什么时候质疑过
你的资历了?技术讨论干嘛一定要靠资历
说服人?我都说了,你说的cluster点都对,
但是和 c10m 本身无关。
请问你的资历和c10m有什么直接关系?
我本来就是想验证一下老wei那个是
不是可以做出来的。尽可能通过实验
数据来说明情况。你老是跑题拿你的
经验和资历来说问题。
你再好好想想?

300G

【在 g*****g 的大作中提到】
: 不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
: 的先进经验是有必要的。
: 我认为这是伪命题就是因为没有看到任何一个实战做了。
: 高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
: 内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

S*A
发帖数: 7142
122
这个是我想找的,但是还没有找到。
请问是那个函数切到 page size?
我看了skbuff 调用的分配内存函数
是可以切更小的,到32bytes。

【在 b*******s 的大作中提到】
: 对了,r/w buffer的最小尺寸是受mem page size限制的
: 最小就是一个分页
: 所以实际要分配buffer了,可以通过修改分页大小
: 现在内核代码里是通过一个bitwise移位来控制的
: 移位12位,正好4096bytes

b*******s
发帖数: 5216
123
tcp_rmem (since Linux 2.4)
This is a vector of 3 integers: [min, default, max]. These
parameters are used by TCP to regulate receive buffer sizes.
TCP dynamically adjusts the size of the receive buffer from
the defaults listed below, in the range of these values,
depending on memory available in the system.
min minimum size of the receive buffer used by each TCP
socket. The default value is the system page size.
(On Linux 2.4, the default value is 4K, lowered to
PAGE_SIZE bytes in low-memory systems.) This value
is used to ensure that in memory pressure mode,
allocations below this size will still succeed.
This is not used to bound the size of the receive
buffer declared using SO_RCVBUF on a socket.
http://man7.org/linux/man-pages/man7/tcp.7.html

【在 S*A 的大作中提到】
: 这个是我想找的,但是还没有找到。
: 请问是那个函数切到 page size?
: 我看了skbuff 调用的分配内存函数
: 是可以切更小的,到32bytes。

b*******s
发帖数: 5216
124
不是某个函数,而是文档就是这么要求的,低于这个值pressure就不一定能正确工作了
不过实际系统,这样做副作用太大了

【在 S*A 的大作中提到】
: 这个是我想找的,但是还没有找到。
: 请问是那个函数切到 page size?
: 我看了skbuff 调用的分配内存函数
: 是可以切更小的,到32bytes。

S*A
发帖数: 7142
125
那这个回答还没有完全回答我的疑问,我就是想知道想老Wei
说的那样把它设置到 512 会发生什么情况。如果有副作用,
到底是什么样的副作用。

【在 b*******s 的大作中提到】
: 不是某个函数,而是文档就是这么要求的,低于这个值pressure就不一定能正确工作了
: 不过实际系统,这样做副作用太大了

b*******s
发帖数: 5216
126
我只是猜猜,还需要试验
1 容易导致flow control影响性能
2 内存分页小,维护分页和分配都比较慢和耗资源

【在 S*A 的大作中提到】
: 那这个回答还没有完全回答我的疑问,我就是想知道想老Wei
: 说的那样把它设置到 512 会发生什么情况。如果有副作用,
: 到底是什么样的副作用。

S*A
发帖数: 7142
127
这个我已经搞清楚了。那个 tcp_rmem tcp_wmem
只是一个水位线(的缺省值)。前面提到的,并没有
安排内部一个 buffer size 是 tcp_rmem,内存是以
sk_buff 连接来管理的.这个sk_buff 在接受端是和网卡
收来的网包挂钩。发送端是和 socket send 的数据挂钩。
改编水位线并不影响数据是如何来的,只是影响sk_buff
链有多长的时候触发数据合并和发送。接受端就是让socket
返回有数据可以读。发送端就是试图把数据发出去。
水位线太低的时候,就会频繁触发读写。就是说,本来
收20K 的东西用4 个系统调用read, 有可能变成要 10个
系统调用。 对系统的开销是增加了,因为系统调用次数和
中断数目都增加了。但是并不能节省很多内存,霸占的内存
是还没有处理的数据,如果有数据来不及处理,水位线再
低那些内存也还是霸占着。
没有影响内存分页,因为每次数据大小是由于网络包和socket
write 的 buffer 决定的。水位线就是影响什么时候开始把数据
刷出去。
BTW, 我看了代码,没有硬性限制这个buffer 不能小于 PAGE
size。 只不过太小没有好处就是了。

【在 b*******s 的大作中提到】
: 我只是猜猜,还需要试验
: 1 容易导致flow control影响性能
: 2 内存分页小,维护分页和分配都比较慢和耗资源

S*A
发帖数: 7142
128
我那天回答你这个问题的态度比较恶劣,向你道歉。
我今天就认真一点回答你。
这里有两个层面的问题需要分别对待。
1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
首先,这个现实的问题,应该有个可以或者不可以的确定答案。
对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
在这个问题上,资历其实是非常间接的依据。
如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
所以你说的资历和先进经验是不必要的,甚至不是很好的论据。
大家讨论技术问题用资历来做论据,可以肯定的结论是必然导致不能确定
的结果,双方都觉得自己资历高,谁也不服谁。而我试图以程序和实验
来论证,显然是比资历强得多的依据,也用不着资历。
所以我觉得你不愿意真正参与问题 1) 的讨论或者实验。而抛出命题 2)
来迂回。
2)C10M 没有意义(伪命题)和 C10M 不可用论。
C10M 没意义
现在市面上没有可以很简单可靠拿来就能用的 C10M 方案,所以讨论
C10M 没有意义。这个简化为: 因为 X 现在时代(Y) 不存在,所以
研究 X没有意义。这个可以找到很多(X,Y) 的反例子,我就不重复了。
道理上,一般是先有X 的研究,才导致有X 的出现,这个意义够明显吧。
C10M 技术就算有了也不能用。
这个显然也不成立。我就举一个例子,如果我可以处理10M, 我实用
1M, 预先留 9M 处理突发流量冲击行不行?或者我就是用 10M 来提供
无状态的静态 cache (文件/图像)服务行不行?流量大了我就加机器。
如果真的有 C10M 技术,而抱怨找不到地方用得上,似乎反映的是使用
者的水平能力问题而不是 C10M 的问题。
GC 问题,那只能说 GC 不能用在高并发. 高并发不一定要用 GC 啊。

300G

【在 g*****g 的大作中提到】
: 不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
: 的先进经验是有必要的。
: 我认为这是伪命题就是因为没有看到任何一个实战做了。
: 高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
: 内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

h****r
发帖数: 2056
129
说得很有道理。

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

L*****e
发帖数: 8347
130
我觉得古德霸说的,除了是不是最多只有100M的同时在线连接可商榷以外,其它部分还
是基本站得住脚的。
按照他的假设,如果因为人口的限制,最多不会出现超出100M的在线连接应用,用100
台机子的cluster,每台机子可以Handle 1M连接来部署,这样,一台机子fail了,1M连
接分到另外99台机子上去,那么每台机子需要多handle 10K的连接。
如果现在你的单机可以handle 10M连接,你是用10台机子来部署呢?还是用100台机子
来部署呢?10台机子部署的话,如果1台fail了,10M的连接分配到另外9台上,每台要
一下多1M连接可能会崩溃。如果照你这个帖子里说的,用100台机子部署,平时每台只
处理1M连接,富裕的9M来应付有机子fail的情况,那么是巨大的计算力浪费,因为毕竟
大部分时间是平常正常运行,failure是极少数,保持巨大的余量来应付fail就是浪费。
至于100台C1M的机子和10台C10M的机子哪个成本更高,这里还要考虑到100台C1M
的机子可能不光是用来处理连接,其计算力还要用在别的方面等因素,所以我也不清楚
结论是什么,只能说影响因素比较多。。。
不过呢,考虑到将来智能家居,物联网的发展,一个人可能有几十个设备同时上网在线
,所以最多100M的在线连接这个前提将来未必靠得住。。。

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

相关主题
问个关于socket问题求推荐一个真心交流技术的地方
UDP广播老是接收不到废话少说,单机500万次每秒
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
进入Programming版参与讨论
S*A
发帖数: 7142
131

我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
不知道。
最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
例如 gmail 的 web 界面就是这么干。还有物联网等等。
100
费。
这个就是个 capacity planning 的问题,是完全另外一个问题。
着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,
用户能够产生的需求变化是非常大的,经常好几倍。所以任何靠谱的解决
方案都需要有对付用户流量变化的方法,不能在自己的上限来运行。
就算 10 部机器,倒掉一两部产生负载的变化是 20%。 这个完全埋没在
和用户需求产生的几倍的变化里面。所以这个解释 C10M 有了不能用是
牵强的。因为你本来就需要能够对付那几倍的变化,还在乎因为部分机器
当机转移过来的 20% 把自己给拍死了?

【在 L*****e 的大作中提到】
: 我觉得古德霸说的,除了是不是最多只有100M的同时在线连接可商榷以外,其它部分还
: 是基本站得住脚的。
: 按照他的假设,如果因为人口的限制,最多不会出现超出100M的在线连接应用,用100
: 台机子的cluster,每台机子可以Handle 1M连接来部署,这样,一台机子fail了,1M连
: 接分到另外99台机子上去,那么每台机子需要多handle 10K的连接。
: 如果现在你的单机可以handle 10M连接,你是用10台机子来部署呢?还是用100台机子
: 来部署呢?10台机子部署的话,如果1台fail了,10M的连接分配到另外9台上,每台要
: 一下多1M连接可能会崩溃。如果照你这个帖子里说的,用100台机子部署,平时每台只
: 处理1M连接,富裕的9M来应付有机子fail的情况,那么是巨大的计算力浪费,因为毕竟
: 大部分时间是平常正常运行,failure是极少数,保持巨大的余量来应付fail就是浪费。

g*****g
发帖数: 34805
132
这只能说明你没有实际经验。能处理10M, 再多处理1M,从容量本身看是不难。
但是你忘了,前面这10M的连接是慢慢产生的,大多数时候这些连接只有heartbeat, 没
有信息交换。
但一旦有机器当机,这1M的重新连接请求是同时到来的,伴随的是需要重新产生用户
session, 要读DB, 要计算,
会产生巨大的冲击。这个冲击远远大于10M大多idle的连接。你的机器是顶不住的。
你说的要能够处理几倍的容量同样不对,一般的做法就是跑在50%-70%,超过了动态
继续起VM。
而不是预留几倍的处理能力。这本来就是云计算的长处。
persistent connection跟stateless connection在failover设计里是有很大区别的。
前者需要更大的余量。
用100台1M和10台10M的区别是巨大的。没有真正搞过实际系统的人不会想到这些问题,
但不等于这些问题就不存在了。
我说是伪命题,就是因为世界上100M 在线的系统屈指可数,而且据我所知没有一个是
用10台机器的,几百个上千个VM才是惯例。将来如果有1000M的系统,同样会倾向于多
起VM,
而不是多压榨单机性能。篮子多,破了影响小,这本来就没啥难理解的。如果是用
public cloud.
假定将来机器比现在快10倍,每台机器多起10倍同样VM,多应用分散使用这些资源,也
比用现在10倍能力的VM强。

【在 S*A 的大作中提到】
:
: 我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
: 是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
: 不知道。
: 最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
: 例如 gmail 的 web 界面就是这么干。还有物联网等等。
: 100
: 费。
: 这个就是个 capacity planning 的问题,是完全另外一个问题。
: 着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,

L*****e
发帖数: 8347
133
我想他强调的不是说一台fail以后别的机子上多出20% capacity连接的变化,而是说这
20%的capacity变化是瞬间的冲击,因为你不能慢慢failover这些连接,否则对于用户
来讲和断了连接一样。所以这种情况下等于是连接的高并发,瓶颈已经不是连接的
capacity了。。。

★ 发自iPhone App: ChineseWeb 8.2.2
★ 发自iPhone App: ChineseWeb 8.2.2

【在 S*A 的大作中提到】
:
: 我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
: 是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
: 不知道。
: 最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
: 例如 gmail 的 web 界面就是这么干。还有物联网等等。
: 100
: 费。
: 这个就是个 capacity planning 的问题,是完全另外一个问题。
: 着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,

q*c
发帖数: 9453
134
unity3d 还是相当牛逼的,我写了个小 app 爆破一个塔楼,物理 engine 很真实。
就是手机撑不住。 两个光源, 40 条木头就开始卡了。。。

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

g*****g
发帖数: 34805
135
我再说一遍,单机上玩玩benchmark跟产品环境是两码事。产品环境从来都是可靠性远
远高于性能。
你要有几千万用户,风投趋之若鹜,跑几百个VM才几个钱。
你要有实战经验,哪怕没有10M只有100K并发,大家都可以讨论一下经验。单机上让你测
出10M来也就是玩而已。
C10K 有意义,那是因为epoll 没有改变TCP协议。C10M 那个博客的作者提到必须重写
网络协议,在我看来跟ipv8一样。
q*c
发帖数: 9453
136
资历是很重要的。 理解有不同的程度。
比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
但是行动上照样贴着看。
这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
真知道。

【在 S*A 的大作中提到】
: 你不要那么过敏好不好?我什么时候质疑过
: 你的资历了?技术讨论干嘛一定要靠资历
: 说服人?我都说了,你说的cluster点都对,
: 但是和 c10m 本身无关。
: 请问你的资历和c10m有什么直接关系?
: 我本来就是想验证一下老wei那个是
: 不是可以做出来的。尽可能通过实验
: 数据来说明情况。你老是跑题拿你的
: 经验和资历来说问题。
: 你再好好想想?

g*****g
发帖数: 34805
137
你说得没错,没半夜4点被pager叫醒过的不理解为啥我老强调可靠性。
多整几台机器又不是我的钱。玩奇技淫巧出了事,小则要熬夜,大则丢工作。

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

p*****w
发帖数: 429
138
我总结一下,就是老军医过来回答正规医学院的考题,基本上都是瞎扯自己平时碰到的具
体问题. 或许都是对的,可惜答不对题.

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

S*A
发帖数: 7142
139

这个我同意前面一句,实验倒是可以正是或者正否老wei的命题 1)。
做完实验3 也不能代表产品上可以跑10M。这个是真的。
也个也说明你对老wei的命题 1)其实完全没有底是能做出来不行,
因为你不屑于去研究。
你测
果然是到了非展示下资历不能说话的地步。人家大牛有资历都是可以把自己
的经验吸收能够理解融会贯通。大牛可以在讨论技术问题的时候,把经验
后面的真实原因讲出来。如果新手的意见不对,也可以指出具体不对的技术
原因是什么。通过可以验证的方式。放开技术原因不讲,光讲老子有比你有、资历就是
比你对,这个不是大牛所为(好像也不符合Netflix 那个 HR slides 哦)。
你说的是 Robert ? 他说了必须要重新写网络协议?这个听起来很不 make sense.
改了协议那些以前用旧协议的用户怎麼办啊?是不是可以选的协议还是有什么
理解上的问题啊。
求出处。你说的不会是 TCP TIME Wait 的问题把。

【在 g*****g 的大作中提到】
: 我再说一遍,单机上玩玩benchmark跟产品环境是两码事。产品环境从来都是可靠性远
: 远高于性能。
: 你要有几千万用户,风投趋之若鹜,跑几百个VM才几个钱。
: 你要有实战经验,哪怕没有10M只有100K并发,大家都可以讨论一下经验。单机上让你测
: 出10M来也就是玩而已。
: C10K 有意义,那是因为epoll 没有改变TCP协议。C10M 那个博客的作者提到必须重写
: 网络协议,在我看来跟ipv8一样。

d****i
发帖数: 4809
140
赞大侠的钻研精神!

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

相关主题
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为为啥太监这么不要脸呢?
这个版看来是毁了编程版目睹之怪现象。
进入Programming版参与讨论
S*A
发帖数: 7142
141

所以你说的这个资历还是间接证据啊。在实际数据面前再多的资历都是苍白的。
Number talks, BS walks。能够做得出来的说了算。

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

S*A
发帖数: 7142
142
或者深入问多几个和项目相关的问题,讨论一内在机制就卦掉了。
不求甚解是一个比较标志性的。

【在 p*****w 的大作中提到】
: 我总结一下,就是老军医过来回答正规医学院的考题,基本上都是瞎扯自己平时碰到的具
: 体问题. 或许都是对的,可惜答不对题.

S*A
发帖数: 7142
143
靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

【在 d****i 的大作中提到】
: 赞大侠的钻研精神!
g*****g
发帖数: 34805
144
资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
的。

【在 S*A 的大作中提到】
: 靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
: 喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

g*****g
发帖数: 34805
145
我反复谈了两点,一个是100M在线用户到头。就算将来物联网,还是如此。你跟国内的
朋友需要聊天,你的冰箱跟朋友的冰箱不需要。冰箱也不会走路。美国一套服务器,中
国一套服务器,两套服务器完全不需要直接通讯。另一个是failover的冲击,远远大于
维护空闲连接的需要,光这一点10台服务器是不够的。
你愿意做什么benchmark不关我的事,我只是说了这种做法在现实中不符合HA的需要。
一个系统有很多难点,高并发的系统HA本来就是最难的地方。你这种做法就是拼命优化
堆机器就能解决的问题,把最难的地方的难度再提高。我认为不可取,听不听就是你的
事了。

【在 S*A 的大作中提到】
: 靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
: 喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

S*A
发帖数: 7142
146
难道你在 mitbbs 亮的资历就可以在找工作上用了?
难道你的资历如此强壮以至于讨论技术问题都不能用
技术语言表达出来,用技术原因来reason,只能够用
资历来讲话了?
资历王,请受我一拜。

【在 g*****g 的大作中提到】
: 资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
: WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
: 的。

S*A
发帖数: 7142
147
BTW, 做事情有始有终, 你说那个 C10M 必须改 internet 协议否则
做不出来的出处在那里?
我很好奇人家的原因是什么。

【在 g*****g 的大作中提到】
: 资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
: WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
: 的。

S*A
发帖数: 7142
148

但是我也不会依据现在的技术来给未来可能用到的技术加个上限。
这个让我想起了那个 PC 640K 就完全够用了一说。
我明白,区别是变化的速率。慢慢加上去的,你有时间起新的机器
来对付新来的流量。我的问题是,如果流量突然没有征兆的增加了
20%, 你的系统会怎样?似乎是你遇到了这种情况(从 fail over),
所以你有意避开了这样的冲击。这样似乎就隐含了,如果这样的冲
击真的来了,你的系统就会发生不可预知的情况。
那我就好奇的再问一个问题,不好意思,我的好奇心很大。
你的系统,如果真的向你说的,每部机器只有 5K 连接。(BTW, 这个和
C1M 也差了 3 数量极有多)。 算你说的有 10K。我有个猜测,
狗家的机器类似的应用的处理能力比你的高好多倍,很可能是一个数量级
以上还不止。这个我的话不可靠,狗家大概不允许公开这些内部细节,你
在硅谷,自己找个狗家的朋友印证一下,把这个相差的比例系数回来报一下
最好。也有可能是我道听途说,完全搞错了。
先假设我的猜测是对的,为什么狗家单机并发量比你高,而且人家的 HA
最难的部分也兼顾到了呢?如果是真的,为什么你满足于现在的并发量
而狗家的不满足呢?

【在 g*****g 的大作中提到】
: 我反复谈了两点,一个是100M在线用户到头。就算将来物联网,还是如此。你跟国内的
: 朋友需要聊天,你的冰箱跟朋友的冰箱不需要。冰箱也不会走路。美国一套服务器,中
: 国一套服务器,两套服务器完全不需要直接通讯。另一个是failover的冲击,远远大于
: 维护空闲连接的需要,光这一点10台服务器是不够的。
: 你愿意做什么benchmark不关我的事,我只是说了这种做法在现实中不符合HA的需要。
: 一个系统有很多难点,高并发的系统HA本来就是最难的地方。你这种做法就是拼命优化
: 堆机器就能解决的问题,把最难的地方的难度再提高。我认为不可取,听不听就是你的
: 事了。

S*A
发帖数: 7142
149
我可以替你想到一个原因,因为狗家人多,特别是喜欢
优化系统的牛人多。我们来猜猜,如果有这样个牛人,
其他 package 条件都一样,人家是去狗家有比较好的
发展还是去 N 家有比较好的发展呢?
b*******s
发帖数: 5216
150
像狗家亚麻家优化比较有意义,做基础设施和做应用层的不一样

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

相关主题
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
和井底之蛙,没什么好说的这个版上就是一堆打嘴炮的
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
进入Programming版参与讨论
b*******s
发帖数: 5216
151
对做基础设施的,一个这样的优化可以减少数据中心建设规模,周期,电费等维护成本
,最后用户使用费用就低了,竞争力能上去

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

b*******s
发帖数: 5216
152
我记得狗家是自己定制操作系统的
S*A
发帖数: 7142
153
不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
应用的东西。

【在 b*******s 的大作中提到】
: 像狗家亚麻家优化比较有意义,做基础设施和做应用层的不一样
S*A
发帖数: 7142
154
哇,自己定制操作系统,这么危险的东西,搞不好 kernel panic,
HA 出了问题谁负责啊?
结论,狗家的都是不负责任的工程师,还是 N 家的 HA 听起来
更加可靠些,慢点就慢点吧。

【在 b*******s 的大作中提到】
: 我记得狗家是自己定制操作系统的
b*******s
发帖数: 5216
155
N家基础设施不是主要靠aws 吗

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

S*A
发帖数: 7142
156
N 家的也要有数据中心啊, N 家的数据中心规模应该也不小啊。
难道还是规模太小以至于优化没有意义?

【在 b*******s 的大作中提到】
: 对做基础设施的,一个这样的优化可以减少数据中心建设规模,周期,电费等维护成本
: ,最后用户使用费用就低了,竞争力能上去

b*******s
发帖数: 5216
157
不是说10年就都转过去了吗,具体要问问好虫了

【在 S*A 的大作中提到】
: N 家的也要有数据中心啊, N 家的数据中心规模应该也不小啊。
: 难道还是规模太小以至于优化没有意义?

S*A
发帖数: 7142
158
哦,那我明白多了,原来很多底层的东西都是别人给做好的。
硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
可以了。
那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
的,也不需要去自己操心。

【在 b*******s 的大作中提到】
: N家基础设施不是主要靠aws 吗
T********i
发帖数: 2416
159
N家连http streaming据说都要用Java做。让我彻底作呕了。
Crestron的视频会议系统。其实就是一个media streaming switch。号称最大50G。所
有装逼的企业和大学都要买一套。一年利润5亿刀。
我已经放弃和这些人理论了。有这功夫可以多干些正事。

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

b*******s
发帖数: 5216
160
他们做的相当于传统意义上的中间件和应用层

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

相关主题
两道小题UDP广播老是接收不到
Linux Socket编程C10M除了socket以外,还牵涉其他方面的技巧
问个关于socket问题求推荐一个真心交流技术的地方
进入Programming版参与讨论
b*******s
发帖数: 5216
161
昨天亚麻的招聘的广告开头就是三个性能问题,招senior engineer的

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

S*A
发帖数: 7142
162
那我彻底明白了。多谢大家解释。
我一直很纳闷为什么一个系统架构师可以不关心
很多底层的技术实现,可以不关心系统效率。
以前的系统架构师是可以干这个系统里面任何一个
工程师的工作的,只不过干这些工作不是最好发挥
能力的地方。
感情现在新的系统架师和以前的系统架构师完全
不是一回事。
d*******r
发帖数: 3299
163
"http streaming据说都要用Java做"
主要有什么问题,求解释

【在 T********i 的大作中提到】
: N家连http streaming据说都要用Java做。让我彻底作呕了。
: Crestron的视频会议系统。其实就是一个media streaming switch。号称最大50G。所
: 有装逼的企业和大学都要买一套。一年利润5亿刀。
: 我已经放弃和这些人理论了。有这功夫可以多干些正事。

g*****g
发帖数: 34805
164
我就问你一句,高并发的产品你做过没有?有和没有就一句话,躲躲闪闪有必要吗?
我不是用资历来压人,但你没有相关的行业经验,谁说的话更靠谱是很显然的。
数字说话是没错,问题数字是产品里的数字,不是helloworld的数字。你在产品里跑单
机10M,那是你牛逼。
helloworld就算跑出10M,也不能说明问题。我就这个意思。

【在 S*A 的大作中提到】
: 难道你在 mitbbs 亮的资历就可以在找工作上用了?
: 难道你的资历如此强壮以至于讨论技术问题都不能用
: 技术语言表达出来,用技术原因来reason,只能够用
: 资历来讲话了?
: 资历王,请受我一拜。

g*****g
发帖数: 34805
165
http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
anyway, but a degenerate stack tuned to your application.
This is done first by rewriting the network driver. Instead of a network
driver that hands off packets to the kernel, you change the driver does that
it doesn’t. Instead, you map the packet buffers into user-mode space.
换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
,做WhatsApp就是牛头不对马嘴。

【在 S*A 的大作中提到】
: BTW, 做事情有始有终, 你说那个 C10M 必须改 internet 协议否则
: 做不出来的出处在那里?
: 我很好奇人家的原因是什么。

b*******s
发帖数: 5216
166
这方法个人做比较费时费事,得想别的办法了

that

【在 g*****g 的大作中提到】
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: 这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
: anyway, but a degenerate stack tuned to your application.
: This is done first by rewriting the network driver. Instead of a network
: driver that hands off packets to the kernel, you change the driver does that
: it doesn’t. Instead, you map the packet buffers into user-mode space.
: 换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
: 数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
: ,做WhatsApp就是牛头不对马嘴。

g*****g
发帖数: 34805
167
关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
可能,但数量级的差距是不至于的。
如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

【在 S*A 的大作中提到】
: 那我彻底明白了。多谢大家解释。
: 我一直很纳闷为什么一个系统架构师可以不关心
: 很多底层的技术实现,可以不关心系统效率。
: 以前的系统架构师是可以干这个系统里面任何一个
: 工程师的工作的,只不过干这些工作不是最好发挥
: 能力的地方。
: 感情现在新的系统架师和以前的系统架构师完全
: 不是一回事。

g*****g
发帖数: 34805
168
这有啥难理解的,云计算做的就是基础设施。我们的流量变化大,进入一个市场又要很
快。建设数据中心
从时间和金钱上都是不换算的。今天几乎所有的hot startup都没有自己的数据中心,
基本都在EC2上,你这也太out了吧。

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

z****e
发帖数: 54598
169
iaas == infrastructure as a service
看字面意思
现在都在cloud上用啊
自己搞dc的真不多了

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

g*****g
发帖数: 34805
170
LOL, 谁跟你说底层的东西就是最难的东西?谁说给你AWS你就自动HA了?这完全是无
知加阿Q呀。
按你这么说,不自己写OS的都不用出来打招呼了。啥AWS自动HA除了说明你没用过,还
能说明啥?
我就不明白,这板上的C++程序员为啥成天喜欢讨论自己没用过的东西。

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

相关主题
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
进入Programming版参与讨论
g*****g
发帖数: 34805
171
我是写应用软件的,不是写底层的。至于一个系统架构师能干这个系统里任何一个活,
只能说你见过的系统太简单了。
另外,恰恰因为我在乎系统效率。所以我设计系统让它跑在70% 的容量上,而且不会产
生太大的瞬间冲击。而你,如果要确保failover, 就不得不跑在10%的容量上。我关心
的是系统性能,你关心的是单机性能,这就是我们的差距。

【在 S*A 的大作中提到】
: 那我彻底明白了。多谢大家解释。
: 我一直很纳闷为什么一个系统架构师可以不关心
: 很多底层的技术实现,可以不关心系统效率。
: 以前的系统架构师是可以干这个系统里面任何一个
: 工程师的工作的,只不过干这些工作不是最好发挥
: 能力的地方。
: 感情现在新的系统架师和以前的系统架构师完全
: 不是一回事。

h*****a
发帖数: 1718
172
看来这位同学比较年轻啊。年轻人好学是好的。:)

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

g*****g
发帖数: 34805
173
我根本不在乎别人觉得我是不是牛人。偏偏这个资历也是别人拿不走的。
另一方面,如果让我挑的话,我也更喜欢N的文化,学到的东西也更多。

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

S*A
发帖数: 7142
174
哇,你是不是没有能力区分一个网络协议和一个网络协议的实现的区别啊?

你干嘛不把人家印用全呢,果然是我猜的断章取意。我把人家原文上文
的限定语补上,让大家看看人家原来意思和你说的是不是一样。
方括号的是你断章取意的故意隐去地方。
【But for something like a DNS server processing UDP, or an intrusion
prevention system, 】you don’t want a full TCP/IP stack anyway, but a
degenerate stack tuned to your application. It takes only 100 clock cycles
to parse a UDP packet without having a full stack.
人家说的是,对特殊的应用,例如 DNS 和 IPS, 可以不用做整个TCP/IP。
只需要分析 UDP 就可以了,这样可以用 100 个时钟周期分析一个 UDP 包。
你故意把对特殊应用去掉,然后推广到人家整个 TCP/IP 都没有实现。这个是
什么用意? 果然是无极不用, whatever works。
that
这里讲的就是一个不同的实现方法,你是如何读出不做标准的 TCP/IP 支持?
Linux 和 BSD 用不同网络代码,这个叫不同的协议实现。不是不同的协议。
所以 Linux 发的数据包 BSD 可以收,就是因为大家是同一个协议。
照你的说法,windows 修改协议,BSD 修改协议, Cisco 修改协议。
除了抄代码都修改协议。
看来新一代的网络架构师对网络协议和实现有着非常独家的特殊理解能力,
能够在字里行见看到我等新手完全看不到的意思。我望尘莫及。
什么叫做技术,这就叫技术,大家学着点。

【在 g*****g 的大作中提到】
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: 这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
: anyway, but a degenerate stack tuned to your application.
: This is done first by rewriting the network driver. Instead of a network
: driver that hands off packets to the kernel, you change the driver does that
: it doesn’t. Instead, you map the packet buffers into user-mode space.
: 换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
: 数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
: ,做WhatsApp就是牛头不对马嘴。

S*A
发帖数: 7142
175
这个说法还 make sense。 多谢解释。

【在 g*****g 的大作中提到】
: 关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
: bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
: 用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
: 物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
: 可能,但数量级的差距是不至于的。
: 如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
: 之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
: 及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
: 解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

S*A
发帖数: 7142
176
LOL, 你的理解能力果然是与众不同,不但英文如此,连中文也是。
我说的原文是 "aws 应该已经有可以用的 HA 那样的解决方案".
就是说,存在一个给 aws 用的解决方案,到了你那里就是,这个
方案是“自动”的了,变成自动 HA?
还能说明你理解能力。

【在 g*****g 的大作中提到】
: LOL, 谁跟你说底层的东西就是最难的东西?谁说给你AWS你就自动HA了?这完全是无
: 知加阿Q呀。
: 按你这么说,不自己写OS的都不用出来打招呼了。啥AWS自动HA除了说明你没用过,还
: 能说明啥?
: 我就不明白,这板上的C++程序员为啥成天喜欢讨论自己没用过的东西。

S*A
发帖数: 7142
177
是啊是啊,今天真是大开眼界啊。
有好多东西要学习。

【在 h*****a 的大作中提到】
: 看来这位同学比较年轻啊。年轻人好学是好的。:)
T********i
发帖数: 2416
178
又是VM又是thread pool的,这个虽然连接数没有差数量级。但是最大throughput和
latency肯定要差数量级了。
这就是为什么node.js都能号称秒杀Java,而且响应更快。
估计你很快就会受到PA了。改协议和改协议栈的区别要是分不清楚,也就没啥可讨论的
了。
OpenOnLoad处理一个UDP或者IP包小于50ns。协议栈也没啥可做的了。

【在 S*A 的大作中提到】
: 这个说法还 make sense。 多谢解释。
S*A
发帖数: 7142
179
我看到Netflix HR slides 大受启发,
我断章取意的随手抄些我喜欢的段落出来,
每天打印一份,贴在床头,大声朗读,然后把它
拿下来烧掉以表示尊敬。
Judgment:
You identify root causes, and get beyond treating symptoms.
Communication:
You are concise and articulate in speech and writing.
You treat people with respect independent of their status or
disagreement with you.
You maintain calm poise in stressful situations.
Curiosity:
You contribute effectively outside of your specialty.
今天读一遍,发现自己所犯戒甚多,明日再读。
g*****g
发帖数: 34805
180
不是我断章取义,是你避重就轻吧。我随手一写,是不严谨。但后面补充的帖子说得很
清楚了吧。要自己写 driver, 要自己写custom stack TCP/IP. 要做DNS也罢。写应用
是牛唇不对马嘴。既不能换网卡。有那功夫写个可靠的协议栈人从出来到上市了。我说
的问题没法解决避而不谈,咬文嚼字搞文字狱搞上了。

【在 S*A 的大作中提到】
: 哇,你是不是没有能力区分一个网络协议和一个网络协议的实现的区别啊?
:
: 你干嘛不把人家印用全呢,果然是我猜的断章取意。我把人家原文上文
: 的限定语补上,让大家看看人家原来意思和你说的是不是一样。
: 方括号的是你断章取意的故意隐去地方。
: 【But for something like a DNS server processing UDP, or an intrusion
: prevention system, 】you don’t want a full TCP/IP stack anyway, but a
: degenerate stack tuned to your application. It takes only 100 clock cycles
: to parse a UDP packet without having a full stack.
: 人家说的是,对特殊的应用,例如 DNS 和 IPS, 可以不用做整个TCP/IP。

相关主题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
编程版目睹之怪现象。C10M 练习2: 空TCP 连接,1M per 4G RAM
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
进入Programming版参与讨论
g*****g
发帖数: 34805
181
我给你打个比方,你这说法就跟说多线程应用有啥难的,底层 OS不都提供 API了一样
。除了说明你没做过,啥也说明不了。AWS只是提供多个数据中心和一些监控的 API,
剩下的啥不得自己写。

【在 S*A 的大作中提到】
: LOL, 你的理解能力果然是与众不同,不但英文如此,连中文也是。
: 我说的原文是 "aws 应该已经有可以用的 HA 那样的解决方案".
: 就是说,存在一个给 aws 用的解决方案,到了你那里就是,这个
: 方案是“自动”的了,变成自动 HA?
: 还能说明你理解能力。

g*****g
发帖数: 34805
182
我本来就是做个 pushmail, latency要求不高,灭了 gmail, ourtook就行。
throughout也远远不用闹 4网卡全双工的笑话。只有太监才啥都当 hft写,把12306写
成太监计数器。

【在 T********i 的大作中提到】
: 又是VM又是thread pool的,这个虽然连接数没有差数量级。但是最大throughput和
: latency肯定要差数量级了。
: 这就是为什么node.js都能号称秒杀Java,而且响应更快。
: 估计你很快就会受到PA了。改协议和改协议栈的区别要是分不清楚,也就没啥可讨论的
: 了。
: OpenOnLoad处理一个UDP或者IP包小于50ns。协议栈也没啥可做的了。

g*****g
发帖数: 34805
183
我不是说过这个故事,一个做 UI的烙印总是指手划脚,指导我后端怎么写。我把项目
做一段落,告诉他不满意来接手,从此再没叽歪。
纸上学来终觉浅,单机上跑个 Helloworld觉得自己啥都知道了。
跟你说跟产品这么做方向是错的。自己想想真有这么个项目让你做lead,做不出来就走
人,你敢接吗?在网络上打嘴炮没啥意思。外行就是外行,不服气有用吗。

【在 S*A 的大作中提到】
: 我看到Netflix HR slides 大受启发,
: 我断章取意的随手抄些我喜欢的段落出来,
: 每天打印一份,贴在床头,大声朗读,然后把它
: 拿下来烧掉以表示尊敬。
: Judgment:
: You identify root causes, and get beyond treating symptoms.
: Communication:
: You are concise and articulate in speech and writing.
: You treat people with respect independent of their status or
: disagreement with you.

T********i
发帖数: 2416
184
这些东西做出来没啥了不起的。我更在意的是怎么做出来的。
这世界上垃圾还少吗?
4网卡全双工的服务器现在就能买到。什么叫笑话?
你除了能PA,还会啥?SSA已经给你指出来了。你要是不PA,不亮牌子,就没话说了。
一肚子屎,几句话就露馅了。

【在 g*****g 的大作中提到】
: 我本来就是做个 pushmail, latency要求不高,灭了 gmail, ourtook就行。
: throughout也远远不用闹 4网卡全双工的笑话。只有太监才啥都当 hft写,把12306写
: 成太监计数器。

g*****g
发帖数: 34805
185
啥笑话,打脸还要多打一次?上次吹牛四网卡全双工U做满了,后来我帮你算nasdaq全
负荷都用不了那么多。不吹牛逼会死吗?
我老人家在这板上混了十余年,解答过无数 java和设计的问题,靠不靠谱大家心里有
数。像你这样三个月就憋出一个太监计数器的,都不够给我提鞋。

【在 T********i 的大作中提到】
: 这些东西做出来没啥了不起的。我更在意的是怎么做出来的。
: 这世界上垃圾还少吗?
: 4网卡全双工的服务器现在就能买到。什么叫笑话?
: 你除了能PA,还会啥?SSA已经给你指出来了。你要是不PA,不亮牌子,就没话说了。
: 一肚子屎,几句话就露馅了。

T********i
发帖数: 2416
186
别不要脸了。照你这么说人家卖10G40G网卡的根本就是忽悠?没人能用到这个带宽?
你自己一肚子屎,还理直气壮了。怪不得SSA叹服。你继续拉好了,反正这是公共BBS。

【在 g*****g 的大作中提到】
: 啥笑话,打脸还要多打一次?上次吹牛四网卡全双工U做满了,后来我帮你算nasdaq全
: 负荷都用不了那么多。不吹牛逼会死吗?
: 我老人家在这板上混了十余年,解答过无数 java和设计的问题,靠不靠谱大家心里有
: 数。像你这样三个月就憋出一个太监计数器的,都不够给我提鞋。

g*****g
发帖数: 34805
187
当然有用,比如做video streaming, HFT就是搞笑了。你丫要吹牛丢人你怪谁。

【在 T********i 的大作中提到】
: 别不要脸了。照你这么说人家卖10G40G网卡的根本就是忽悠?没人能用到这个带宽?
: 你自己一肚子屎,还理直气壮了。怪不得SSA叹服。你继续拉好了,反正这是公共BBS。

T********i
发帖数: 2416
188
谁丢人谁自己知道。
你怎知我不做video streaming?
我明确地讲,治疗癌症我暂时不会做。其它的,我不敢保证。

【在 g*****g 的大作中提到】
: 当然有用,比如做video streaming, HFT就是搞笑了。你丫要吹牛丢人你怪谁。
S*A
发帖数: 7142
189
不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
太适应。我尽量适应把,一不小心又严谨了请原谅啊。
这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
瑕疵了。
你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例
化是 X= C10M, Y=现在。
我并没有说你的 X 在 Y 时代还不可以用是不对的。
也就是说,我承认现在没有简单好用的 C10M。这个论据是成立的。
但是这个结论和论证过程是不成立的。
我举个反例啊,X=飞机,Y=古代。
因为古代没有飞机可以用,所以古代研究飞机是没有意义的。
我是不是又不严谨了啊,这个论证过程又有什么技术缺陷吗?
这个真不是我搞什么文字狱来委屈你啊,你自己老爱挖坑自己
往里面跳我拦不住你啊。

【在 g*****g 的大作中提到】
: 不是我断章取义,是你避重就轻吧。我随手一写,是不严谨。但后面补充的帖子说得很
: 清楚了吧。要自己写 driver, 要自己写custom stack TCP/IP. 要做DNS也罢。写应用
: 是牛唇不对马嘴。既不能换网卡。有那功夫写个可靠的协议栈人从出来到上市了。我说
: 的问题没法解决避而不谈,咬文嚼字搞文字狱搞上了。

S*A
发帖数: 7142
190
问好虫一个技术细节,你的VM 是多大的 instance, 多少 core 多少 GB ram?
是不是 4 core,64G RAM 那种?

【在 g*****g 的大作中提到】
: 关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
: bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
: 用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
: 物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
: 可能,但数量级的差距是不至于的。
: 如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
: 之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
: 及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
: 解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

相关主题
这个版上就是一堆打嘴炮的Linux Socket编程
Cannot recvfrom() on ipv6, HELP!问个关于socket问题
两道小题UDP广播老是接收不到
进入Programming版参与讨论
g*****g
发帖数: 34805
191
哈哈,我老人家预测不了几十年后会怎么样,也不感兴趣。你还可以说到时候机器人统
治世界,每人脑后一管,
就是100亿的应用。我老人家是做技术的,现在能用的,下五年能用的,我有兴趣。穿
越的科幻小说,我没兴趣。
我老说的那些custom tcp stack的问题,是现实存在,躲不过去的,你视而不见。我总
共就
随口说了一句要改协议,你要觉得我概念错误,因此得到了满足,随便呀。这种忽略实
质,玩弄
文字的事情你还想怎么争?我提的10台机器撑不住10M用户重连也没见你有啥解决方案。

【在 S*A 的大作中提到】
: 不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
: 较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
: 太适应。我尽量适应把,一不小心又严谨了请原谅啊。
: 这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
: 出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
: 你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
: 瑕疵了。
: 你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
: 归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
: 了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例

g*****g
发帖数: 34805
192
大约4core 32GB ram吧,有3年了,我不是很确定。机器大小本来就不是重要的问题,
高并发的问题归根到底都是数据库的问题。我老把90%的流量从oracle转到cassandra上
,就此一项每年少交Oracle几百万。机器才值几个钱。

【在 S*A 的大作中提到】
: 问好虫一个技术细节,你的VM 是多大的 instance, 多少 core 多少 GB ram?
: 是不是 4 core,64G RAM 那种?

v*****r
发帖数: 2325
193
rich related experience is definitely helpful to avoid detour and product on
time delivery.

【在 g*****g 的大作中提到】
: 我根本不在乎别人觉得我是不是牛人。偏偏这个资历也是别人拿不走的。
: 另一方面,如果让我挑的话,我也更喜欢N的文化,学到的东西也更多。

v*****r
发帖数: 2325
194
赞实战经验.
这场舌战双方都有亮点, 才这么多楼.

【在 g*****g 的大作中提到】
: 这只能说明你没有实际经验。能处理10M, 再多处理1M,从容量本身看是不难。
: 但是你忘了,前面这10M的连接是慢慢产生的,大多数时候这些连接只有heartbeat, 没
: 有信息交换。
: 但一旦有机器当机,这1M的重新连接请求是同时到来的,伴随的是需要重新产生用户
: session, 要读DB, 要计算,
: 会产生巨大的冲击。这个冲击远远大于10M大多idle的连接。你的机器是顶不住的。
: 你说的要能够处理几倍的容量同样不对,一般的做法就是跑在50%-70%,超过了动态
: 继续起VM。
: 而不是预留几倍的处理能力。这本来就是云计算的长处。
: persistent connection跟stateless connection在failover设计里是有很大区别的。

T********i
发帖数: 2416
195
各位要不要开个赌盘?能不能做出来?
对我来讲就是50行code。
从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
Specs:
IBM M4 2 X 8 core Sandy Bridge Xeon
64GB memory
2 X Solarflare 6122F NICs
Linux RHEL 6
Client / Server各一台。
c****3
发帖数: 10787
196
C10M问题没那么简单吧
http://c10m.robertgraham.com/p/manifesto.html
T********i
发帖数: 2416
197
不客气地讲,
我迄今为止就没在本版看到第二个人知道怎么做的。
不靠谱的说法太多了。

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

w**z
发帖数: 8232
198
你写完,贴出来大家看了,说好,你牛, goodbug 错了, 不懂, 不就行了? 咋那么
好赌?

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

T********i
发帖数: 2416
199
goodbug这种蠢货。现在连计数器都不能深刻理解。
这种人就是疯狗。我的先进技术可不能喂了狗。做一个server binary放出来让大家测
没关系。没啥彩头我为啥要白干?

【在 w**z 的大作中提到】
: 你写完,贴出来大家看了,说好,你牛, goodbug 错了, 不懂, 不就行了? 咋那么
: 好赌?

c****3
发帖数: 10787
200
是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
的人,没有几个。

【在 T********i 的大作中提到】
: 不客气地讲,
: 我迄今为止就没在本版看到第二个人知道怎么做的。
: 不靠谱的说法太多了。

相关主题
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
进入Programming版参与讨论
T********i
发帖数: 2416
201
其实代码又不多。各位为啥不亲自试试?
这个才是考验基本功。

【在 c****3 的大作中提到】
: 是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
: 的人,没有几个。

j*a
发帖数: 14423
202
魏老师教教我们怎么做吧/

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

c****3
发帖数: 10787
203
没有动力折腾。
C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

【在 T********i 的大作中提到】
: 其实代码又不多。各位为啥不亲自试试?
: 这个才是考验基本功。

w**z
发帖数: 8232
204
看楼上提供得link
http://c10m.robertgraham.com/p/manifesto.html
比魏老师看上去靠谱。

【在 j*a 的大作中提到】
: 魏老师教教我们怎么做吧/
b********e
发帖数: 595
205
汗,一台client压千万长连接,看来这是要虚拟出200个网卡的节奏
T********i
发帖数: 2416
206
做个echo server好了。
看看总带宽能达到多少就可以了。
其实这种简单情形,你的系统性能的唯一指标就是带宽。

腾。

【在 c****3 的大作中提到】
: 没有动力折腾。
: C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
: 据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
: 接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

T********i
发帖数: 2416
207
这个链接说的都对。可惜我担保你不能深刻理解。
搞EE的玩过SOC的理解会更深刻一些。
你们这一批,已经被搞残了。

【在 w**z 的大作中提到】
: 看楼上提供得link
: http://c10m.robertgraham.com/p/manifesto.html
: 比魏老师看上去靠谱。

c****3
发帖数: 10787
208
内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
不太好。
10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

【在 T********i 的大作中提到】
: 做个echo server好了。
: 看看总带宽能达到多少就可以了。
: 其实这种简单情形,你的系统性能的唯一指标就是带宽。
:
: 腾。

b********e
发帖数: 595
209

40G
呵呵,实际调整起来还有很多设置。
有人调过,不过披露的内容不全。
http://blog.lifeibo.com/blog/2011/07/07/200-long-connection.htm
版上牛人多,10M随便写几行代码,小菜一碟。 lOL,吓的我等小兵屁滚尿流了。

【在 c****3 的大作中提到】
: 内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
: 和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
: 不太好。
: 10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

T********i
发帖数: 2416
210
这种应用,buffer有个512bytes都够了。
memory越大,throughput越高。
latency不会太好,但是流量低的情况下,做好sub millisecond没问题。

40G

【在 c****3 的大作中提到】
: 内存也有很大压力。TCP socket buffer,默认都是不能换页,必须常驻内存的。发送
: 和接受都算4K的buffer,加起来需要8K。再小因为Ethernet packet size是1500,好像
: 不太好。
: 10M连接,单socket buffer内存就需要80G,就算用2K的buffer,两个方向4K,也要40G

相关主题
这个版看来是毁了编程版目睹之怪现象。
我的实测结果,纯计算每秒50M次interlocked.increment[bssd] Go 的大并发处理网络碰到两个个问题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
进入Programming版参与讨论
c***d
发帖数: 996
211
几年前facebook memcache farm也有类似的问题。因为memcached就是个有很多外部连
接的内存池。
whatsapp这种comet的应用前几年还觉得比较特殊(长连接多, 请求相对少),就是些
messenger app需要。 这几年好像更多了。因为mobile push notification 所以大家
支持mobile的服务器都要搞一搞这个?

【在 b********e 的大作中提到】
:
: 40G
: 呵呵,实际调整起来还有很多设置。
: 有人调过,不过披露的内容不全。
: http://blog.lifeibo.com/blog/2011/07/07/200-long-connection.htm
: 版上牛人多,10M随便写几行代码,小菜一碟。 lOL,吓的我等小兵屁滚尿流了。

n******t
发帖数: 4406
212
这和C10M没关系。。。

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

c***d
发帖数: 996
213
你写出来我给你发1000伪币。

【在 T********i 的大作中提到】
: 这种应用,buffer有个512bytes都够了。
: memory越大,throughput越高。
: latency不会太好,但是流量低的情况下,做好sub millisecond没问题。
:
: 40G

g*****g
发帖数: 34805
214
傻逼又出来叫板了,我偏偏就是mobile产品里做了 C10M 的。
你丫一民科成天找打。

【在 T********i 的大作中提到】
: 不客气地讲,
: 我迄今为止就没在本版看到第二个人知道怎么做的。
: 不靠谱的说法太多了。

n******t
发帖数: 4406
215
这种帖子,没有用。。。
里面的do's and dont's都是说给大脑不清楚的人的,
清楚的人,自然就知道这些东西的十之八九。。
脑子浆糊的,看了最多顿悟几个钟头,然后继续到处胡诌。

【在 T********i 的大作中提到】
: 这个链接说的都对。可惜我担保你不能深刻理解。
: 搞EE的玩过SOC的理解会更深刻一些。
: 你们这一批,已经被搞残了。

T********i
发帖数: 2416
216
你丫别无耻了。
这种贪天功为己有的事都能做出来?
你多少斤两大家不知道?你要做C10M,等下辈子吧。

【在 g*****g 的大作中提到】
: 傻逼又出来叫板了,我偏偏就是mobile产品里做了 C10M 的。
: 你丫一民科成天找打。

b********e
发帖数: 595
217

消息类的应用应该大部分都是,不止mobile,主要是省server,充分利用资源。
whatapp那个应该有erlang在后面支撑,印象里erlang可以一堆机器之间比较容易的
cluster, vm native 支持,其实不奇怪,fb的chat也是erlang,使了什么,问问或者
搜搜就知道,使好了不容易, 不懂的咱也不瞎说了 :-)

【在 c***d 的大作中提到】
: 几年前facebook memcache farm也有类似的问题。因为memcached就是个有很多外部连
: 接的内存池。
: whatsapp这种comet的应用前几年还觉得比较特殊(长连接多, 请求相对少),就是些
: messenger app需要。 这几年好像更多了。因为mobile push notification 所以大家
: 支持mobile的服务器都要搞一搞这个?

b********e
发帖数: 595
218

唉,看了半天,这么多回帖,全是吵架的,没有干货

【在 n******t 的大作中提到】
: 这种帖子,没有用。。。
: 里面的do's and dont's都是说给大脑不清楚的人的,
: 清楚的人,自然就知道这些东西的十之八九。。
: 脑子浆糊的,看了最多顿悟几个钟头,然后继续到处胡诌。

b********e
发帖数: 595
219

腾。
我们公司QE有大牛用go写了一个,没等我们学会呢,然后大牛被lay了。

【在 c****3 的大作中提到】
: 没有动力折腾。
: C10M不仅要搞一个Server折腾,还得搞客户端测试。不能只是搞一大堆TCP连接,啥数
: 据也不发,这样也没有意义。为了保证有一定流量,客户端还得计算速度,每秒成功连
: 接数,失败连接数,一个客户端不够,搞多个还得统一协调。这些都搞好了,有多折腾。

q*c
发帖数: 9453
220
用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
-- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
就不行了。
当然我们那机器也不咋样, 但是 10M 那是 1万倍。

【在 b********e 的大作中提到】
:
: 腾。
: 我们公司QE有大牛用go写了一个,没等我们学会呢,然后大牛被lay了。

相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
各位所在公司的code review烦人不?两道小题
这个版上就是一堆打嘴炮的Linux Socket编程
进入Programming版参与讨论
s***o
发帖数: 2191
221
vert.x, 还有akka,会不会有同样的问题?

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

T********i
发帖数: 2416
222
我说过了。去年11月第一贴就讲的清清楚楚。
其他的都是虚的。只有throughput是实实在在的。
号称同时连接是多少,每秒多少message都没意义。
俺们这行很简单,就是concurrent connection,messages per second,size of
message。然后告诉大家你一台server能handle多少throughput。
谁都知道,一个NIC的throughput是多少,10G/20G full duplex。然后你看看你能做到
多少。越接近极限越牛逼。
所以,有没有意义,给出指标就好了。这一个server的性能,不见得比goodbug那个20
台server加起来性能差。

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

c****3
发帖数: 10787
223
这种连接数量必须用epoll,用select,poll就出你这种问题。

sec

【在 q*c 的大作中提到】
: 用 node.js 到是能连 1M, 问题是同时 active 只要上千, 系统就初问题。
: 我非常厌恶那些为了日弄别人, 给自己喜欢语言唱战歌, 就他妈的说话只说一半 -
: -- 我这是 1米 connection. 结果自己上就傻眼了, 1000 用户同时收发 1msg/sec
: 就不行了。
: 当然我们那机器也不咋样, 但是 10M 那是 1万倍。

g*****g
发帖数: 34805
224
你丫见过1万个用户长什么样的再来吹什么C10M,一点实战经验没有,就这垃圾也配来
叫板。

20

【在 T********i 的大作中提到】
: 我说过了。去年11月第一贴就讲的清清楚楚。
: 其他的都是虚的。只有throughput是实实在在的。
: 号称同时连接是多少,每秒多少message都没意义。
: 俺们这行很简单,就是concurrent connection,messages per second,size of
: message。然后告诉大家你一台server能handle多少throughput。
: 谁都知道,一个NIC的throughput是多少,10G/20G full duplex。然后你看看你能做到
: 多少。越接近极限越牛逼。
: 所以,有没有意义,给出指标就好了。这一个server的性能,不见得比goodbug那个20
: 台server加起来性能差。
:

q*c
发帖数: 9453
225
用得是 socket.
epoll 是啥东西?

【在 c****3 的大作中提到】
: 这种连接数量必须用epoll,用select,poll就出你这种问题。
:
: sec

c****3
发帖数: 10787
226
http://en.wikipedia.org/wiki/Epoll
微软有个 io completion port和这个epoll类似,在线游戏公司都靠这个达到最大连接数
,还能保证相应速度。

【在 q*c 的大作中提到】
: 用得是 socket.
: epoll 是啥东西?

T********i
发帖数: 2416
227
别不要脸了。
家教不好要多看看心理医生,越长越不要脸那是丢人。
你当别人都看不出你正在丢人么?
你这种人,要是能有女人就奇怪了。你知道为什么么?

【在 g*****g 的大作中提到】
: 你丫见过1万个用户长什么样的再来吹什么C10M,一点实战经验没有,就这垃圾也配来
: 叫板。
:
: 20

g*****g
发帖数: 34805
228
我娃都俩了,你以为都跟你太监一个德性?你们连C10K都没做过,成天谈啥C10M你不嫌
丢人吗?

【在 T********i 的大作中提到】
: 别不要脸了。
: 家教不好要多看看心理医生,越长越不要脸那是丢人。
: 你当别人都看不出你正在丢人么?
: 你这种人,要是能有女人就奇怪了。你知道为什么么?

f****4
发帖数: 1359
229
Your post made my day, LOL

【在 q*c 的大作中提到】
: 用得是 socket.
: epoll 是啥东西?

T********i
发帖数: 2416
230
呵呵。这个,真同情你老婆。
跟你这么个没脸没皮的过日子。
你要是不服,拿$100K赌一把。就赌这个C10M的echo server如何?单机。
做过没做过重要么?我感觉对谁都不重要。重要的是能不能做?你是肯定不能做了。对
了,我说的还是单机。

【在 g*****g 的大作中提到】
: 我娃都俩了,你以为都跟你太监一个德性?你们连C10K都没做过,成天谈啥C10M你不嫌
: 丢人吗?

相关主题
问个关于socket问题求推荐一个真心交流技术的地方
UDP广播老是接收不到废话少说,单机500万次每秒
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
进入Programming版参与讨论
g*****g
发帖数: 34805
231
傻逼真不要脸呀,你丫没做过就是没做过。尼玛吹牛逼不是出来找打。
你丫号称能把12306做了,结果做出来一个太监计数器也号称是实现了。
反正死撑你宇宙第一。

【在 T********i 的大作中提到】
: 呵呵。这个,真同情你老婆。
: 跟你这么个没脸没皮的过日子。
: 你要是不服,拿$100K赌一把。就赌这个C10M的echo server如何?单机。
: 做过没做过重要么?我感觉对谁都不重要。重要的是能不能做?你是肯定不能做了。对
: 了,我说的还是单机。

g*****g
发帖数: 34805
232
epoll这东西java都封装了,不知道也没啥的,不妨碍用netty。

【在 f****4 的大作中提到】
: Your post made my day, LOL
T********i
发帖数: 2416
233
啥叫做过,啥叫没做过?
我说了,你不服气,拿钱出来赌一把。C10M,商定好term。让钱说话就好了。
50行的code,做过没做过都无所谓。会不会做很关键。
你做过的那些,说出来,大家都知道是屎一样东西了。你做过屎又能怎么样?你放声大
叫,这个版上有几个人好意思说你做的那些不是屎的?
屎一样的人,做屎一样的东西。

【在 g*****g 的大作中提到】
: 傻逼真不要脸呀,你丫没做过就是没做过。尼玛吹牛逼不是出来找打。
: 你丫号称能把12306做了,结果做出来一个太监计数器也号称是实现了。
: 反正死撑你宇宙第一。

g*****g
发帖数: 34805
234
尼玛啥叫做没做过?拿个产品里运行的东西大家看看就知道了。
你丫连10K用户都没做过,装啥蛋呀。

【在 T********i 的大作中提到】
: 啥叫做过,啥叫没做过?
: 我说了,你不服气,拿钱出来赌一把。C10M,商定好term。让钱说话就好了。
: 50行的code,做过没做过都无所谓。会不会做很关键。
: 你做过的那些,说出来,大家都知道是屎一样东西了。你做过屎又能怎么样?你放声大
: 叫,这个版上有几个人好意思说你做的那些不是屎的?
: 屎一样的人,做屎一样的东西。

q*c
发帖数: 9453
235
笑啥, 不知到有啥可笑的。

【在 p*u 的大作中提到】
:
: lol...

f****4
发帖数: 1359
236
我知道。只是上下文比较搞笑。两个人整个就不是在说同一个东西 :)

【在 g*****g 的大作中提到】
: epoll这东西java都封装了,不知道也没啥的,不妨碍用netty。
l*******n
发帖数: 373
237
据我的老掉牙的经验,epoll问题也很多,主要是bugs太多,现在不知道修好了没,多
年没用了。
S*A
发帖数: 7142
238
epoll 还好吧,很多游戏公司包括腾讯都用 epoll。
有bug 也早 fix 啦。
BTW, ngix 等一系列 http server 都是用 epoll 的。
这个应该是非常成熟的技术了。
S*A
发帖数: 7142
239
一个 client 不是很合适吧。
假设服务器只有一个 IP 和 一个端口,
在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
(修改,原来的帖子计算错了,算成1526, 现在改过来了)
才能同时给一个服务器端口提供 10M 个连接。
linux 倒是支持在一个网卡上有那末多 ip alias。
如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
那个正确实现最少要 200 行左右。如果能实现了,C10M 功
劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。
那 50 行大概和 OpenOnLoad 的 demo 代码很类似。

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

T********i
发帖数: 2416
240
服务器开几万个端口。反正测试结果不影响实际性能。
ip alias更麻烦。
我有现成的运行库。当然50行能搞定。
不是说了从头做只需要gcc也不会超过1000行吗?

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

相关主题
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为为啥太监这么不要脸呢?
这个版看来是毁了编程版目睹之怪现象。
进入Programming版参与讨论
T********i
发帖数: 2416
241
其实openonload之类的并不见得起决定作用。
维持住这些connection即使没有openonload也应该可以。
功劳主要在优化处理这方面。所以我看到那个号称VM 70%就知道那人的斤两了。
我曾经想如果有些现成的能用就先用着。本着这个目的和一个team沟通。开始几分钟还
好。然后那个人也讲了一个类似的cpu利用率的故事。然后就没有然后了。

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

b********e
发帖数: 595
242

不知道是不是我算错了,1000万/6万, 所以我开始看要虚拟出来200个网卡,没太注
意ip alias可以用,不过我没看到过这么做压力测试的,虽然理论上能这个干。

【在 S*A 的大作中提到】
: 一个 client 不是很合适吧。
: 假设服务器只有一个 IP 和 一个端口,
: 在客户端,每个端口是 16 位,一个 IP 可以提供 65K 个连接.
: 也就是说,你需要客户端有至少有 10M/65K = 153 个不同的 IP 地址
: (修改,原来的帖子计算错了,算成1526, 现在改过来了)
: 才能同时给一个服务器端口提供 10M 个连接。
: linux 倒是支持在一个网卡上有那末多 ip alias。
: 如果50 行实现了,就说明你连 Linux epoll 都没有直接用,
: 那个正确实现最少要 200 行左右。如果能实现了,C10M 功
: 劳应该主要在是 OpenOnLoad 这类预先提供好的网络 stack 包。

S*A
发帖数: 7142
243
你现成的运行库使用 OpenOnLoad 或者 DKDP 吗?
还是直接用 Linux epoll 那样裸写?
epoll 裸写大概 200 行左右,这个我写过。

【在 T********i 的大作中提到】
: 服务器开几万个端口。反正测试结果不影响实际性能。
: ip alias更麻烦。
: 我有现成的运行库。当然50行能搞定。
: 不是说了从头做只需要gcc也不会超过1000行吗?

S*A
发帖数: 7142
244
C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
流量就可以的。
这个是网上抄来的 C10M 定义:
Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
to handle:
- 10 million concurrent connections
- 10 gigabits/second
- 10 million packets/second
- 10 microsecond latency
- 10 microsecond jitter
- 1 million connections/second
直接用 linux 做的网络处理上限大概在 1M packet/sec 左右。
所以没有 openonload/DPDK 包的数目就吃不消。

【在 T********i 的大作中提到】
: 其实openonload之类的并不见得起决定作用。
: 维持住这些connection即使没有openonload也应该可以。
: 功劳主要在优化处理这方面。所以我看到那个号称VM 70%就知道那人的斤两了。
: 我曾经想如果有些现成的能用就先用着。本着这个目的和一个team沟通。开始几分钟还
: 好。然后那个人也讲了一个类似的cpu利用率的故事。然后就没有然后了。

S*A
发帖数: 7142
245
啊,是我算错了,应该 153 ip alias. 多谢指正。
Linux 虚拟网卡和 ip alias 是一样的东西?

【在 b********e 的大作中提到】
:
: 不知道是不是我算错了,1000万/6万, 所以我开始看要虚拟出来200个网卡,没太注
: 意ip alias可以用,不过我没看到过这么做压力测试的,虽然理论上能这个干。

T********i
发帖数: 2416
246
看来你不了解openonload。
onload就是一个wrapper process。socket API挂钩。现有的程序不用重编译直接加速。
用不用onload你的写法可以一模一样。
其实,连接数量少,epoll不是最优的。

【在 S*A 的大作中提到】
: 你现成的运行库使用 OpenOnLoad 或者 DKDP 吗?
: 还是直接用 Linux epoll 那样裸写?
: epoll 裸写大概 200 行左右,这个我写过。

T********i
发帖数: 2416
247
所以我说了,能维持10M连接最基本。此外就是throughput是唯一的性能指标。

able

【在 S*A 的大作中提到】
: C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
: 流量就可以的。
: 这个是网上抄来的 C10M 定义:
: Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
: RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
: to handle:
: - 10 million concurrent connections
: - 10 gigabits/second
: - 10 million packets/second
: - 10 microsecond latency

S*A
发帖数: 7142
248
我是不了解 openonload, 没有玩过10G 的网卡。
openonload 没有提供更加底层的 API?
那就是说还有可以更加优化的地方。
如果是包接受的话,用 socket read 需要至少
memcpy 一次。网卡的数据包进来的时候不知道
是哪个socket的,所以要先收下来,然后 copy
到现成的用户 buffer。 这个不用新的 API 是没法
优化的。openonload 有更加优化的接受办法吗?
还有 openonload 应该兼容 epoll 吧?
连接数量少,epoll 不是最优,但是也差不到那里
去吧。关键是 epoll 时间不会随着和连接个数线性
增加,连接数目多了必然要用这种 API 的。

速。

【在 T********i 的大作中提到】
: 看来你不了解openonload。
: onload就是一个wrapper process。socket API挂钩。现有的程序不用重编译直接加速。
: 用不用onload你的写法可以一模一样。
: 其实,连接数量少,epoll不是最优的。

T********i
发帖数: 2416
249
有底层API。但是限制挺多的。zero copy其实不是那么重要。
openonload能基本消除interrupt,这个提升更大。
Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
openonload epoll现在优化的很好。前两年还不行。
C10M应用,要用epoll。

【在 S*A 的大作中提到】
: 我是不了解 openonload, 没有玩过10G 的网卡。
: openonload 没有提供更加底层的 API?
: 那就是说还有可以更加优化的地方。
: 如果是包接受的话,用 socket read 需要至少
: memcpy 一次。网卡的数据包进来的时候不知道
: 是哪个socket的,所以要先收下来,然后 copy
: 到现成的用户 buffer。 这个不用新的 API 是没法
: 优化的。openonload 有更加优化的接受办法吗?
: 还有 openonload 应该兼容 epoll 吧?
: 连接数量少,epoll 不是最优,但是也差不到那里

d*******r
发帖数: 3299
250
请教魏老师,那看结论就是在 Linux 上搞 openonload+epoll, 还是能上 C10M 了?

了。

【在 T********i 的大作中提到】
: 有底层API。但是限制挺多的。zero copy其实不是那么重要。
: openonload能基本消除interrupt,这个提升更大。
: Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
: openonload epoll现在优化的很好。前两年还不行。
: C10M应用,要用epoll。

相关主题
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
和井底之蛙,没什么好说的这个版上就是一堆打嘴炮的
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
进入Programming版参与讨论
d*******r
发帖数: 3299
251
感谢分享 !! :)

【在 c****3 的大作中提到】
: C10M问题没那么简单吧
: http://c10m.robertgraham.com/p/manifesto.html

d*******r
发帖数: 3299
252
同问,这些技术貌似不是build在 user space scheduler/networking_stack 基础上的
吧.
我知道 vert.x 是 over netty over Java NIO

【在 s***o 的大作中提到】
: vert.x, 还有akka,会不会有同样的问题?
:
: sec

S*A
发帖数: 7142
253

了。
LLC 的 cache 对 C10M 的问题帮助不大,因为到你的网络处理
程序开始用数据包的时候,LLC 早就被刷掉了。因为你的LLC 是给
整个系统用的,才那末几十M,对应机器内存有100G. 每秒钟 10 G
的 IO 吞吐量,cache miss 会是比较普遍的状态。
zcp 肯定还是重要的,看看人家说 4 个cache miss 就用光网络处理的
延时了。如果用主 CPU 再拷贝一次 IO 数据肯定有很大的影响。

【在 T********i 的大作中提到】
: 有底层API。但是限制挺多的。zero copy其实不是那么重要。
: openonload能基本消除interrupt,这个提升更大。
: Sandy bridge是PCI E直接读到LLC的。就这一点性能就提高好几倍了。zcp很不重要了。
: openonload epoll现在优化的很好。前两年还不行。
: C10M应用,要用epoll。

S*A
发帖数: 7142
254
这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
还有其他的连接相关的数据结构。你一定要实验的话,可以放开
数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
欢迎实地测试。

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

g*****g
发帖数: 34805
255
太监都是拍脑袋的。我说的C10M那是产品上跑出来的。

【在 S*A 的大作中提到】
: 这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
: OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
: 64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
: handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
: 要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
: 还有其他的连接相关的数据结构。你一定要实验的话,可以放开
: 数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
: 多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
: 欢迎实地测试。

d*******r
发帖数: 3299
256
http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
这种帖子确实让板上很受益呀!
我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
用多。
如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
/packet 都发到一个 UDP server port 的话 (比如自己的协议里面有个 virtual sub
port number,用来复用这个 UDP server port),server上是不是一个 UDP socket fd
就够用了,这样就不用折腾 max fd 的限制了。
不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
user space app 自己做 reliable transmission, flow/congestion control 的话 (
貌似也可以做成一个 user space modified TCP over UDP...)。这样上 C10M 是不是
也是一种思路?
不知道 OpenOnLoad 具体怎样实现的.

【在 S*A 的大作中提到】
: 这个用如果用普通的Linux,没有 OpenOnLoad 应该是做不出来的。
: OpenOnLoad 的内存消耗多少不清楚,没有条件玩。
: 64G 内存维护 10M 连接在 kernel 的内存不够用。实验表明 2M socket
: handle 就要 烧掉 8G 内存。开到10M 估计要 40G。剩下 24G
: 要保持连接估计是不够的。那个除了 sk_buff, tcp buffer,
: 还有其他的连接相关的数据结构。你一定要实验的话,可以放开
: 数据传输不管,测量一下是空的tcp 连接 4G 内存可以上到
: 多少,这个仅仅是 kernel 部分使用的内存。 所以 64G 应该没有戏。
: 欢迎实地测试。

S*A
发帖数: 7142
257
这个我就轻微的批评你一下吧。对事不对人。
如果有冒犯多多包涵。
我设计实验 step 1 的时候邀请你来一起解决问题,你
也没有一起实验啊。“google 一下应该可以解决”其实
也是另一种形式的拍脑袋。
BTW,step2的实验 4G 机器上 1M空连接我实验好不
容易做出来了。用了一些 hack。我有空再研究一下不用
hack 可以不。如果过 4G 可以上 1M, 那64G 上 10M
应该还是有希望的。老 Wei 拍脑袋也没有拍差太多。
我前面说 64G 上不了,也是在拍脑袋说的。总之,实验
是检验真理的唯一标准。目前实验还不能证否老wei 的论
断。

【在 g*****g 的大作中提到】
: 太监都是拍脑袋的。我说的C10M那是产品上跑出来的。
S*A
发帖数: 7142
258
建议你看看 PF_RING. 类似的思路已经被搞过了。
你把发送的 TCP 搞好就有点类似 OpenOnLoad 了。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP server port 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP server port),server上是不是一个 UDP socket fd
: 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

l*********s
发帖数: 5409
259
可行,不过reliability,congestion control,这个工作量恐怕不是你一个人能干的。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP server port 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP server port),server上是不是一个 UDP socket fd
: 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

h****r
发帖数: 2056
260
这个定义也不严肃,
10 gigabits/second和10 million packets/second在一起,一看也就是个
动嘴比动手更多的人定义的。

able

【在 S*A 的大作中提到】
: C10M 的定义有好几个方面,不是 hold 住 10M 个连接没有神魔
: 流量就可以的。
: 这个是网上抄来的 C10M 定义:
: Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of
: RAM, 10-gbps Ethernet, and a solid state drive. Such systems should be able
: to handle:
: - 10 million concurrent connections
: - 10 gigabits/second
: - 10 million packets/second
: - 10 microsecond latency

相关主题
两道小题UDP广播老是接收不到
Linux Socket编程C10M除了socket以外,还牵涉其他方面的技巧
问个关于socket问题求推荐一个真心交流技术的地方
进入Programming版参与讨论
h****r
发帖数: 2056
261
UDP的问题是一旦中间出错,不得不retransmission,这个就是恶性循环的开始,32位
的application离崩就不远了,64位的application可能把整机搞垮。
你可以用FEC来帮忙,但是那个cost不低。

message
sub
fd

【在 d*******r 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31331437_0_2.html
: 这种帖子确实让板上很受益呀!
: 我问个问题,我知道大家做的长连接都是针对 TCP/HTTP 应用的,因为那上面现成的应
: 用多。
: 如果自己在UDP上设计协议的话,应该就直接绕过很多问题了吧。比如client的message
: /packet 都发到一个 UDP server port 的话 (比如自己的协议里面有个 virtual sub
: port number,用来复用这个 UDP server port),server上是不是一个 UDP socket fd
: 就够用了,这样就不用折腾 max fd 的限制了。
: 不知道可不可以直接让 NIC 把 UDP 包扔给 user space app.
: user space app 自己做 reliable transmission, flow/congestion control 的话 (

S*A
发帖数: 7142
262

你搞笑吧,http://c10m.robertgraham.com/p/manifesto.html
Robert Graham 就是专门研究这个问题的,他的方案很异端,
但是绝大多数都是合理的,我绝对相信他的 insight 比你强。
你做不出来不等于人家用很极至的方案做不出来。
你自己去看吧。
我没有看出来 10Gps 和 10M Packet/per second 有什么问题?
一般的 kernel 是做不出来,但是人家也没有用普通的 kernel.

【在 h****r 的大作中提到】
: 这个定义也不严肃,
: 10 gigabits/second和10 million packets/second在一起,一看也就是个
: 动嘴比动手更多的人定义的。
:
: able

d*******r
发帖数: 3299
263
正在看 PF_RING DNA http://www.ntop.org/products/pf_ring/dna/
非常有意思!现在有公司用这个在 user space 实现自己的 high-perf networking
stack 吗
请问现在新派的 system 的公司,是不是很多都在绕过 Linux kernel, 自己按照需求
在 user space 用 C/C++ 重新实现 OS 的一些功能了啊。比如像做存储的 Pure
Storage 之类的.

【在 S*A 的大作中提到】
: 建议你看看 PF_RING. 类似的思路已经被搞过了。
: 你把发送的 TCP 搞好就有点类似 OpenOnLoad 了。
:
: message
: sub
: fd

d*******r
发帖数: 3299
264
自己根据需求,写个简单的, 实现 specific 的一些功能,还是有可能的。

【在 l*********s 的大作中提到】
: 可行,不过reliability,congestion control,这个工作量恐怕不是你一个人能干的。
:
: message
: sub
: fd

S*A
发帖数: 7142
265
PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
目前比较靠谱的是这个,至少可以看到源代码。
www.dpdk.org
OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
Intel e1000 还是比较容易找到的。

【在 d*******r 的大作中提到】
: 正在看 PF_RING DNA http://www.ntop.org/products/pf_ring/dna/
: 非常有意思!现在有公司用这个在 user space 实现自己的 high-perf networking
: stack 吗
: 请问现在新派的 system 的公司,是不是很多都在绕过 Linux kernel, 自己按照需求
: 在 user space 用 C/C++ 重新实现 OS 的一些功能了啊。比如像做存储的 Pure
: Storage 之类的.

d*******r
发帖数: 3299
266
我的理解是 Robert Graham 觉得 kernel 就是主要问题所在吧,因为当年硬件的
assumption太土了。
他是主张绕过 kernel,自己在 user space 写 high-perf 的 networking stack 吧。
我理解得对吗?

【在 S*A 的大作中提到】
: PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
: 目前比较靠谱的是这个,至少可以看到源代码。
: www.dpdk.org
: OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
: Intel e1000 还是比较容易找到的。

d*******r
发帖数: 3299
267
所以要自己做 flow control, 至少简单的 flow control
请问 FEC 指的是什么

【在 h****r 的大作中提到】
: UDP的问题是一旦中间出错,不得不retransmission,这个就是恶性循环的开始,32位
: 的application离崩就不远了,64位的application可能把整机搞垮。
: 你可以用FEC来帮忙,但是那个cost不低。
:
: message
: sub
: fd

h****r
发帖数: 2056
268
你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
是搞science做POC骗funding。
我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

【在 S*A 的大作中提到】
: PF_RING 主要用在接受方。发送和 TCP 连接还不太行。
: 目前比较靠谱的是这个,至少可以看到源代码。
: www.dpdk.org
: OpenOnLoad 完全没有代码看,而且网卡比Intel 的贵。
: Intel e1000 还是比较容易找到的。

S*A
发帖数: 7142
269
绕过 kernel 是,user space 不一定。
他把一些 core 和内存直接保留自己用,所以网卡驱动是直接跑在裸 CPU
上面的。所以那个更像 kernel 而不是 user space。
反正不是依赖系统调用的那种 user space.

【在 d*******r 的大作中提到】
: 我的理解是 Robert Graham 觉得 kernel 就是主要问题所在吧,因为当年硬件的
: assumption太土了。
: 他是主张绕过 kernel,自己在 user space 写 high-perf 的 networking stack 吧。
: 我理解得对吗?

h****r
发帖数: 2056
270
http://en.wikipedia.org/wiki/Forward_error_correction

【在 d*******r 的大作中提到】
: 所以要自己做 flow control, 至少简单的 flow control
: 请问 FEC 指的是什么

相关主题
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
进入Programming版参与讨论
d*******r
发帖数: 3299
271
要不你也参加 SSA 的 C10M 实验系列吧
大家少吵架,多干实事 :)

【在 h****r 的大作中提到】
: 你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
: engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
: 是搞science做POC骗funding。
: 我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
: 我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

S*A
发帖数: 7142
272

不是很理解,展开说说。他列这两项出来,就是为了说,C10M
不是单单保持 TCP 连接就可以了,应该用一定的流量。而且也不应该
是全部大的 jumbo frame, 应该有小的数据包。因为中断处理的问题,
一般的 kernel 网络处理的时候,10G 只有大的数据包才行,受到
packet rate 的限制。 Robert 对 packet rate 提出要求,就是说
平均包大小再 1K 左右,不是全部 jumbo frame。 我觉得很合理啊。
你觉得这个放一起有很大问题吗?我觉得这个是 Insight,针对以前
10G 网卡单单 bitrate 的测试说的。你觉得思考什么地方不透彻了?
对不起,不是很了解你,假设你做不出来是不对的。你有什么 insight
可以共享一下?

【在 h****r 的大作中提到】
: 你老兄怎么老搞啥盲目崇拜?专门研究又算啥?I dont give a damn。
: engineering搞出实用的东西才是真的,而且一是一,二是二,这可不
: 是搞science做POC骗funding。
: 我的意思是把这两项硬摆在一起,就是思考或者理解不透彻,为定义而定义的表现。
: 我还没做,你就说做不出来,这个有点搞吧? 你很了解我吗?

h****r
发帖数: 2056
273
简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
那这两个里面显然是该是10 gigabits/second。
实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
写了,但是于build on top的application的参考价值就小了至少几个级数。
我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

【在 S*A 的大作中提到】
:
: 不是很理解,展开说说。他列这两项出来,就是为了说,C10M
: 不是单单保持 TCP 连接就可以了,应该用一定的流量。而且也不应该
: 是全部大的 jumbo frame, 应该有小的数据包。因为中断处理的问题,
: 一般的 kernel 网络处理的时候,10G 只有大的数据包才行,受到
: packet rate 的限制。 Robert 对 packet rate 提出要求,就是说
: 平均包大小再 1K 左右,不是全部 jumbo frame。 我觉得很合理啊。
: 你觉得这个放一起有很大问题吗?我觉得这个是 Insight,针对以前
: 10G 网卡单单 bitrate 的测试说的。你觉得思考什么地方不透彻了?
: 对不起,不是很了解你,假设你做不出来是不对的。你有什么 insight

d*******r
发帖数: 3299
274
那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
collecting server.
packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

【在 h****r 的大作中提到】
: 简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
: 那这两个里面显然是该是10 gigabits/second。
: 实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
: 经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
: 写了,但是于build on top的application的参考价值就小了至少几个级数。
: 我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
: ,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
: 但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

z****e
发帖数: 54598
275
你想做什么游戏?
非抬杠
但是我觉得你似乎对我说的一些做游戏的,尤其是画面不是很感兴趣

【在 d*******r 的大作中提到】
: 那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
: collecting server.
: packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

S*A
发帖数: 7142
276

我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
这个 10M packet per second。 人家画了 10M packet/s 的线,就是
说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
了不是更松了。这里是个大于等于的关系。
也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
robert 认为是没 pass, 不是比你的标准严格么?
这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate
的 10G 还不够好。这个是有现实意义的。
所以你没有要求人家有要求其实是更加严格了。
你出口就说人家没有动手做过这个也有点太武断,
和我说你没有做过一样,是不是有点这个意思?
BTW, 我认为 Robert 说的 C10M 是他自己做过的。看看他的talk。

【在 h****r 的大作中提到】
: 简单的说,10 gigabits/second和10 million packets/second只取一个就行了,
: 那这两个里面显然是该是10 gigabits/second。
: 实际应用之间packet的size区别可以非常大,Assuming 1k per packet是没有实际工作
: 经验的提法,无意义地简化一个具有通用性的问题,POC确实是容易做了,paper也容易
: 写了,但是于build on top的application的参考价值就小了至少几个级数。
: 我如果有一点点insight的话,就是我处理distributed logging的时候碰到过这种问题
: ,Assuming和不Assuming之间的复杂度差异之大,确实不是一开始能想象的。
: 但是一个通用的应用,卖到千千万万的客户那里去,必须能处理有差异的情况。

h****r
发帖数: 2056
277
其实你老也不用多想,实际上相当一部分老江湖思想里还是受过时的ATM的影响,未得
TCP/IP的精髓,这不是我的理解有问题。你老开始先说平均1k,看完我说的后再提不小
于10M,这个属于有点揣摩robert的原意了,更可能的事他自己都没想清楚,我们在这
里arguing for the sake of arguement没有意义。
Robert做没做过没有问题,这个我相信,看得出来他显然碰到了一些瓶颈,不得不用一
些bypass,但做到啥程度是个问题。做到发文章的程度不难,做到通用实用的程度就是
另一回事了。

【在 S*A 的大作中提到】
:
: 我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
: 人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
: 这个 10M packet per second。 人家画了 10M packet/s 的线,就是
: 说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
: 了不是更松了。这里是个大于等于的关系。
: 也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
: robert 认为是没 pass, 不是比你的标准严格么?
: 这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
: 更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate

d*******r
发帖数: 3299
278
一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
,Unity3D 也native地支持2D游戏了。跑题了。。。

【在 z****e 的大作中提到】
: 你想做什么游戏?
: 非抬杠
: 但是我觉得你似乎对我说的一些做游戏的,尤其是画面不是很感兴趣

z****e
发帖数: 54598
279
你不会什么游戏都想做吧?只要做游戏就开心?
我只想做自己喜欢玩的游戏啊,我都已经作出原形了
要改也是以后的事了,现阶段还是慢慢完善,早日上线为主要目的

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

h****r
发帖数: 2056
280
大量匀速到达的小size packets?这个requirement太specific了,没有burst的
application如果有也是极其小众的应用,能customized的东西就尽量不用通用系统,
这样可以最大优化。

【在 d*******r 的大作中提到】
: 那如果是处理大量匀速到达的小size packets 呢?比如,游戏server, metric data
: collecting server.
: packets/second 貌似就很有意义呀。我不是来抬杠的, 我就在琢磨做这2种server。

相关主题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
编程版目睹之怪现象。C10M 练习2: 空TCP 连接,1M per 4G RAM
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
进入Programming版参与讨论
S*A
发帖数: 7142
281
我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。

我是要观察你的回应才能猜测出我们的理解有什么差异,
这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
也就是说,其他条件都满足11M packet per second 是符合 C10M
还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
把。有的出来说一下。
那显然不是通用啊。都自己 custom core/RAM。
谁有可以做个真正宇宙通用的东西来给大家用用呢?
每一个实现都是有自己的局限性的。

【在 h****r 的大作中提到】
: 其实你老也不用多想,实际上相当一部分老江湖思想里还是受过时的ATM的影响,未得
: TCP/IP的精髓,这不是我的理解有问题。你老开始先说平均1k,看完我说的后再提不小
: 于10M,这个属于有点揣摩robert的原意了,更可能的事他自己都没想清楚,我们在这
: 里arguing for the sake of arguement没有意义。
: Robert做没做过没有问题,这个我相信,看得出来他显然碰到了一些瓶颈,不得不用一
: 些bypass,但做到啥程度是个问题。做到发文章的程度不难,做到通用实用的程度就是
: 另一回事了。

h****r
发帖数: 2056
282
不能这么说,C10k还是很经典通用的问题和解决方案,epoll也算个就是个宇宙通用的
东西,user level的异步也能算宇宙通用的东西,Linux Kernel也基本通用了,当然还
是有需要tailor的专业系统。能cover大范围的就算通用了。
第一不取平均(应用中无意义,开会吹牛灌水发文章有意义),第二能做到10Gbits/
second就了不起了。大于等于是下一步的事。

【在 S*A 的大作中提到】
: 我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。
:
: 我是要观察你的回应才能猜测出我们的理解有什么差异,
: 这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
: 我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
: 也就是说,其他条件都满足11M packet per second 是符合 C10M
: 还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
: 把。有的出来说一下。
: 那显然不是通用啊。都自己 custom core/RAM。
: 谁有可以做个真正宇宙通用的东西来给大家用用呢?

S*A
发帖数: 7142
283
我的实验3 就要用宇宙通用的 epoll 啦,有没哟兴趣一起做呢?

【在 h****r 的大作中提到】
: 不能这么说,C10k还是很经典通用的问题和解决方案,epoll也算个就是个宇宙通用的
: 东西,user level的异步也能算宇宙通用的东西,Linux Kernel也基本通用了,当然还
: 是有需要tailor的专业系统。能cover大范围的就算通用了。
: 第一不取平均(应用中无意义,开会吹牛灌水发文章有意义),第二能做到10Gbits/
: second就了不起了。大于等于是下一步的事。

b********e
发帖数: 595
284

游戏行业蛋疼的都在裁员,个人玩玩可以,千万别跳火坑

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

g*****g
发帖数: 34805
285
我不是说了,现实的做法不是这么做. 一旦你用多个IP, 在编程上有很多不方便的地方
。远不如VM,把连接限制在64K以下来得方便。机器很强,可以多起几个VM. 出问题的
时候波及面也少。
不把鸡蛋放进同一篮子是 HA的核心思想。
说到内存
,当年我用的机器,十个VM,
内存有300多个G. 单机能撑50万连接,什么1024个连接那是google 一下必定能解决的
问题。
我们常年要处理VM上5k-10K的单机并发,这个数目要是搞不定也不用混了。拍脑袋有不
同的拍发,做过了
,不记得细节。跟没做过出来瞎吹是俩嘛事。

【在 S*A 的大作中提到】
: 这个我就轻微的批评你一下吧。对事不对人。
: 如果有冒犯多多包涵。
: 我设计实验 step 1 的时候邀请你来一起解决问题,你
: 也没有一起实验啊。“google 一下应该可以解决”其实
: 也是另一种形式的拍脑袋。
: BTW,step2的实验 4G 机器上 1M空连接我实验好不
: 容易做出来了。用了一些 hack。我有空再研究一下不用
: hack 可以不。如果过 4G 可以上 1M, 那64G 上 10M
: 应该还是有希望的。老 Wei 拍脑袋也没有拍差太多。
: 我前面说 64G 上不了,也是在拍脑袋说的。总之,实验

d*******r
发帖数: 3299
286
我是自己做着玩儿, 跑题跑题...

【在 z****e 的大作中提到】
: 你不会什么游戏都想做吧?只要做游戏就开心?
: 我只想做自己喜欢玩的游戏啊,我都已经作出原形了
: 要改也是以后的事了,现阶段还是慢慢完善,早日上线为主要目的

d*******r
发帖数: 3299
287
这个是我没说清楚,我说的匀速是指一条从client到server的connection以内,比如游
戏人物到server的 heartbeats 或者 每单位时间的 游戏client 的 states update.
我觉得这种 scenario, 每个状态更新的packet,都是大小差不多的,small size的。
不会一个很大,一个很小。所以 message or packets per second 的 measurement 对
这种 scenario 是有意义的。
但是从 server 端看,肯定也有忽然接收很多 concurrent connections 的情况,比如
周五晚上大家都上线玩游戏了。

【在 h****r 的大作中提到】
: 大量匀速到达的小size packets?这个requirement太specific了,没有burst的
: application如果有也是极其小众的应用,能customized的东西就尽量不用通用系统,
: 这样可以最大优化。

h****r
发帖数: 2056
288
你老的工作经验很深入,但是还是比较specific。scale out不是林总的四野,能包打
天下。你这个方法在在cloud或者data center里有意义。但还有很多的应用,不可能或
者是不现实用scale out的方法,而只能scale up。单机C10M就有其意义了。
不管对scale out还是scale up,HA本身都不是问题,scale up要HA,就上双机,
Active/standby,floating NIC/floating IP就是了;要zero down time,就Active/
Active好了。

【在 g*****g 的大作中提到】
: 我不是说了,现实的做法不是这么做. 一旦你用多个IP, 在编程上有很多不方便的地方
: 。远不如VM,把连接限制在64K以下来得方便。机器很强,可以多起几个VM. 出问题的
: 时候波及面也少。
: 不把鸡蛋放进同一篮子是 HA的核心思想。
: 说到内存
: ,当年我用的机器,十个VM,
: 内存有300多个G. 单机能撑50万连接,什么1024个连接那是google 一下必定能解决的
: 问题。
: 我们常年要处理VM上5k-10K的单机并发,这个数目要是搞不定也不用混了。拍脑袋有不
: 同的拍发,做过了

h****r
发帖数: 2056
289
可以啊,你的schedule急不急?我最近有点小忙不断,得再有两礼拜才有空。

【在 S*A 的大作中提到】
: 我的实验3 就要用宇宙通用的 epoll 啦,有没哟兴趣一起做呢?
g*****g
发帖数: 34805
290
好吧,你来举个单机C10M的实践例子。这种东西玩玩benchmark就罢了,本来就没有实
用价值。当你有千万用户的时候,HA比啥都重要,你也不会买不起20台机器。

【在 h****r 的大作中提到】
: 你老的工作经验很深入,但是还是比较specific。scale out不是林总的四野,能包打
: 天下。你这个方法在在cloud或者data center里有意义。但还有很多的应用,不可能或
: 者是不现实用scale out的方法,而只能scale up。单机C10M就有其意义了。
: 不管对scale out还是scale up,HA本身都不是问题,scale up要HA,就上双机,
: Active/standby,floating NIC/floating IP就是了;要zero down time,就Active/
: Active好了。

相关主题
这个版上就是一堆打嘴炮的Linux Socket编程
Cannot recvfrom() on ipv6, HELP!问个关于socket问题
两道小题UDP广播老是接收不到
进入Programming版参与讨论
h****r
发帖数: 2056
291
见上文,scale up HA不是问题。
scale out和scale up面临的HA问题其实可以收敛到一个点的,这还是一个应用问题。

【在 g*****g 的大作中提到】
: 好吧,你来举个单机C10M的实践例子。这种东西玩玩benchmark就罢了,本来就没有实
: 用价值。当你有千万用户的时候,HA比啥都重要,你也不会买不起20台机器。

g*****g
发帖数: 34805
292
我就求一个单机C10M的实践例子,有就是有,没有就是没有。我老是没听说过。
如果有,我去学习一下当然很好。我老只相信实践,不相信太监。

【在 h****r 的大作中提到】
: 见上文,scale up HA不是问题。
: scale out和scale up面临的HA问题其实可以收敛到一个点的,这还是一个应用问题。

g****r
发帖数: 1589
293
我去,大牛能把代码贴出来让我们学习学习吗

【在 T********i 的大作中提到】
: 各位要不要开个赌盘?能不能做出来?
: 对我来讲就是50行code。
: 从头开始做,不用任何dependency,只要GCC,也肯定不到1000行。
: Specs:
: IBM M4 2 X 8 core Sandy Bridge Xeon
: 64GB memory
: 2 X Solarflare 6122F NICs
: Linux RHEL 6
: Client / Server各一台。

h****r
发帖数: 2056
294
这个我也有doubt,但是目前我倾向有,感觉技术上能实现,cost(不是指硬件)就是
另一回事。
当然我说的是general purpose的应用,比你说的一个单机C10M的实践例子要求高一些。

【在 g*****g 的大作中提到】
: 我就求一个单机C10M的实践例子,有就是有,没有就是没有。我老是没听说过。
: 如果有,我去学习一下当然很好。我老只相信实践,不相信太监。

g*****g
发帖数: 34805
295
我说的实践当然是实在的应用,你就算实现个10M的helloworld也不能叫有实用价值。
这年头硬件那么便宜,cloud上VM那么方便。哪怕技术上可行,光增加了开发难度都不
值。
对于这种高并发的东西,我没听说过的,基本上就没有。

些。

【在 h****r 的大作中提到】
: 这个我也有doubt,但是目前我倾向有,感觉技术上能实现,cost(不是指硬件)就是
: 另一回事。
: 当然我说的是general purpose的应用,比你说的一个单机C10M的实践例子要求高一些。

h****r
发帖数: 2056
296
你没看懂我的意思。我说的不仅是实践,还要能通用,不能像C10K一样提供通用解决方
案有啥意义?
当然你老信心满满绝对不是坏事,起码有利身体健康。我可不是开玩笑。

【在 g*****g 的大作中提到】
: 我说的实践当然是实在的应用,你就算实现个10M的helloworld也不能叫有实用价值。
: 这年头硬件那么便宜,cloud上VM那么方便。哪怕技术上可行,光增加了开发难度都不
: 值。
: 对于这种高并发的东西,我没听说过的,基本上就没有。
:
: 些。

g*****g
发帖数: 34805
297
就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
我老只不过经验多一点,总是比你们多想几步罢了。

【在 h****r 的大作中提到】
: 你没看懂我的意思。我说的不仅是实践,还要能通用,不能像C10K一样提供通用解决方
: 案有啥意义?
: 当然你老信心满满绝对不是坏事,起码有利身体健康。我可不是开玩笑。

d*******r
发帖数: 3299
298
大牛说的是,多node增加容错能力确实很重要,但是我觉得单机的效能压榨也挺有意思
的.
如果单机能压榨出 C10M,做多node cluster的时候,调整每个 node 的处理能力,不
也多了个high performance的 option了吗。
我觉得好像也不矛盾。

【在 g*****g 的大作中提到】
: 就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
: 的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
: 恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
: 我老只不过经验多一点,总是比你们多想几步罢了。

h****r
发帖数: 2056
299
呵呵,多想几步,那是越想越怕,都想到要被fire了,当然就没有胆子做事了。
所以老中大多是80分水平的守成工程师,90分就是凤毛菱角了,更别提95分的。
坦率一点说,你老要是有google那个每年半米的package,当然谨慎一点。要是20多万
的package,湾区还是能找到一些的,何必前怕狼后怕虎?只要不是Andy Rubin那种档
次的开发人员,也不用太担心自己在别的公司的名声。
呵呵,扯远了。大家以后还是该只谈技术。

【在 g*****g 的大作中提到】
: 就算能通用,都多半不会被实用。10M连接在硬件出问题时被redirect的冲击是很可怕
: 的。一台机器能撑住10M连接,不见得能撑住1秒内1M的发起连接。Cascading的冲击恰
: 恰是HA的噩梦。5%访问不了是个PR问题,全站当可能就要有人被fired.
: 我老只不过经验多一点,总是比你们多想几步罢了。

g*****g
发帖数: 34805
300
我做的架构最高也就到20M并发级别,再高我没有实战经验。不过世界上最高的这些应
用也不过在100M级别。
想像一下如果你上10个机器去撑100M,一旦出问题,剩余的每台机器就要面对>1M的瞬
间冲击,很可能跟着崩盘。
相比之下如果是100个机器,则是坏掉1个,1M去冲击99台机器,不过>1万的瞬间冲击,
要容易太多。
我说世界上没有10M的单机应用,不敢说打包票,八九不离十还是有的。

【在 d*******r 的大作中提到】
: 大牛说的是,多node增加容错能力确实很重要,但是我觉得单机的效能压榨也挺有意思
: 的.
: 如果单机能压榨出 C10M,做多node cluster的时候,调整每个 node 的处理能力,不
: 也多了个high performance的 option了吗。
: 我觉得好像也不矛盾。

相关主题
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
进入Programming版参与讨论
g*****g
发帖数: 34805
301
另外,就算应用服务器撑住了。绝大部分的应用在初始化的时候要读入user profile,
这要远比处理一个短信对数据库压力大的多。就算初始化是单条短信10倍就好。不是每
时每刻每个用户都发短信的。可以想见数据库瞬时可能要面临平时10倍以上的压力,能
否撑住是很大问题。
g*****g
发帖数: 34805
302
不是怕被fire,是理论上算算觉得多半撑不住,不去费那劲。EC2上有各种选择,可以
选配置高点的,也可以选配置低点的多一些机器,要省钱不是一条路,我知道我们前端
就没用最大的instance, 居于同样的原因。还是那句话,你去找个实例来,那自然我错
了。否则,最多就是个理论的可行性而已。
这板上盛行的就是10K并发没产品里实践过,成天想着我单机10M helloworld怎么弄。
在我看来都是
很可笑的事情。

【在 h****r 的大作中提到】
: 呵呵,多想几步,那是越想越怕,都想到要被fire了,当然就没有胆子做事了。
: 所以老中大多是80分水平的守成工程师,90分就是凤毛菱角了,更别提95分的。
: 坦率一点说,你老要是有google那个每年半米的package,当然谨慎一点。要是20多万
: 的package,湾区还是能找到一些的,何必前怕狼后怕虎?只要不是Andy Rubin那种档
: 次的开发人员,也不用太担心自己在别的公司的名声。
: 呵呵,扯远了。大家以后还是该只谈技术。

S*A
发帖数: 7142
303
不急,我也就是自己捣腾玩玩。我大概会用心险恶的放些
比较弱的代码出来,座等大家和我一样碰钉子,看看大家
可不可以讨论和贡献代码来解决这些问题的。
当然我事先都会自己试一下先,不会叫大家做不可能的东西。

【在 h****r 的大作中提到】
: 可以啊,你的schedule急不急?我最近有点小忙不断,得再有两礼拜才有空。
S*A
发帖数: 7142
304
单机C10M有感,C10M 和 C10K 从来都是指单机的。
cluster 那种不叫 C10M。至少网上我还没有看到其他
地方有这种叫法。
d*******r
发帖数: 3299
305
不过我觉得 goodbug 实际应用场景里面考虑 robust 和 reliable 那些分析,还是很
在理的。

【在 S*A 的大作中提到】
: 单机C10M有感,C10M 和 C10K 从来都是指单机的。
: cluster 那种不叫 C10M。至少网上我还没有看到其他
: 地方有这种叫法。

g*****g
发帖数: 34805
306
C10K没问题,即便10年前。百万用户在线的应用还是很多的。1万用户当了不过是百分
之一的冲击。
这年头没有1B在线的应用,最多100M. 你要把10M鸡蛋放进一个篮子,篮子破了有没有
足够的机器去顶住冲击,就是个很重要的问题。特别是对于persistent connection的
应用,这个冲击更为明显。
你要说做个proxy server, load balancer也罢,要套whatsApp,这是必须回答的问题
。我老
只不过出于职业的敏感,告诉你篮子破了怎么办的问题远比篮子够不够大的问题难得多。

【在 S*A 的大作中提到】
: 单机C10M有感,C10M 和 C10K 从来都是指单机的。
: cluster 那种不叫 C10M。至少网上我还没有看到其他
: 地方有这种叫法。

S*A
发帖数: 7142
307
这个是两了独立的问题好不好。
C10M 是说篮子可以装更多的鸡蛋的技术。
goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
问题搞得更加说不清了。
用 cluster 技术也不应该防止把一个篮子做大的技术。
回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
就行了。那就不会现在有 epoll 这些好东东了。
这个是技术发展的两个不同方向。又没有人说一定单用一个。

多。

【在 g*****g 的大作中提到】
: C10K没问题,即便10年前。百万用户在线的应用还是很多的。1万用户当了不过是百分
: 之一的冲击。
: 这年头没有1B在线的应用,最多100M. 你要把10M鸡蛋放进一个篮子,篮子破了有没有
: 足够的机器去顶住冲击,就是个很重要的问题。特别是对于persistent connection的
: 应用,这个冲击更为明显。
: 你要说做个proxy server, load balancer也罢,要套whatsApp,这是必须回答的问题
: 。我老
: 只不过出于职业的敏感,告诉你篮子破了怎么办的问题远比篮子够不够大的问题难得多。

b*******s
发帖数: 5216
308
对了,r/w buffer的最小尺寸是受mem page size限制的
最小就是一个分页
所以实际要分配buffer了,可以通过修改分页大小
现在内核代码里是通过一个bitwise移位来控制的
移位12位,正好4096bytes

【在 S*A 的大作中提到】
: 这个是两了独立的问题好不好。
: C10M 是说篮子可以装更多的鸡蛋的技术。
: goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
: 这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
: 解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
: 没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
: 问题搞得更加说不清了。
: 用 cluster 技术也不应该防止把一个篮子做大的技术。
: 回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
: 就行了。那就不会现在有 epoll 这些好东东了。

g*****g
发帖数: 34805
309
你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
增长了。
因为全世界人口就那么多。
所以C10M是个伪问题。实践中根本不会在单机上放那么多。

【在 S*A 的大作中提到】
: 这个是两了独立的问题好不好。
: C10M 是说篮子可以装更多的鸡蛋的技术。
: goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
: 这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
: 解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
: 没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
: 问题搞得更加说不清了。
: 用 cluster 技术也不应该防止把一个篮子做大的技术。
: 回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
: 就行了。那就不会现在有 epoll 这些好东东了。

b*******s
发帖数: 5216
310
物联网会带来大量设备
当然你也可以做个智能路由器一家就一个连接

【在 g*****g 的大作中提到】
: 你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
: 增长了。
: 因为全世界人口就那么多。
: 所以C10M是个伪问题。实践中根本不会在单机上放那么多。

相关主题
这个版看来是毁了编程版目睹之怪现象。
我的实测结果,纯计算每秒50M次interlocked.increment[bssd] Go 的大并发处理网络碰到两个个问题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
进入Programming版参与讨论
b*******s
发帖数: 5216
311
已经有一些智能路由器项目在开始了

【在 b*******s 的大作中提到】
: 物联网会带来大量设备
: 当然你也可以做个智能路由器一家就一个连接

S*A
发帖数: 7142
312
我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
人口不够多,C10M 是为命题不都是这个意思吗?
我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
再说一遍,这个和 C10M 技术本身无关。
说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
你会选择不用,改用更加实际的 C5K ?
你觉得没有大有人觉得有用。

【在 g*****g 的大作中提到】
: 你明显没看明白我说啥。机器是可以越做越快,但在线用户数到了100M这个级别就不会
: 增长了。
: 因为全世界人口就那么多。
: 所以C10M是个伪问题。实践中根本不会在单机上放那么多。

g*****g
发帖数: 34805
313
不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
的先进经验是有必要的。
我认为这是伪命题就是因为没有看到任何一个实战做了。
高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

【在 S*A 的大作中提到】
: 我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
: 人口不够多,C10M 是为命题不都是这个意思吗?
: 我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
: 再说一遍,这个和 C10M 技术本身无关。
: 说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
: 你会选择不用,改用更加实际的 C5K ?
: 你觉得没有大有人觉得有用。

S*A
发帖数: 7142
314
你不要那么过敏好不好?我什么时候质疑过
你的资历了?技术讨论干嘛一定要靠资历
说服人?我都说了,你说的cluster点都对,
但是和 c10m 本身无关。
请问你的资历和c10m有什么直接关系?
我本来就是想验证一下老wei那个是
不是可以做出来的。尽可能通过实验
数据来说明情况。你老是跑题拿你的
经验和资历来说问题。
你再好好想想?

300G

【在 g*****g 的大作中提到】
: 不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
: 的先进经验是有必要的。
: 我认为这是伪命题就是因为没有看到任何一个实战做了。
: 高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
: 内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

S*A
发帖数: 7142
315
这个是我想找的,但是还没有找到。
请问是那个函数切到 page size?
我看了skbuff 调用的分配内存函数
是可以切更小的,到32bytes。

【在 b*******s 的大作中提到】
: 对了,r/w buffer的最小尺寸是受mem page size限制的
: 最小就是一个分页
: 所以实际要分配buffer了,可以通过修改分页大小
: 现在内核代码里是通过一个bitwise移位来控制的
: 移位12位,正好4096bytes

b*******s
发帖数: 5216
316
tcp_rmem (since Linux 2.4)
This is a vector of 3 integers: [min, default, max]. These
parameters are used by TCP to regulate receive buffer sizes.
TCP dynamically adjusts the size of the receive buffer from
the defaults listed below, in the range of these values,
depending on memory available in the system.
min minimum size of the receive buffer used by each TCP
socket. The default value is the system page size.
(On Linux 2.4, the default value is 4K, lowered to
PAGE_SIZE bytes in low-memory systems.) This value
is used to ensure that in memory pressure mode,
allocations below this size will still succeed.
This is not used to bound the size of the receive
buffer declared using SO_RCVBUF on a socket.
http://man7.org/linux/man-pages/man7/tcp.7.html

【在 S*A 的大作中提到】
: 这个是我想找的,但是还没有找到。
: 请问是那个函数切到 page size?
: 我看了skbuff 调用的分配内存函数
: 是可以切更小的,到32bytes。

b*******s
发帖数: 5216
317
不是某个函数,而是文档就是这么要求的,低于这个值pressure就不一定能正确工作了
不过实际系统,这样做副作用太大了

【在 S*A 的大作中提到】
: 这个是我想找的,但是还没有找到。
: 请问是那个函数切到 page size?
: 我看了skbuff 调用的分配内存函数
: 是可以切更小的,到32bytes。

S*A
发帖数: 7142
318
那这个回答还没有完全回答我的疑问,我就是想知道想老Wei
说的那样把它设置到 512 会发生什么情况。如果有副作用,
到底是什么样的副作用。

【在 b*******s 的大作中提到】
: 不是某个函数,而是文档就是这么要求的,低于这个值pressure就不一定能正确工作了
: 不过实际系统,这样做副作用太大了

b*******s
发帖数: 5216
319
我只是猜猜,还需要试验
1 容易导致flow control影响性能
2 内存分页小,维护分页和分配都比较慢和耗资源

【在 S*A 的大作中提到】
: 那这个回答还没有完全回答我的疑问,我就是想知道想老Wei
: 说的那样把它设置到 512 会发生什么情况。如果有副作用,
: 到底是什么样的副作用。

S*A
发帖数: 7142
320
这个我已经搞清楚了。那个 tcp_rmem tcp_wmem
只是一个水位线(的缺省值)。前面提到的,并没有
安排内部一个 buffer size 是 tcp_rmem,内存是以
sk_buff 连接来管理的.这个sk_buff 在接受端是和网卡
收来的网包挂钩。发送端是和 socket send 的数据挂钩。
改编水位线并不影响数据是如何来的,只是影响sk_buff
链有多长的时候触发数据合并和发送。接受端就是让socket
返回有数据可以读。发送端就是试图把数据发出去。
水位线太低的时候,就会频繁触发读写。就是说,本来
收20K 的东西用4 个系统调用read, 有可能变成要 10个
系统调用。 对系统的开销是增加了,因为系统调用次数和
中断数目都增加了。但是并不能节省很多内存,霸占的内存
是还没有处理的数据,如果有数据来不及处理,水位线再
低那些内存也还是霸占着。
没有影响内存分页,因为每次数据大小是由于网络包和socket
write 的 buffer 决定的。水位线就是影响什么时候开始把数据
刷出去。
BTW, 我看了代码,没有硬性限制这个buffer 不能小于 PAGE
size。 只不过太小没有好处就是了。

【在 b*******s 的大作中提到】
: 我只是猜猜,还需要试验
: 1 容易导致flow control影响性能
: 2 内存分页小,维护分页和分配都比较慢和耗资源

相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
各位所在公司的code review烦人不?两道小题
这个版上就是一堆打嘴炮的Linux Socket编程
进入Programming版参与讨论
S*A
发帖数: 7142
321
我那天回答你这个问题的态度比较恶劣,向你道歉。
我今天就认真一点回答你。
这里有两个层面的问题需要分别对待。
1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
首先,这个现实的问题,应该有个可以或者不可以的确定答案。
对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
在这个问题上,资历其实是非常间接的依据。
如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
所以你说的资历和先进经验是不必要的,甚至不是很好的论据。
大家讨论技术问题用资历来做论据,可以肯定的结论是必然导致不能确定
的结果,双方都觉得自己资历高,谁也不服谁。而我试图以程序和实验
来论证,显然是比资历强得多的依据,也用不着资历。
所以我觉得你不愿意真正参与问题 1) 的讨论或者实验。而抛出命题 2)
来迂回。
2)C10M 没有意义(伪命题)和 C10M 不可用论。
C10M 没意义
现在市面上没有可以很简单可靠拿来就能用的 C10M 方案,所以讨论
C10M 没有意义。这个简化为: 因为 X 现在时代(Y) 不存在,所以
研究 X没有意义。这个可以找到很多(X,Y) 的反例子,我就不重复了。
道理上,一般是先有X 的研究,才导致有X 的出现,这个意义够明显吧。
C10M 技术就算有了也不能用。
这个显然也不成立。我就举一个例子,如果我可以处理10M, 我实用
1M, 预先留 9M 处理突发流量冲击行不行?或者我就是用 10M 来提供
无状态的静态 cache (文件/图像)服务行不行?流量大了我就加机器。
如果真的有 C10M 技术,而抱怨找不到地方用得上,似乎反映的是使用
者的水平能力问题而不是 C10M 的问题。
GC 问题,那只能说 GC 不能用在高并发. 高并发不一定要用 GC 啊。

300G

【在 g*****g 的大作中提到】
: 不如你来说说你做过多大并发的应用。你觉得我的实际经验很可笑,那大家了解一下你
: 的先进经验是有必要的。
: 我认为这是伪命题就是因为没有看到任何一个实战做了。
: 高并发不是简单的越大越好,比如 JVM heap太大都会导致GC时间太长。所以我有300G
: 内存宁可分到多个 VM上跑。所有基于VM的语言都有类似的问题。

h****r
发帖数: 2056
322
说得很有道理。

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

L*****e
发帖数: 8347
323
我觉得古德霸说的,除了是不是最多只有100M的同时在线连接可商榷以外,其它部分还
是基本站得住脚的。
按照他的假设,如果因为人口的限制,最多不会出现超出100M的在线连接应用,用100
台机子的cluster,每台机子可以Handle 1M连接来部署,这样,一台机子fail了,1M连
接分到另外99台机子上去,那么每台机子需要多handle 10K的连接。
如果现在你的单机可以handle 10M连接,你是用10台机子来部署呢?还是用100台机子
来部署呢?10台机子部署的话,如果1台fail了,10M的连接分配到另外9台上,每台要
一下多1M连接可能会崩溃。如果照你这个帖子里说的,用100台机子部署,平时每台只
处理1M连接,富裕的9M来应付有机子fail的情况,那么是巨大的计算力浪费,因为毕竟
大部分时间是平常正常运行,failure是极少数,保持巨大的余量来应付fail就是浪费。
至于100台C1M的机子和10台C10M的机子哪个成本更高,这里还要考虑到100台C1M
的机子可能不光是用来处理连接,其计算力还要用在别的方面等因素,所以我也不清楚
结论是什么,只能说影响因素比较多。。。
不过呢,考虑到将来智能家居,物联网的发展,一个人可能有几十个设备同时上网在线
,所以最多100M的在线连接这个前提将来未必靠得住。。。

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

S*A
发帖数: 7142
324

我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
不知道。
最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
例如 gmail 的 web 界面就是这么干。还有物联网等等。
100
费。
这个就是个 capacity planning 的问题,是完全另外一个问题。
着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,
用户能够产生的需求变化是非常大的,经常好几倍。所以任何靠谱的解决
方案都需要有对付用户流量变化的方法,不能在自己的上限来运行。
就算 10 部机器,倒掉一两部产生负载的变化是 20%。 这个完全埋没在
和用户需求产生的几倍的变化里面。所以这个解释 C10M 有了不能用是
牵强的。因为你本来就需要能够对付那几倍的变化,还在乎因为部分机器
当机转移过来的 20% 把自己给拍死了?

【在 L*****e 的大作中提到】
: 我觉得古德霸说的,除了是不是最多只有100M的同时在线连接可商榷以外,其它部分还
: 是基本站得住脚的。
: 按照他的假设,如果因为人口的限制,最多不会出现超出100M的在线连接应用,用100
: 台机子的cluster,每台机子可以Handle 1M连接来部署,这样,一台机子fail了,1M连
: 接分到另外99台机子上去,那么每台机子需要多handle 10K的连接。
: 如果现在你的单机可以handle 10M连接,你是用10台机子来部署呢?还是用100台机子
: 来部署呢?10台机子部署的话,如果1台fail了,10M的连接分配到另外9台上,每台要
: 一下多1M连接可能会崩溃。如果照你这个帖子里说的,用100台机子部署,平时每台只
: 处理1M连接,富裕的9M来应付有机子fail的情况,那么是巨大的计算力浪费,因为毕竟
: 大部分时间是平常正常运行,failure是极少数,保持巨大的余量来应付fail就是浪费。

g*****g
发帖数: 34805
325
这只能说明你没有实际经验。能处理10M, 再多处理1M,从容量本身看是不难。
但是你忘了,前面这10M的连接是慢慢产生的,大多数时候这些连接只有heartbeat, 没
有信息交换。
但一旦有机器当机,这1M的重新连接请求是同时到来的,伴随的是需要重新产生用户
session, 要读DB, 要计算,
会产生巨大的冲击。这个冲击远远大于10M大多idle的连接。你的机器是顶不住的。
你说的要能够处理几倍的容量同样不对,一般的做法就是跑在50%-70%,超过了动态
继续起VM。
而不是预留几倍的处理能力。这本来就是云计算的长处。
persistent connection跟stateless connection在failover设计里是有很大区别的。
前者需要更大的余量。
用100台1M和10台10M的区别是巨大的。没有真正搞过实际系统的人不会想到这些问题,
但不等于这些问题就不存在了。
我说是伪命题,就是因为世界上100M 在线的系统屈指可数,而且据我所知没有一个是
用10台机器的,几百个上千个VM才是惯例。将来如果有1000M的系统,同样会倾向于多
起VM,
而不是多压榨单机性能。篮子多,破了影响小,这本来就没啥难理解的。如果是用
public cloud.
假定将来机器比现在快10倍,每台机器多起10倍同样VM,多应用分散使用这些资源,也
比用现在10倍能力的VM强。

【在 S*A 的大作中提到】
:
: 我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
: 是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
: 不知道。
: 最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
: 例如 gmail 的 web 界面就是这么干。还有物联网等等。
: 100
: 费。
: 这个就是个 capacity planning 的问题,是完全另外一个问题。
: 着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,

L*****e
发帖数: 8347
326
我想他强调的不是说一台fail以后别的机子上多出20% capacity连接的变化,而是说这
20%的capacity变化是瞬间的冲击,因为你不能慢慢failover这些连接,否则对于用户
来讲和断了连接一样。所以这种情况下等于是连接的高并发,瓶颈已经不是连接的
capacity了。。。

★ 发自iPhone App: ChineseWeb 8.2.2
★ 发自iPhone App: ChineseWeb 8.2.2

【在 S*A 的大作中提到】
:
: 我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
: 是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
: 不知道。
: 最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
: 例如 gmail 的 web 界面就是这么干。还有物联网等等。
: 100
: 费。
: 这个就是个 capacity planning 的问题,是完全另外一个问题。
: 着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,

q*c
发帖数: 9453
327
unity3d 还是相当牛逼的,我写了个小 app 爆破一个塔楼,物理 engine 很真实。
就是手机撑不住。 两个光源, 40 条木头就开始卡了。。。

【在 d*******r 的大作中提到】
: 一直都想做游戏,从来没变,画面是很重要,但是也得看是什么类型。
: 老赵,我真心建议你玩玩Unity3D, 设计游戏没有成熟 virtualize tool 是无比蛋痛的
: ,Unity3D 也native地支持2D游戏了。跑题了。。。

g*****g
发帖数: 34805
328
我再说一遍,单机上玩玩benchmark跟产品环境是两码事。产品环境从来都是可靠性远
远高于性能。
你要有几千万用户,风投趋之若鹜,跑几百个VM才几个钱。
你要有实战经验,哪怕没有10M只有100K并发,大家都可以讨论一下经验。单机上让你测
出10M来也就是玩而已。
C10K 有意义,那是因为epoll 没有改变TCP协议。C10M 那个博客的作者提到必须重写
网络协议,在我看来跟ipv8一样。
q*c
发帖数: 9453
329
资历是很重要的。 理解有不同的程度。
比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
但是行动上照样贴着看。
这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
真知道。

【在 S*A 的大作中提到】
: 你不要那么过敏好不好?我什么时候质疑过
: 你的资历了?技术讨论干嘛一定要靠资历
: 说服人?我都说了,你说的cluster点都对,
: 但是和 c10m 本身无关。
: 请问你的资历和c10m有什么直接关系?
: 我本来就是想验证一下老wei那个是
: 不是可以做出来的。尽可能通过实验
: 数据来说明情况。你老是跑题拿你的
: 经验和资历来说问题。
: 你再好好想想?

g*****g
发帖数: 34805
330
你说得没错,没半夜4点被pager叫醒过的不理解为啥我老强调可靠性。
多整几台机器又不是我的钱。玩奇技淫巧出了事,小则要熬夜,大则丢工作。

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

相关主题
问个关于socket问题求推荐一个真心交流技术的地方
UDP广播老是接收不到废话少说,单机500万次每秒
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
进入Programming版参与讨论
p*****w
发帖数: 429
331
我总结一下,就是老军医过来回答正规医学院的考题,基本上都是瞎扯自己平时碰到的具
体问题. 或许都是对的,可惜答不对题.

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

S*A
发帖数: 7142
332

这个我同意前面一句,实验倒是可以正是或者正否老wei的命题 1)。
做完实验3 也不能代表产品上可以跑10M。这个是真的。
也个也说明你对老wei的命题 1)其实完全没有底是能做出来不行,
因为你不屑于去研究。
你测
果然是到了非展示下资历不能说话的地步。人家大牛有资历都是可以把自己
的经验吸收能够理解融会贯通。大牛可以在讨论技术问题的时候,把经验
后面的真实原因讲出来。如果新手的意见不对,也可以指出具体不对的技术
原因是什么。通过可以验证的方式。放开技术原因不讲,光讲老子有比你有、资历就是
比你对,这个不是大牛所为(好像也不符合Netflix 那个 HR slides 哦)。
你说的是 Robert ? 他说了必须要重新写网络协议?这个听起来很不 make sense.
改了协议那些以前用旧协议的用户怎麼办啊?是不是可以选的协议还是有什么
理解上的问题啊。
求出处。你说的不会是 TCP TIME Wait 的问题把。

【在 g*****g 的大作中提到】
: 我再说一遍,单机上玩玩benchmark跟产品环境是两码事。产品环境从来都是可靠性远
: 远高于性能。
: 你要有几千万用户,风投趋之若鹜,跑几百个VM才几个钱。
: 你要有实战经验,哪怕没有10M只有100K并发,大家都可以讨论一下经验。单机上让你测
: 出10M来也就是玩而已。
: C10K 有意义,那是因为epoll 没有改变TCP协议。C10M 那个博客的作者提到必须重写
: 网络协议,在我看来跟ipv8一样。

d****i
发帖数: 4809
333
赞大侠的钻研精神!

【在 S*A 的大作中提到】
: 我那天回答你这个问题的态度比较恶劣,向你道歉。
: 我今天就认真一点回答你。
: 这里有两个层面的问题需要分别对待。
: 1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
: 首先,这个现实的问题,应该有个可以或者不可以的确定答案。
: 对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
: 在这个问题上,资历其实是非常间接的依据。
: 如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
: 以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
: 所以你说的资历和先进经验是不必要的,甚至不是很好的论据。

S*A
发帖数: 7142
334

所以你说的这个资历还是间接证据啊。在实际数据面前再多的资历都是苍白的。
Number talks, BS walks。能够做得出来的说了算。

【在 q*c 的大作中提到】
: 资历是很重要的。 理解有不同的程度。
: 比如我闺女,啥都门清。你说破嘴,要距离远,不然要近视,道理那是太清楚了。
: 但是行动上照样贴着看。
: 这么多年,我发现人这生物是很低等的生物,很难通过道理学习,一般要刺刀见血进肉
: 了,才能真学习。 这就是资历的意义~ 不是显摆,而是看你有没有真被刺刀捅过。
: 因为生而知之的天才实在太罕见,所以资历就是个没办法下的办法,看看对方多大概率
: 真知道。

S*A
发帖数: 7142
335
或者深入问多几个和项目相关的问题,讨论一内在机制就卦掉了。
不求甚解是一个比较标志性的。

【在 p*****w 的大作中提到】
: 我总结一下,就是老军医过来回答正规医学院的考题,基本上都是瞎扯自己平时碰到的具
: 体问题. 或许都是对的,可惜答不对题.

S*A
发帖数: 7142
336
靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

【在 d****i 的大作中提到】
: 赞大侠的钻研精神!
g*****g
发帖数: 34805
337
资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
的。

【在 S*A 的大作中提到】
: 靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
: 喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

g*****g
发帖数: 34805
338
我反复谈了两点,一个是100M在线用户到头。就算将来物联网,还是如此。你跟国内的
朋友需要聊天,你的冰箱跟朋友的冰箱不需要。冰箱也不会走路。美国一套服务器,中
国一套服务器,两套服务器完全不需要直接通讯。另一个是failover的冲击,远远大于
维护空闲连接的需要,光这一点10台服务器是不够的。
你愿意做什么benchmark不关我的事,我只是说了这种做法在现实中不符合HA的需要。
一个系统有很多难点,高并发的系统HA本来就是最难的地方。你这种做法就是拼命优化
堆机器就能解决的问题,把最难的地方的难度再提高。我认为不可取,听不听就是你的
事了。

【在 S*A 的大作中提到】
: 靠,不要叫我大侠啊。我就是一个无名无辈分的一届草民。
: 喜欢捣腾而已,都是混口饭吃,不要给我立靶子。

S*A
发帖数: 7142
339
难道你在 mitbbs 亮的资历就可以在找工作上用了?
难道你的资历如此强壮以至于讨论技术问题都不能用
技术语言表达出来,用技术原因来reason,只能够用
资历来讲话了?
资历王,请受我一拜。

【在 g*****g 的大作中提到】
: 资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
: WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
: 的。

S*A
发帖数: 7142
340
BTW, 做事情有始有终, 你说那个 C10M 必须改 internet 协议否则
做不出来的出处在那里?
我很好奇人家的原因是什么。

【在 g*****g 的大作中提到】
: 资历没有用,找工作还要简历干啥。就算能弄出个10M单机的HelloWorld,难道
: WhatsApp就会让你做架构了?这种benchmark到产品里本来就是先打掉一个数量级再看
: 的。

相关主题
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为为啥太监这么不要脸呢?
这个版看来是毁了编程版目睹之怪现象。
进入Programming版参与讨论
S*A
发帖数: 7142
341

但是我也不会依据现在的技术来给未来可能用到的技术加个上限。
这个让我想起了那个 PC 640K 就完全够用了一说。
我明白,区别是变化的速率。慢慢加上去的,你有时间起新的机器
来对付新来的流量。我的问题是,如果流量突然没有征兆的增加了
20%, 你的系统会怎样?似乎是你遇到了这种情况(从 fail over),
所以你有意避开了这样的冲击。这样似乎就隐含了,如果这样的冲
击真的来了,你的系统就会发生不可预知的情况。
那我就好奇的再问一个问题,不好意思,我的好奇心很大。
你的系统,如果真的向你说的,每部机器只有 5K 连接。(BTW, 这个和
C1M 也差了 3 数量极有多)。 算你说的有 10K。我有个猜测,
狗家的机器类似的应用的处理能力比你的高好多倍,很可能是一个数量级
以上还不止。这个我的话不可靠,狗家大概不允许公开这些内部细节,你
在硅谷,自己找个狗家的朋友印证一下,把这个相差的比例系数回来报一下
最好。也有可能是我道听途说,完全搞错了。
先假设我的猜测是对的,为什么狗家单机并发量比你高,而且人家的 HA
最难的部分也兼顾到了呢?如果是真的,为什么你满足于现在的并发量
而狗家的不满足呢?

【在 g*****g 的大作中提到】
: 我反复谈了两点,一个是100M在线用户到头。就算将来物联网,还是如此。你跟国内的
: 朋友需要聊天,你的冰箱跟朋友的冰箱不需要。冰箱也不会走路。美国一套服务器,中
: 国一套服务器,两套服务器完全不需要直接通讯。另一个是failover的冲击,远远大于
: 维护空闲连接的需要,光这一点10台服务器是不够的。
: 你愿意做什么benchmark不关我的事,我只是说了这种做法在现实中不符合HA的需要。
: 一个系统有很多难点,高并发的系统HA本来就是最难的地方。你这种做法就是拼命优化
: 堆机器就能解决的问题,把最难的地方的难度再提高。我认为不可取,听不听就是你的
: 事了。

S*A
发帖数: 7142
342
我可以替你想到一个原因,因为狗家人多,特别是喜欢
优化系统的牛人多。我们来猜猜,如果有这样个牛人,
其他 package 条件都一样,人家是去狗家有比较好的
发展还是去 N 家有比较好的发展呢?
b*******s
发帖数: 5216
343
像狗家亚麻家优化比较有意义,做基础设施和做应用层的不一样

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

b*******s
发帖数: 5216
344
对做基础设施的,一个这样的优化可以减少数据中心建设规模,周期,电费等维护成本
,最后用户使用费用就低了,竞争力能上去

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

b*******s
发帖数: 5216
345
我记得狗家是自己定制操作系统的
S*A
发帖数: 7142
346
不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
应用的东西。

【在 b*******s 的大作中提到】
: 像狗家亚麻家优化比较有意义,做基础设施和做应用层的不一样
S*A
发帖数: 7142
347
哇,自己定制操作系统,这么危险的东西,搞不好 kernel panic,
HA 出了问题谁负责啊?
结论,狗家的都是不负责任的工程师,还是 N 家的 HA 听起来
更加可靠些,慢点就慢点吧。

【在 b*******s 的大作中提到】
: 我记得狗家是自己定制操作系统的
b*******s
发帖数: 5216
348
N家基础设施不是主要靠aws 吗

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

S*A
发帖数: 7142
349
N 家的也要有数据中心啊, N 家的数据中心规模应该也不小啊。
难道还是规模太小以至于优化没有意义?

【在 b*******s 的大作中提到】
: 对做基础设施的,一个这样的优化可以减少数据中心建设规模,周期,电费等维护成本
: ,最后用户使用费用就低了,竞争力能上去

b*******s
发帖数: 5216
350
不是说10年就都转过去了吗,具体要问问好虫了

【在 S*A 的大作中提到】
: N 家的也要有数据中心啊, N 家的数据中心规模应该也不小啊。
: 难道还是规模太小以至于优化没有意义?

相关主题
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
和井底之蛙,没什么好说的这个版上就是一堆打嘴炮的
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
进入Programming版参与讨论
S*A
发帖数: 7142
351
哦,那我明白多了,原来很多底层的东西都是别人给做好的。
硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
可以了。
那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
的,也不需要去自己操心。

【在 b*******s 的大作中提到】
: N家基础设施不是主要靠aws 吗
T********i
发帖数: 2416
352
N家连http streaming据说都要用Java做。让我彻底作呕了。
Crestron的视频会议系统。其实就是一个media streaming switch。号称最大50G。所
有装逼的企业和大学都要买一套。一年利润5亿刀。
我已经放弃和这些人理论了。有这功夫可以多干些正事。

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

b*******s
发帖数: 5216
353
他们做的相当于传统意义上的中间件和应用层

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

b*******s
发帖数: 5216
354
昨天亚麻的招聘的广告开头就是三个性能问题,招senior engineer的

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

S*A
发帖数: 7142
355
那我彻底明白了。多谢大家解释。
我一直很纳闷为什么一个系统架构师可以不关心
很多底层的技术实现,可以不关心系统效率。
以前的系统架构师是可以干这个系统里面任何一个
工程师的工作的,只不过干这些工作不是最好发挥
能力的地方。
感情现在新的系统架师和以前的系统架构师完全
不是一回事。
d*******r
发帖数: 3299
356
"http streaming据说都要用Java做"
主要有什么问题,求解释

【在 T********i 的大作中提到】
: N家连http streaming据说都要用Java做。让我彻底作呕了。
: Crestron的视频会议系统。其实就是一个media streaming switch。号称最大50G。所
: 有装逼的企业和大学都要买一套。一年利润5亿刀。
: 我已经放弃和这些人理论了。有这功夫可以多干些正事。

g*****g
发帖数: 34805
357
我就问你一句,高并发的产品你做过没有?有和没有就一句话,躲躲闪闪有必要吗?
我不是用资历来压人,但你没有相关的行业经验,谁说的话更靠谱是很显然的。
数字说话是没错,问题数字是产品里的数字,不是helloworld的数字。你在产品里跑单
机10M,那是你牛逼。
helloworld就算跑出10M,也不能说明问题。我就这个意思。

【在 S*A 的大作中提到】
: 难道你在 mitbbs 亮的资历就可以在找工作上用了?
: 难道你的资历如此强壮以至于讨论技术问题都不能用
: 技术语言表达出来,用技术原因来reason,只能够用
: 资历来讲话了?
: 资历王,请受我一拜。

g*****g
发帖数: 34805
358
http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
anyway, but a degenerate stack tuned to your application.
This is done first by rewriting the network driver. Instead of a network
driver that hands off packets to the kernel, you change the driver does that
it doesn’t. Instead, you map the packet buffers into user-mode space.
换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
,做WhatsApp就是牛头不对马嘴。

【在 S*A 的大作中提到】
: BTW, 做事情有始有终, 你说那个 C10M 必须改 internet 协议否则
: 做不出来的出处在那里?
: 我很好奇人家的原因是什么。

b*******s
发帖数: 5216
359
这方法个人做比较费时费事,得想别的办法了

that

【在 g*****g 的大作中提到】
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: 这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
: anyway, but a degenerate stack tuned to your application.
: This is done first by rewriting the network driver. Instead of a network
: driver that hands off packets to the kernel, you change the driver does that
: it doesn’t. Instead, you map the packet buffers into user-mode space.
: 换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
: 数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
: ,做WhatsApp就是牛头不对马嘴。

g*****g
发帖数: 34805
360
关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
可能,但数量级的差距是不至于的。
如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

【在 S*A 的大作中提到】
: 那我彻底明白了。多谢大家解释。
: 我一直很纳闷为什么一个系统架构师可以不关心
: 很多底层的技术实现,可以不关心系统效率。
: 以前的系统架构师是可以干这个系统里面任何一个
: 工程师的工作的,只不过干这些工作不是最好发挥
: 能力的地方。
: 感情现在新的系统架师和以前的系统架构师完全
: 不是一回事。

相关主题
两道小题UDP广播老是接收不到
Linux Socket编程C10M除了socket以外,还牵涉其他方面的技巧
问个关于socket问题求推荐一个真心交流技术的地方
进入Programming版参与讨论
g*****g
发帖数: 34805
361
这有啥难理解的,云计算做的就是基础设施。我们的流量变化大,进入一个市场又要很
快。建设数据中心
从时间和金钱上都是不换算的。今天几乎所有的hot startup都没有自己的数据中心,
基本都在EC2上,你这也太out了吧。

【在 S*A 的大作中提到】
: 不是很理解,为什么 N 家就做应用,不需要做基础设施呢?
: 狗家 Youtube 收费模式不一样,单应该也有一定可比性吧。
: 我就不信狗家盘子那大,服务器群里找不到一个类似 N 家
: 应用的东西。

z****e
发帖数: 54598
362
iaas == infrastructure as a service
看字面意思
现在都在cloud上用啊
自己搞dc的真不多了

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

g*****g
发帖数: 34805
363
LOL, 谁跟你说底层的东西就是最难的东西?谁说给你AWS你就自动HA了?这完全是无
知加阿Q呀。
按你这么说,不自己写OS的都不用出来打招呼了。啥AWS自动HA除了说明你没用过,还
能说明啥?
我就不明白,这板上的C++程序员为啥成天喜欢讨论自己没用过的东西。

【在 S*A 的大作中提到】
: 哦,那我明白多了,原来很多底层的东西都是别人给做好的。
: 硬骨头都是给别人啃的。aws 应该已经有可以用的 HA 那样的
: 解决方案,用就好了,不用自己设计。反正老子有钱买 aws 就
: 可以了。
: 那我完全明白 goodbug 的出发点了。因为最难的部分不是自己做
: 的,也不需要去自己操心。

g*****g
发帖数: 34805
364
我是写应用软件的,不是写底层的。至于一个系统架构师能干这个系统里任何一个活,
只能说你见过的系统太简单了。
另外,恰恰因为我在乎系统效率。所以我设计系统让它跑在70% 的容量上,而且不会产
生太大的瞬间冲击。而你,如果要确保failover, 就不得不跑在10%的容量上。我关心
的是系统性能,你关心的是单机性能,这就是我们的差距。

【在 S*A 的大作中提到】
: 那我彻底明白了。多谢大家解释。
: 我一直很纳闷为什么一个系统架构师可以不关心
: 很多底层的技术实现,可以不关心系统效率。
: 以前的系统架构师是可以干这个系统里面任何一个
: 工程师的工作的,只不过干这些工作不是最好发挥
: 能力的地方。
: 感情现在新的系统架师和以前的系统架构师完全
: 不是一回事。

h*****a
发帖数: 1718
365
看来这位同学比较年轻啊。年轻人好学是好的。:)

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

g*****g
发帖数: 34805
366
我根本不在乎别人觉得我是不是牛人。偏偏这个资历也是别人拿不走的。
另一方面,如果让我挑的话,我也更喜欢N的文化,学到的东西也更多。

【在 S*A 的大作中提到】
: 我可以替你想到一个原因,因为狗家人多,特别是喜欢
: 优化系统的牛人多。我们来猜猜,如果有这样个牛人,
: 其他 package 条件都一样,人家是去狗家有比较好的
: 发展还是去 N 家有比较好的发展呢?

S*A
发帖数: 7142
367
哇,你是不是没有能力区分一个网络协议和一个网络协议的实现的区别啊?

你干嘛不把人家印用全呢,果然是我猜的断章取意。我把人家原文上文
的限定语补上,让大家看看人家原来意思和你说的是不是一样。
方括号的是你断章取意的故意隐去地方。
【But for something like a DNS server processing UDP, or an intrusion
prevention system, 】you don’t want a full TCP/IP stack anyway, but a
degenerate stack tuned to your application. It takes only 100 clock cycles
to parse a UDP packet without having a full stack.
人家说的是,对特殊的应用,例如 DNS 和 IPS, 可以不用做整个TCP/IP。
只需要分析 UDP 就可以了,这样可以用 100 个时钟周期分析一个 UDP 包。
你故意把对特殊应用去掉,然后推广到人家整个 TCP/IP 都没有实现。这个是
什么用意? 果然是无极不用, whatever works。
that
这里讲的就是一个不同的实现方法,你是如何读出不做标准的 TCP/IP 支持?
Linux 和 BSD 用不同网络代码,这个叫不同的协议实现。不是不同的协议。
所以 Linux 发的数据包 BSD 可以收,就是因为大家是同一个协议。
照你的说法,windows 修改协议,BSD 修改协议, Cisco 修改协议。
除了抄代码都修改协议。
看来新一代的网络架构师对网络协议和实现有着非常独家的特殊理解能力,
能够在字里行见看到我等新手完全看不到的意思。我望尘莫及。
什么叫做技术,这就叫技术,大家学着点。

【在 g*****g 的大作中提到】
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: 这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
: anyway, but a degenerate stack tuned to your application.
: This is done first by rewriting the network driver. Instead of a network
: driver that hands off packets to the kernel, you change the driver does that
: it doesn’t. Instead, you map the packet buffers into user-mode space.
: 换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
: 数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
: ,做WhatsApp就是牛头不对马嘴。

S*A
发帖数: 7142
368
这个说法还 make sense。 多谢解释。

【在 g*****g 的大作中提到】
: 关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
: bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
: 用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
: 物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
: 可能,但数量级的差距是不至于的。
: 如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
: 之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
: 及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
: 解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

S*A
发帖数: 7142
369
LOL, 你的理解能力果然是与众不同,不但英文如此,连中文也是。
我说的原文是 "aws 应该已经有可以用的 HA 那样的解决方案".
就是说,存在一个给 aws 用的解决方案,到了你那里就是,这个
方案是“自动”的了,变成自动 HA?
还能说明你理解能力。

【在 g*****g 的大作中提到】
: LOL, 谁跟你说底层的东西就是最难的东西?谁说给你AWS你就自动HA了?这完全是无
: 知加阿Q呀。
: 按你这么说,不自己写OS的都不用出来打招呼了。啥AWS自动HA除了说明你没用过,还
: 能说明啥?
: 我就不明白,这板上的C++程序员为啥成天喜欢讨论自己没用过的东西。

S*A
发帖数: 7142
370
是啊是啊,今天真是大开眼界啊。
有好多东西要学习。

【在 h*****a 的大作中提到】
: 看来这位同学比较年轻啊。年轻人好学是好的。:)
相关主题
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
goodbug做C10M?我的实测结果,纯计算每秒50M次interlocked.increment
进入Programming版参与讨论
T********i
发帖数: 2416
371
又是VM又是thread pool的,这个虽然连接数没有差数量级。但是最大throughput和
latency肯定要差数量级了。
这就是为什么node.js都能号称秒杀Java,而且响应更快。
估计你很快就会受到PA了。改协议和改协议栈的区别要是分不清楚,也就没啥可讨论的
了。
OpenOnLoad处理一个UDP或者IP包小于50ns。协议栈也没啥可做的了。

【在 S*A 的大作中提到】
: 这个说法还 make sense。 多谢解释。
S*A
发帖数: 7142
372
我看到Netflix HR slides 大受启发,
我断章取意的随手抄些我喜欢的段落出来,
每天打印一份,贴在床头,大声朗读,然后把它
拿下来烧掉以表示尊敬。
Judgment:
You identify root causes, and get beyond treating symptoms.
Communication:
You are concise and articulate in speech and writing.
You treat people with respect independent of their status or
disagreement with you.
You maintain calm poise in stressful situations.
Curiosity:
You contribute effectively outside of your specialty.
今天读一遍,发现自己所犯戒甚多,明日再读。
g*****g
发帖数: 34805
373
不是我断章取义,是你避重就轻吧。我随手一写,是不严谨。但后面补充的帖子说得很
清楚了吧。要自己写 driver, 要自己写custom stack TCP/IP. 要做DNS也罢。写应用
是牛唇不对马嘴。既不能换网卡。有那功夫写个可靠的协议栈人从出来到上市了。我说
的问题没法解决避而不谈,咬文嚼字搞文字狱搞上了。

【在 S*A 的大作中提到】
: 哇,你是不是没有能力区分一个网络协议和一个网络协议的实现的区别啊?
:
: 你干嘛不把人家印用全呢,果然是我猜的断章取意。我把人家原文上文
: 的限定语补上,让大家看看人家原来意思和你说的是不是一样。
: 方括号的是你断章取意的故意隐去地方。
: 【But for something like a DNS server processing UDP, or an intrusion
: prevention system, 】you don’t want a full TCP/IP stack anyway, but a
: degenerate stack tuned to your application. It takes only 100 clock cycles
: to parse a UDP packet without having a full stack.
: 人家说的是,对特殊的应用,例如 DNS 和 IPS, 可以不用做整个TCP/IP。

g*****g
发帖数: 34805
374
我给你打个比方,你这说法就跟说多线程应用有啥难的,底层 OS不都提供 API了一样
。除了说明你没做过,啥也说明不了。AWS只是提供多个数据中心和一些监控的 API,
剩下的啥不得自己写。

【在 S*A 的大作中提到】
: LOL, 你的理解能力果然是与众不同,不但英文如此,连中文也是。
: 我说的原文是 "aws 应该已经有可以用的 HA 那样的解决方案".
: 就是说,存在一个给 aws 用的解决方案,到了你那里就是,这个
: 方案是“自动”的了,变成自动 HA?
: 还能说明你理解能力。

g*****g
发帖数: 34805
375
我本来就是做个 pushmail, latency要求不高,灭了 gmail, ourtook就行。
throughout也远远不用闹 4网卡全双工的笑话。只有太监才啥都当 hft写,把12306写
成太监计数器。

【在 T********i 的大作中提到】
: 又是VM又是thread pool的,这个虽然连接数没有差数量级。但是最大throughput和
: latency肯定要差数量级了。
: 这就是为什么node.js都能号称秒杀Java,而且响应更快。
: 估计你很快就会受到PA了。改协议和改协议栈的区别要是分不清楚,也就没啥可讨论的
: 了。
: OpenOnLoad处理一个UDP或者IP包小于50ns。协议栈也没啥可做的了。

g*****g
发帖数: 34805
376
我不是说过这个故事,一个做 UI的烙印总是指手划脚,指导我后端怎么写。我把项目
做一段落,告诉他不满意来接手,从此再没叽歪。
纸上学来终觉浅,单机上跑个 Helloworld觉得自己啥都知道了。
跟你说跟产品这么做方向是错的。自己想想真有这么个项目让你做lead,做不出来就走
人,你敢接吗?在网络上打嘴炮没啥意思。外行就是外行,不服气有用吗。

【在 S*A 的大作中提到】
: 我看到Netflix HR slides 大受启发,
: 我断章取意的随手抄些我喜欢的段落出来,
: 每天打印一份,贴在床头,大声朗读,然后把它
: 拿下来烧掉以表示尊敬。
: Judgment:
: You identify root causes, and get beyond treating symptoms.
: Communication:
: You are concise and articulate in speech and writing.
: You treat people with respect independent of their status or
: disagreement with you.

T********i
发帖数: 2416
377
这些东西做出来没啥了不起的。我更在意的是怎么做出来的。
这世界上垃圾还少吗?
4网卡全双工的服务器现在就能买到。什么叫笑话?
你除了能PA,还会啥?SSA已经给你指出来了。你要是不PA,不亮牌子,就没话说了。
一肚子屎,几句话就露馅了。

【在 g*****g 的大作中提到】
: 我本来就是做个 pushmail, latency要求不高,灭了 gmail, ourtook就行。
: throughout也远远不用闹 4网卡全双工的笑话。只有太监才啥都当 hft写,把12306写
: 成太监计数器。

g*****g
发帖数: 34805
378
啥笑话,打脸还要多打一次?上次吹牛四网卡全双工U做满了,后来我帮你算nasdaq全
负荷都用不了那么多。不吹牛逼会死吗?
我老人家在这板上混了十余年,解答过无数 java和设计的问题,靠不靠谱大家心里有
数。像你这样三个月就憋出一个太监计数器的,都不够给我提鞋。

【在 T********i 的大作中提到】
: 这些东西做出来没啥了不起的。我更在意的是怎么做出来的。
: 这世界上垃圾还少吗?
: 4网卡全双工的服务器现在就能买到。什么叫笑话?
: 你除了能PA,还会啥?SSA已经给你指出来了。你要是不PA,不亮牌子,就没话说了。
: 一肚子屎,几句话就露馅了。

T********i
发帖数: 2416
379
别不要脸了。照你这么说人家卖10G40G网卡的根本就是忽悠?没人能用到这个带宽?
你自己一肚子屎,还理直气壮了。怪不得SSA叹服。你继续拉好了,反正这是公共BBS。

【在 g*****g 的大作中提到】
: 啥笑话,打脸还要多打一次?上次吹牛四网卡全双工U做满了,后来我帮你算nasdaq全
: 负荷都用不了那么多。不吹牛逼会死吗?
: 我老人家在这板上混了十余年,解答过无数 java和设计的问题,靠不靠谱大家心里有
: 数。像你这样三个月就憋出一个太监计数器的,都不够给我提鞋。

g*****g
发帖数: 34805
380
当然有用,比如做video streaming, HFT就是搞笑了。你丫要吹牛丢人你怪谁。

【在 T********i 的大作中提到】
: 别不要脸了。照你这么说人家卖10G40G网卡的根本就是忽悠?没人能用到这个带宽?
: 你自己一肚子屎,还理直气壮了。怪不得SSA叹服。你继续拉好了,反正这是公共BBS。

相关主题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
编程版目睹之怪现象。C10M 练习2: 空TCP 连接,1M per 4G RAM
[bssd] Go 的大并发处理网络碰到两个个问题各位所在公司的code review烦人不?
进入Programming版参与讨论
T********i
发帖数: 2416
381
谁丢人谁自己知道。
你怎知我不做video streaming?
我明确地讲,治疗癌症我暂时不会做。其它的,我不敢保证。

【在 g*****g 的大作中提到】
: 当然有用,比如做video streaming, HFT就是搞笑了。你丫要吹牛丢人你怪谁。
S*A
发帖数: 7142
382
不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
太适应。我尽量适应把,一不小心又严谨了请原谅啊。
这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
瑕疵了。
你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例
化是 X= C10M, Y=现在。
我并没有说你的 X 在 Y 时代还不可以用是不对的。
也就是说,我承认现在没有简单好用的 C10M。这个论据是成立的。
但是这个结论和论证过程是不成立的。
我举个反例啊,X=飞机,Y=古代。
因为古代没有飞机可以用,所以古代研究飞机是没有意义的。
我是不是又不严谨了啊,这个论证过程又有什么技术缺陷吗?
这个真不是我搞什么文字狱来委屈你啊,你自己老爱挖坑自己
往里面跳我拦不住你啊。

【在 g*****g 的大作中提到】
: 不是我断章取义,是你避重就轻吧。我随手一写,是不严谨。但后面补充的帖子说得很
: 清楚了吧。要自己写 driver, 要自己写custom stack TCP/IP. 要做DNS也罢。写应用
: 是牛唇不对马嘴。既不能换网卡。有那功夫写个可靠的协议栈人从出来到上市了。我说
: 的问题没法解决避而不谈,咬文嚼字搞文字狱搞上了。

S*A
发帖数: 7142
383
问好虫一个技术细节,你的VM 是多大的 instance, 多少 core 多少 GB ram?
是不是 4 core,64G RAM 那种?

【在 g*****g 的大作中提到】
: 关于数字,你完全看错了。我说的是每台机器起10个VM, 每个VM 50K,这样一个是不用
: bind 多个IP, 另一个是memory footprint不会太大。我用了200个VM去支持1000万并发
: 用户, 但底下的机器肯定多于20个,我有多个cluster跑不同的服务。这个相当于一台
: 物理机器0.5M用户,而且是三年前的机器。你要说做得不如WhatsApp或者Google,很有
: 可能,但数量级的差距是不至于的。
: 如果我的系统瞬间增加20%的连接请求,在应用服务器threadpool queue达到设定上限
: 之后,后面的请求会被拒绝或timeout。不会导致系统崩溃。这种设计针对的是DOS, 以
: 及不可预计的情况。而200个VM里,一个或几个VM同时当掉,是可以预期并且必须无缝
: 解决的。从概率上,除非整个数据中心坏了,不会出现20%的VM当掉的情况。

g*****g
发帖数: 34805
384
哈哈,我老人家预测不了几十年后会怎么样,也不感兴趣。你还可以说到时候机器人统
治世界,每人脑后一管,
就是100亿的应用。我老人家是做技术的,现在能用的,下五年能用的,我有兴趣。穿
越的科幻小说,我没兴趣。
我老说的那些custom tcp stack的问题,是现实存在,躲不过去的,你视而不见。我总
共就
随口说了一句要改协议,你要觉得我概念错误,因此得到了满足,随便呀。这种忽略实
质,玩弄
文字的事情你还想怎么争?我提的10台机器撑不住10M用户重连也没见你有啥解决方案。

【在 S*A 的大作中提到】
: 不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
: 较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
: 太适应。我尽量适应把,一不小心又严谨了请原谅啊。
: 这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
: 出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
: 你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
: 瑕疵了。
: 你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
: 归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
: 了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例

g*****g
发帖数: 34805
385
大约4core 32GB ram吧,有3年了,我不是很确定。机器大小本来就不是重要的问题,
高并发的问题归根到底都是数据库的问题。我老把90%的流量从oracle转到cassandra上
,就此一项每年少交Oracle几百万。机器才值几个钱。

【在 S*A 的大作中提到】
: 问好虫一个技术细节,你的VM 是多大的 instance, 多少 core 多少 GB ram?
: 是不是 4 core,64G RAM 那种?

v*****r
发帖数: 2325
386
rich related experience is definitely helpful to avoid detour and product on
time delivery.

【在 g*****g 的大作中提到】
: 我根本不在乎别人觉得我是不是牛人。偏偏这个资历也是别人拿不走的。
: 另一方面,如果让我挑的话,我也更喜欢N的文化,学到的东西也更多。

v*****r
发帖数: 2325
387
赞实战经验.
这场舌战双方都有亮点, 才这么多楼.

【在 g*****g 的大作中提到】
: 这只能说明你没有实际经验。能处理10M, 再多处理1M,从容量本身看是不难。
: 但是你忘了,前面这10M的连接是慢慢产生的,大多数时候这些连接只有heartbeat, 没
: 有信息交换。
: 但一旦有机器当机,这1M的重新连接请求是同时到来的,伴随的是需要重新产生用户
: session, 要读DB, 要计算,
: 会产生巨大的冲击。这个冲击远远大于10M大多idle的连接。你的机器是顶不住的。
: 你说的要能够处理几倍的容量同样不对,一般的做法就是跑在50%-70%,超过了动态
: 继续起VM。
: 而不是预留几倍的处理能力。这本来就是云计算的长处。
: persistent connection跟stateless connection在failover设计里是有很大区别的。

S*A
发帖数: 7142
388
我懂,凡是 X 现在不存在就没意义。这个论证是错的,你自己知道
辨不过去,然后就抛出我不管。

总共就
这个 Robert 也就是先锋,探探路的。OpenOnLoad 这些是很特别的厂家
应用也没有得到开源的支持。Intel DPDK 就不一样了,代码都看得到。
里面又很多开发人员都是Linux 内核的常见 hacker。去年就又大概 8 个
thread 是关于 DPDK, 大家在改 kernel 的时候都注意不要 break 了 DPDK
的。而且 DPDK 支持不只一个种网卡。这个 DPDK 已经可以到 80G 了。
我还在琢磨做个工具自动把 kernel 的 stack port 到 DPDK 呢。
对了就对了,错了就错了,承认很难吗?你是随口说说吗, IPV8, 还贴了一大
篇引文,故意通过隐藏人家前提条件的限定语来引诱读者做错误的结论。这个
就是赤裸裸的有义误导。你贴引文的时候不会仔细看看吗?要不是我还真读
过 Robert 的东西,光看你说的误导还会真以为是那末回事了。
科学就是要严谨,一就是一,二就是二,没有什么误解。讨论起来多简单。
你要把一不严谨,就有 N 种不严谨的方法,然后人家再不严谨的回应,就
有 N 平方种不严谨的回应。这样就生生把简单的东西复杂化了,最后谁也
不服谁。让人家觉得你的东西很难,泡沫就是这样来的。你个新时代架构师
这种不严谨的习惯是怎么养成的?还单机 C10M 是不是又是你提出来的?
你不严谨的地方多了去了。
哼哼,又是 C10M 没意义论。这个就叫反复论证法,反正你不管人家
反对意见如何,有没有道理,老子反正多说几便,反复就成真理了。
你这种招术太烂了。
和老Wei 的原来 64G 机器可以保持 10M TCP 的命题有关吗?
我原本就是想证否老Wei 的命题,没想到最后似乎是可以做到的。
你就急急忙忙想跳进来想拍老Wei,实验也不考虑做,想当然太草率了。
关键是你的依据就是直观和经验,在老wei 这个 64G 1M 命题上经验
很容易误导,我要不做实验也回猜出错误答案。
就是一个命题,你总是自作多情人家理解为人家要用实现产品上实现
C10M叫嚣不已。你读懂老wei 的命题了吗?
你要开个新命题请另外开个贴把问题讲清楚,我来研究一下,看看可
不可验证一下回答你。不向你,我不是什么东西都马上有一个解决方
案的。

【在 g*****g 的大作中提到】
: 大约4core 32GB ram吧,有3年了,我不是很确定。机器大小本来就不是重要的问题,
: 高并发的问题归根到底都是数据库的问题。我老把90%的流量从oracle转到cassandra上
: ,就此一项每年少交Oracle几百万。机器才值几个钱。

S*A
发帖数: 7142
389
为公司省这么多钱的确很牛。也是很有成就的一件事。
而且尽快把项目做出来开始省钱,比慢慢精细做要更加符合公司利益。
这个我也完全可以理解。
还有最后一个问题要确认一下,你的 4 core 32GB RAM 的 VM
的 host (物理)机器是多少 core 多少 GB RAM 的。

【在 g*****g 的大作中提到】
: 大约4core 32GB ram吧,有3年了,我不是很确定。机器大小本来就不是重要的问题,
: 高并发的问题归根到底都是数据库的问题。我老把90%的流量从oracle转到cassandra上
: ,就此一项每年少交Oracle几百万。机器才值几个钱。

g*****g
发帖数: 34805
390
我还故意隐藏条件,你也不害臊。我不但给出了原文的链接,而且反复说影响是换网卡
不行,
还要自己写custom stack. 你说得好像只是dns, ips才需要似的。
是每个应用都需要定制一个,算什么隐藏前提?
我们反反复复谈的是whatsapp怎么做,能不能撑10M单机。你上来先给自己加一个要实
现driver, 实现
custom tcp/ip的条件,还做个屁呀。别人上市了你底层都没做出来。
一发现自己错了,就跟我谈10年后的外星科技怎么弄。我不关心不行吗?我从没说过单
机10M helloworld做不出来,
我从来一开始就说单机10M 的whatsapp做不出来,这个讨论一开始就太监又装逼吹牛看
不起人whatsapp。你愿意
做helloworld, 做1亿我都一点都不关心,反正是意淫的工具罢了。
说到底,就是你们这些外行喜欢拉虎皮扯大旗。每次吹牛的时候对象就是whatsapp, 这
个看不起那个看不起。一谈细节就往helloworld靠,还没见真实现了。跟12306做成太
监计数器一个德性。你要是上来谈intel某新硬件,理论上能支持多少连接,我根本不
参与这种讨论。

【在 S*A 的大作中提到】
: 我懂,凡是 X 现在不存在就没意义。这个论证是错的,你自己知道
: 辨不过去,然后就抛出我不管。
:
: 总共就
: 这个 Robert 也就是先锋,探探路的。OpenOnLoad 这些是很特别的厂家
: 应用也没有得到开源的支持。Intel DPDK 就不一样了,代码都看得到。
: 里面又很多开发人员都是Linux 内核的常见 hacker。去年就又大概 8 个
: thread 是关于 DPDK, 大家在改 kernel 的时候都注意不要 break 了 DPDK
: 的。而且 DPDK 支持不只一个种网卡。这个 DPDK 已经可以到 80G 了。
: 我还在琢磨做个工具自动把 kernel 的 stack port 到 DPDK 呢。

相关主题
这个版上就是一堆打嘴炮的Linux Socket编程
Cannot recvfrom() on ipv6, HELP!问个关于socket问题
两道小题UDP广播老是接收不到
进入Programming版参与讨论
S*A
发帖数: 7142
391
哇,连泼妇骂街这一招也使用出来了,我是不是说到你的痛出了?
泼妇骂街的使用实例:
A:你这鸡蛋是臭的。
B:你才是臭的,你全家都是臭的。你祖宗十八代都是臭的。
结论,我的鸡蛋不是臭的。
论证特点,把起来不相关的东西都拉来骂一遍,把提出疑问的人骂臭了,
论证结束。
你那个改协议的我换个帖子写。
大家看看这个论证过程是不是用了泼妇骂街?
原题是老wei说, 64G RAM 可以保持 10M TCP 连接。
我什么地方说了 whatsapp 和产品要用单机做了?
goodbug 你给过找出我的源话来,我给你陪理道歉。
你绕那末一大圈不就是为了掩盖你回答不了老wei 的
问题末。我试图回答老wei的命题,然后就你开始往我
身上贴我没有说过的观点。这个叫泼脏水。
技术问题技术讨论,好端端一个技术论坛被你搞的无言障气,
改名叫资历论坛好了。
我弱弱的问一句,什么叫做 PA 啊,我看别人老是说 PA。
不是很明白,我隐隐约约觉得我没准要 PA 了。

【在 g*****g 的大作中提到】
: 我还故意隐藏条件,你也不害臊。我不但给出了原文的链接,而且反复说影响是换网卡
: 不行,
: 还要自己写custom stack. 你说得好像只是dns, ips才需要似的。
: 是每个应用都需要定制一个,算什么隐藏前提?
: 我们反反复复谈的是whatsapp怎么做,能不能撑10M单机。你上来先给自己加一个要实
: 现driver, 实现
: custom tcp/ip的条件,还做个屁呀。别人上市了你底层都没做出来。
: 一发现自己错了,就跟我谈10年后的外星科技怎么弄。我不关心不行吗?我从没说过单
: 机10M helloworld做不出来,
: 我从来一开始就说单机10M 的whatsapp做不出来,这个讨论一开始就太监又装逼吹牛看

S*A
发帖数: 7142
392
你还害臊不?原文连接你开始没有给,我求了两次才给的。

我第一次提出疑问,引文里有你的原文
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
你说的是 Robert ? 他说了必须要重新写网络协议?这个听起来很不 make sense.
改了协议那些以前用旧协议的用户怎麼办啊?是不是可以选的协议还是有什么
理解上的问题啊。
求出处。你说的不会是 TCP TIME Wait 的问题把。
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
我第二次问你的出处
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
然后你的回答:
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
这里不写着吗,custom network stack. You don’t want a full TCP/IP stack
anyway, but a degenerate stack tuned to your application.
This is done first by rewriting the network driver. Instead of a network
driver that hands off packets to the kernel, you change the driver does that
it doesn’t. Instead, you map the packet buffers into user-mode space.
换句话说,要从driver开始写,不做标准的TCP/IP支持。所以部署的软件,不只是OS参
数的问题,换个网卡都不行。在我看来,这种做法,做个DNS, load balancer也许可以
,做WhatsApp就是牛头不对马嘴。
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
然后我的回答:
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
哇,你是不是没有能力区分一个网络协议和一个网络协议的实现的区别啊?
你干嘛不把人家印用全呢,果然是我猜的断章取意。我把人家原文上文
的限定语补上,让大家看看人家原来意思和你说的是不是一样。
方括号的是你断章取意的故意隐去地方。
【But for something like a DNS server processing UDP, or an intrusion
prevention system, 】you don’t want a full TCP/IP stack anyway, but a
degenerate stack tuned to your application. It takes only 100 clock cycles
to parse a UDP packet without having a full stack.
人家说的是,对特殊的应用,例如 DNS 和 IPS, 可以不用做整个TCP/IP。
只需要分析 UDP 就可以了,这样可以用 100 个时钟周期分析一个 UDP 包。
你故意把对特殊应用去掉,然后推广到人家整个 TCP/IP 都没有实现。这个是
什么用意? 果然是无极不用, whatever works。
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

【在 g*****g 的大作中提到】
: 我还故意隐藏条件,你也不害臊。我不但给出了原文的链接,而且反复说影响是换网卡
: 不行,
: 还要自己写custom stack. 你说得好像只是dns, ips才需要似的。
: 是每个应用都需要定制一个,算什么隐藏前提?
: 我们反反复复谈的是whatsapp怎么做,能不能撑10M单机。你上来先给自己加一个要实
: 现driver, 实现
: custom tcp/ip的条件,还做个屁呀。别人上市了你底层都没做出来。
: 一发现自己错了,就跟我谈10年后的外星科技怎么弄。我不关心不行吗?我从没说过单
: 机10M helloworld做不出来,
: 我从来一开始就说单机10M 的whatsapp做不出来,这个讨论一开始就太监又装逼吹牛看

S*A
发帖数: 7142
393
我都已经对改协议发问了,旧的用户怎麼办。
你还要坚持“这里不写着吗”,你是不是没有 common sense 啊?
S*A
发帖数: 7142
394
技术的东西技术讨论,其实我已经发现你说你的200VM 的单机
性能和 google 其实差不多里面是很有问题的。我等你消消气再说。
我其实很敬重你把自己的实战经验和大家分享,但是你的 ego 太
大。一点批评意见都接受不了,一点点质疑就火爆。这样不好。
g*****g
发帖数: 34805
395
那个链接是 Robert table of content底下的内容,你自己找的链接还有我贴一次怎地?
那个 Robert对这个东西本来就语焉不详,我抄下来 degenerate stack还说我断章取义
,做人要点脸行不。是个应用都要写 driver和tcp/udp, 不能用现成的,到底我如何断
章取义?
我反复提的问题你不敢正面回应。说了你是外行击中你的软肋,原来变成泼妇骂街了。
这个板上之所以有这个话题就是因为太监装逼看不起 whasapp. 你要捧臭脚就别来装什
么纯学术讨论, Hello world 我不感兴趣,你要做我也不会跟你吵。最恶心的就是做
Hello world,看不起人写实际应用的。

【在 S*A 的大作中提到】
: 你还害臊不?原文连接你开始没有给,我求了两次才给的。
:
: 我第一次提出疑问,引文里有你的原文
: {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
: 你说的是 Robert ? 他说了必须要重新写网络协议?这个听起来很不 make sense.
: 改了协议那些以前用旧协议的用户怎麼办啊?是不是可以选的协议还是有什么
: 理解上的问题啊。
: 求出处。你说的不会是 TCP TIME Wait 的问题把。
: }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
: 我第二次问你的出处

S*A
发帖数: 7142
396
你和老wei 讨论算我头上干嘛,我都说了我没有参与 whatsapp 的讨论。
我不卖鸡蛋,还闻不出鸡蛋臭吗,非要卖鸡蛋才知道有资格说鸡蛋臭吗?
弯曲那末大,FLG 能做并发和效率兼顾的能人多了去了,就你这半桶水
资历大到不能用技术原因来讨论问题了。
你要从新解释一下如何理解你自己说的这句话吗?
g*****g
发帖数: 34805
397
这么快就恼羞成怒了?太监要装逼,明明是个外行,还要看不起人whatsapp。你要装模
作样捧臭脚,
一块丢人你怪谁?我提的几个问题,从增加HA难度,要自己写driver和network stack,
根本不现实,
你倒是避而不谈,成天吹毛求疵我老的随口一句。
我就跟你说怎么回事吧。那个robert写得不明不白,我也没细看。你就当我不懂又如何
?我老底层是外行,
我随口评论错一句很有可能。我也从没要别人当我是底层专家,更不可能每句话都对。
可你和太监,高并发应用完全没做过。成天装模作样啥能单机撑10M,练习这个练习那
个的。嘛产品都没见着
,笑话可是闹了不少。
说了你们是外行,方法完全不对,死撑了好几天,宁可穿越到未来外星科技,错误打死
不认对不对?
你看不出我们啥差异吗?我底层外行,我不装专家。你高并发外行,丢人了偏偏忍不住
要评论我老的资历。
我老是不是半桶水,就你那外行你又能分得清?我提出的几个技术问题你正面回答了没
有?我老说的修改协议不对应该是修改协议栈你死抓不放,你觉得做应用先写driver和
tcp stack
靠谱吗?技术论坛实力不行,弄到最后就是个人攻击,都啥人呀。
我老再说一次,你跟太监讨论啥HFT, embedded, 科学计算都行,我不懂的领域多了。
要出来做民科谈高并发,我见一次打一次。

【在 S*A 的大作中提到】
: 你和老wei 讨论算我头上干嘛,我都说了我没有参与 whatsapp 的讨论。
: 我不卖鸡蛋,还闻不出鸡蛋臭吗,非要卖鸡蛋才知道有资格说鸡蛋臭吗?
: 弯曲那末大,FLG 能做并发和效率兼顾的能人多了去了,就你这半桶水
: 资历大到不能用技术原因来讨论问题了。
: 你要从新解释一下如何理解你自己说的这句话吗?

S*A
发帖数: 7142
398
哇,泼妇骂街又开始啦。
大家收衣服啦。
那个老Wei 啊,好端端提什么一个64G机器能够保持多少
TCP 连接啊。这个是大祭,不能问的,你懂的。
那个Robert 也是大傻逼,写个文章也不好好写,害我们
新一代全桶水的系统架构师看不懂,搞的技术也不能用,
该死,该死。
我也错了,不该拿全桶水架构师的系统性能和狗家比,
这狗家算是什么东西。
好虫乖,我们好虫是天下最棒的好虫,好虫坚强,不哭。

stack,

【在 g*****g 的大作中提到】
: 这么快就恼羞成怒了?太监要装逼,明明是个外行,还要看不起人whatsapp。你要装模
: 作样捧臭脚,
: 一块丢人你怪谁?我提的几个问题,从增加HA难度,要自己写driver和network stack,
: 根本不现实,
: 你倒是避而不谈,成天吹毛求疵我老的随口一句。
: 我就跟你说怎么回事吧。那个robert写得不明不白,我也没细看。你就当我不懂又如何
: ?我老底层是外行,
: 我随口评论错一句很有可能。我也从没要别人当我是底层专家,更不可能每句话都对。
: 可你和太监,高并发应用完全没做过。成天装模作样啥能单机撑10M,练习这个练习那
: 个的。嘛产品都没见着

S*A
发帖数: 7142
399
算了,我错了,我不该逗好虫玩的。
好虫实在是太可爱了,我有时实在忍不住。
真是非常典型的工程师。
我的评价:好虫热衷回答大家问题,还是非常好的同学的。
T********i
发帖数: 2416
400
你就别不要脸了。
low latency,high throughput的网络技术我也做了10来年了。还从来没崩过。无论什
么方案,指标就是throughput和latency。如果我的throughput秒你一个数量级,你做
的就是屎。
系统做的正确,连接数是100个,还是10M,throughput没有本质差别。robert那个网站
也说了,C10M的连接速度就是1m/s。openonload之类的stack用户成百上千万,这东西
都是commodity。
成天把大并发挂在嘴上,难道你不知道,并发数是10个还是10m,HA的要求是一样的?
同样的实现,人家既然性能能高你一个数量级,HA的性能自然也高你一个数量级。
这里面,唯一不能做技术的就是你。你顶多就是一搭积木的。

stack,

【在 g*****g 的大作中提到】
: 这么快就恼羞成怒了?太监要装逼,明明是个外行,还要看不起人whatsapp。你要装模
: 作样捧臭脚,
: 一块丢人你怪谁?我提的几个问题,从增加HA难度,要自己写driver和network stack,
: 根本不现实,
: 你倒是避而不谈,成天吹毛求疵我老的随口一句。
: 我就跟你说怎么回事吧。那个robert写得不明不白,我也没细看。你就当我不懂又如何
: ?我老底层是外行,
: 我随口评论错一句很有可能。我也从没要别人当我是底层专家,更不可能每句话都对。
: 可你和太监,高并发应用完全没做过。成天装模作样啥能单机撑10M,练习这个练习那
: 个的。嘛产品都没见着

相关主题
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
求推荐一个真心交流技术的地方在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
废话少说,单机500万次每秒这个版看来是毁了
进入Programming版参与讨论
g*****g
发帖数: 34805
401
数量级在你嘴里就跟狗屎一样。上次吹牛逼,被我拿nasdaq的数据证明您老的单机都能
灭nasdaq集群峰值一个数量级,丢人了躲了三个月还没长记性?
HA 10个连接跟10M当然是不一样的。10个随便弄个standby就行,10M 垮了standby 撑
不住连接的冲击跟着跨,不但一个机器standby不成,10个机器standby都不成。你根本
就一外行吹牛一次丢人一次。

【在 T********i 的大作中提到】
: 你就别不要脸了。
: low latency,high throughput的网络技术我也做了10来年了。还从来没崩过。无论什
: 么方案,指标就是throughput和latency。如果我的throughput秒你一个数量级,你做
: 的就是屎。
: 系统做的正确,连接数是100个,还是10M,throughput没有本质差别。robert那个网站
: 也说了,C10M的连接速度就是1m/s。openonload之类的stack用户成百上千万,这东西
: 都是commodity。
: 成天把大并发挂在嘴上,难道你不知道,并发数是10个还是10m,HA的要求是一样的?
: 同样的实现,人家既然性能能高你一个数量级,HA的性能自然也高你一个数量级。
: 这里面,唯一不能做技术的就是你。你顶多就是一搭积木的。

g*****g
发帖数: 34805
402
我老人家是好心,跟你说这是条死路。Robert都说了要从driver, custom tcp/ip写起
。你在这板上煞有介事调调这个参数,调调那个参数,整得很牛逼的样子。难度最大的
地方你视而不见,玩弄文字有意义吗?

【在 S*A 的大作中提到】
: 哇,泼妇骂街又开始啦。
: 大家收衣服啦。
: 那个老Wei 啊,好端端提什么一个64G机器能够保持多少
: TCP 连接啊。这个是大祭,不能问的,你懂的。
: 那个Robert 也是大傻逼,写个文章也不好好写,害我们
: 新一代全桶水的系统架构师看不懂,搞的技术也不能用,
: 该死,该死。
: 我也错了,不该拿全桶水架构师的系统性能和狗家比,
: 这狗家算是什么东西。
: 好虫乖,我们好虫是天下最棒的好虫,好虫坚强,不哭。

T********i
发帖数: 2416
403
要点脸行不行?说不过就转移话题加人身攻击。SSA说过多少次你是泼妇骂街了?
我问你,这个就是一个IM的前端,单机10m连接+超过10G的throughput,有什么达不到
的?你丫不服么?
什么叫10M的单机撑不住standby?单机C10M连接速度可达1M连接/s。假定100M用户,用
11台,一台死掉了,用户分布到其它10台单机,也只需要大约1s就恢复了。
实际上,我deploy的时候,都只用峰值大约20-30%的流量。100M用户,用30台服务器。
流出足够的容量。
你的知识和能力。根本不可能做出C10M。你悲愤也没用。

【在 g*****g 的大作中提到】
: 数量级在你嘴里就跟狗屎一样。上次吹牛逼,被我拿nasdaq的数据证明您老的单机都能
: 灭nasdaq集群峰值一个数量级,丢人了躲了三个月还没长记性?
: HA 10个连接跟10M当然是不一样的。10个随便弄个standby就行,10M 垮了standby 撑
: 不住连接的冲击跟着跨,不但一个机器standby不成,10个机器standby都不成。你根本
: 就一外行吹牛一次丢人一次。

g*****g
发帖数: 34805
404
当机的时候,所有的重连请求是同时来的,还要读数据库,当然撑不住。初始化跟发条
微信
也不一样,发条微信一个request/response够了,还不读DB。初始化10次8次都不奇怪。
用30台机器,那就是单机3M了。吹牛逼吹得震天响,一质疑就太监,你这都多少次了。

【在 T********i 的大作中提到】
: 要点脸行不行?说不过就转移话题加人身攻击。SSA说过多少次你是泼妇骂街了?
: 我问你,这个就是一个IM的前端,单机10m连接+超过10G的throughput,有什么达不到
: 的?你丫不服么?
: 什么叫10M的单机撑不住standby?单机C10M连接速度可达1M连接/s。假定100M用户,用
: 11台,一台死掉了,用户分布到其它10台单机,也只需要大约1s就恢复了。
: 实际上,我deploy的时候,都只用峰值大约20-30%的流量。100M用户,用30台服务器。
: 流出足够的容量。
: 你的知识和能力。根本不可能做出C10M。你悲愤也没用。

T********i
发帖数: 2416
405
别无耻了。宕机假定的这一台机器当掉。数据库没有当掉。也就是连接后多发几条消息
。不是还有那个10G+的throughput等着你呢么?
说实话。单机20M连接都没压力。我把reverse降低到50%,单机额定10M也行。这个你服
不服?我这人小心谨慎。不像你,部署的时候余量留得那么少。
单机10M还是20M连接,只取决于内存量。

怪。

【在 g*****g 的大作中提到】
: 当机的时候,所有的重连请求是同时来的,还要读数据库,当然撑不住。初始化跟发条
: 微信
: 也不一样,发条微信一个request/response够了,还不读DB。初始化10次8次都不奇怪。
: 用30台机器,那就是单机3M了。吹牛逼吹得震天响,一质疑就太监,你这都多少次了。

g*****g
发帖数: 34805
406
LOL, 数字在你嘴里就是狗屁。意识到丢人现在要死撑单机20M了?你干脆单机银河系完
了。

【在 T********i 的大作中提到】
: 别无耻了。宕机假定的这一台机器当掉。数据库没有当掉。也就是连接后多发几条消息
: 。不是还有那个10G+的throughput等着你呢么?
: 说实话。单机20M连接都没压力。我把reverse降低到50%,单机额定10M也行。这个你服
: 不服?我这人小心谨慎。不像你,部署的时候余量留得那么少。
: 单机10M还是20M连接,只取决于内存量。
:
: 怪。

T********i
发帖数: 2416
407
单机20M你服不服?人家SSA都能贴出code出来。不知道你还嘴硬什么?
你这个人家教不好。死不认错。基本人品已经恶劣到家了。

【在 g*****g 的大作中提到】
: LOL, 数字在你嘴里就是狗屁。意识到丢人现在要死撑单机20M了?你干脆单机银河系完
: 了。

g*****g
发帖数: 34805
408
他贴出C10M 的代码了?你真是最后一根稻草。

【在 T********i 的大作中提到】
: 单机20M你服不服?人家SSA都能贴出code出来。不知道你还嘴硬什么?
: 你这个人家教不好。死不认错。基本人品已经恶劣到家了。

T********i
发帖数: 2416
409
是不是还要他做出一个whatsup clone来才算数呀?
你这个笑人无厌人有的东西。怎么人间能有你这种孽畜?
你为啥不敢直接叫板所有的C10M都是造假忽悠?这世界上绝对不可能有C10M这种技术?
自己傻逼,见不得别人出成就。你咋不去死?或者丢父母的脸,丢家人的脸,丢清华的
脸。
呵呵。你要是怕丢脸的话,根本就不会表现的这样的无耻下流。看来是无耻下流习惯了
。无耻下流融入到基因里面了。

【在 g*****g 的大作中提到】
: 他贴出C10M 的代码了?你真是最后一根稻草。
g*****g
发帖数: 34805
410
Robert 的说法,哪怕一个轻量级的应用,都得 custom driver, tcp, 你还指望他真写
出来。
你这太监半路出家被退学被解雇,除了 BBS上装逼找平衡已经没别的本事了。药不能停。

【在 T********i 的大作中提到】
: 是不是还要他做出一个whatsup clone来才算数呀?
: 你这个笑人无厌人有的东西。怎么人间能有你这种孽畜?
: 你为啥不敢直接叫板所有的C10M都是造假忽悠?这世界上绝对不可能有C10M这种技术?
: 自己傻逼,见不得别人出成就。你咋不去死?或者丢父母的脸,丢家人的脸,丢清华的
: 脸。
: 呵呵。你要是怕丢脸的话,根本就不会表现的这样的无耻下流。看来是无耻下流习惯了
: 。无耻下流融入到基因里面了。

相关主题
这个版看来是毁了编程版目睹之怪现象。
我的实测结果,纯计算每秒50M次interlocked.increment[bssd] Go 的大并发处理网络碰到两个个问题
为啥太监这么不要脸呢?和井底之蛙,没什么好说的
进入Programming版参与讨论
T********i
发帖数: 2416
411
哈哈哈。You made my day。
什么叫custom driver, tcp?你看来真的不懂网络。连I/O都不懂,怎么指望你懂网络?
你好意思说自己懂I/O吗?
丢人呀丢人,讨论技术不行就靠造谣中伤。你这么做只能说明你自己下作。
你丫这辈子都没搞明白过socket API。这个事实本版大多数人已经看得很清楚了。不懂
socket API号称自己做出C10M你很自豪是不是?
Java的神奇之处。能把一个傻逼变成nflx的architect。了不起呀了不起。

停。

【在 g*****g 的大作中提到】
: Robert 的说法,哪怕一个轻量级的应用,都得 custom driver, tcp, 你还指望他真写
: 出来。
: 你这太监半路出家被退学被解雇,除了 BBS上装逼找平衡已经没别的本事了。药不能停。

g*****g
发帖数: 34805
412
太监你这下穿帮了,前面鼓吹啥 Robert提的做了,没提的也做了。感情连人说啥都没
看呀。这下连 SSA都帮你擦不了屁股了。你们就一块丢人吧。

络?

【在 T********i 的大作中提到】
: 哈哈哈。You made my day。
: 什么叫custom driver, tcp?你看来真的不懂网络。连I/O都不懂,怎么指望你懂网络?
: 你好意思说自己懂I/O吗?
: 丢人呀丢人,讨论技术不行就靠造谣中伤。你这么做只能说明你自己下作。
: 你丫这辈子都没搞明白过socket API。这个事实本版大多数人已经看得很清楚了。不懂
: socket API号称自己做出C10M你很自豪是不是?
: Java的神奇之处。能把一个傻逼变成nflx的architect。了不起呀了不起。
:
: 停。

T********i
发帖数: 2416
413
hohoho你又要撒泼。
Robert所说的就是Solarflare Openonload和Intel DPDK。都是commodity了。我都说了
几个月了。难道你还要再发明一把?到你那里就成了科幻外星科技了。
你还是寄希望于下次投胎智商高一点吧。

【在 g*****g 的大作中提到】
: 太监你这下穿帮了,前面鼓吹啥 Robert提的做了,没提的也做了。感情连人说啥都没
: 看呀。这下连 SSA都帮你擦不了屁股了。你们就一块丢人吧。
:
: 络?

S*A
发帖数: 7142
414
算了吧老Wei和好虫,这么谩骂式的讨论下去是没有
意义的也不可能有什么结论的。
我也说了很多过火的话,先检讨一下。
大家都洗洗睡了吧。
T********i
发帖数: 2416
415
这个世界很小。将来没准大家会打交道。知道这个人是谁了,就行了。

【在 S*A 的大作中提到】
: 算了吧老Wei和好虫,这么谩骂式的讨论下去是没有
: 意义的也不可能有什么结论的。
: 我也说了很多过火的话,先检讨一下。
: 大家都洗洗睡了吧。

g*****g
发帖数: 34805
416
http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
Robert custom drive/network stack写得清清楚楚,你丫装逼又现行了。

【在 T********i 的大作中提到】
: hohoho你又要撒泼。
: Robert所说的就是Solarflare Openonload和Intel DPDK。都是commodity了。我都说了
: 几个月了。难道你还要再发明一把?到你那里就成了科幻外星科技了。
: 你还是寄希望于下次投胎智商高一点吧。

S*A
发帖数: 7142
417
你也好好休息吧,Robert 是做研究的,研究出来的成果,
很多已经被实现在 OpenOnLoad/DPDK 上面,你直接用就行了,
不需要自己写 custom driver/network stack。
就像你用 ngix 不需要自己写 http parser 一样。

【在 g*****g 的大作中提到】
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: Robert custom drive/network stack写得清清楚楚,你丫装逼又现行了。

g*****g
发帖数: 34805
418
你就别撑了, Robert提了几点。一个是要从 driver开始写,一个是根据应用不同对
network stack 选择性实现,或者部分支持,以达最简目的。还有一个就是没有任何开
源可靠的user space TCP/IP实现,所以你只能自己写。
nginx支持 http, 因为 http 本来就是个应用层协议,也不会换个网卡就不能用。撑也
没有这么撑的,你不服从驱动到 TCP实现了再来。我不说了,你这思路就是错了,一个
堆机器就能解决的问题,要等别人的研究成果。要是研究不出来,你就不做了?

【在 S*A 的大作中提到】
: 你也好好休息吧,Robert 是做研究的,研究出来的成果,
: 很多已经被实现在 OpenOnLoad/DPDK 上面,你直接用就行了,
: 不需要自己写 custom driver/network stack。
: 就像你用 ngix 不需要自己写 http parser 一样。

T********i
发帖数: 2416
419
http://www.openonload.org/
你要脸不要脸?没吃过猪肉没见过猪跑么?啥叫没有开源可靠的user space TCP/IP实
现?你知道openonload的用户多少?

【在 g*****g 的大作中提到】
: 你就别撑了, Robert提了几点。一个是要从 driver开始写,一个是根据应用不同对
: network stack 选择性实现,或者部分支持,以达最简目的。还有一个就是没有任何开
: 源可靠的user space TCP/IP实现,所以你只能自己写。
: nginx支持 http, 因为 http 本来就是个应用层协议,也不会换个网卡就不能用。撑也
: 没有这么撑的,你不服从驱动到 TCP实现了再来。我不说了,你这思路就是错了,一个
: 堆机器就能解决的问题,要等别人的研究成果。要是研究不出来,你就不做了?

g*****g
发帖数: 34805
420
你丫争这个有用吗?这可不是我说的,这Robert比你专业多了。明显这破东西不可靠呗。
就算能用,licensing加专用硬件也秒了节省的硬件。Whatsapp这样的应用本来是很合
适云计算的。就为了死撑这10M单机,不得不自己架数据中心买专用硬件。
http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
Your biggest problem is getting a user-mode TCP/IP stack. There are lots of
these stacks around as university research projects. I don’t know of any
open-source user-mode stack that is reliable. There is a closed-source stack
called “6windgate” which is used in a lot of appliances.

【在 T********i 的大作中提到】
: http://www.openonload.org/
: 你要脸不要脸?没吃过猪肉没见过猪跑么?啥叫没有开源可靠的user space TCP/IP实
: 现?你知道openonload的用户多少?

相关主题
C10M 练习2: 空TCP 连接,1M per 4G RAMCannot recvfrom() on ipv6, HELP!
各位所在公司的code review烦人不?两道小题
这个版上就是一堆打嘴炮的Linux Socket编程
进入Programming版参与讨论
T********i
发帖数: 2416
421
我不管此人是谁。我就问你是否知道OpenOnLoad的用户多少?
我用OpenOnLoad 4年还从来没崩过。什么叫不稳定?
OpenOnLoad是hybrid,就是kernel-mode和user-mode都能用。不是pure user-mode。而
且OpenOnLoad是20m packets/s。达不到该blog号称的intel的80m packets/second。
这些都不是问题。问题是C10M即使不用OpenOnLoad,保持10M连接根本没问题。受影响
的是throughput。而且这个影响不大,顶多是一倍。
况且,Solarflare NIC顶多是2X10G的ethernet port。Intel号称的80G。
当然,和你说这些也没啥用。反正你牵狗就来喷。

呗。
of
stack

【在 g*****g 的大作中提到】
: 你丫争这个有用吗?这可不是我说的,这Robert比你专业多了。明显这破东西不可靠呗。
: 就算能用,licensing加专用硬件也秒了节省的硬件。Whatsapp这样的应用本来是很合
: 适云计算的。就为了死撑这10M单机,不得不自己架数据中心买专用硬件。
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: Your biggest problem is getting a user-mode TCP/IP stack. There are lots of
: these stacks around as university research projects. I don’t know of any
: open-source user-mode stack that is reliable. There is a closed-source stack
: called “6windgate” which is used in a lot of appliances.

g*****g
发帖数: 34805
422
你丫刚说Robert说得你都做了,没说的你也都做了,这下又不管此人是谁?
你丫自己打脸也不用这么积极吧。你连1万个人的并发都没做过,成天装逼10M有劲吗?
要不跟着我说,没做过1万并发server 应用的死全家。

【在 T********i 的大作中提到】
: 我不管此人是谁。我就问你是否知道OpenOnLoad的用户多少?
: 我用OpenOnLoad 4年还从来没崩过。什么叫不稳定?
: OpenOnLoad是hybrid,就是kernel-mode和user-mode都能用。不是pure user-mode。而
: 且OpenOnLoad是20m packets/s。达不到该blog号称的intel的80m packets/second。
: 这些都不是问题。问题是C10M即使不用OpenOnLoad,保持10M连接根本没问题。受影响
: 的是throughput。而且这个影响不大,顶多是一倍。
: 况且,Solarflare NIC顶多是2X10G的ethernet port。Intel号称的80G。
: 当然,和你说这些也没啥用。反正你牵狗就来喷。
:
: 呗。

T********i
发帖数: 2416
423
呵呵。你着什么急?
OpenOnLoad我用了4年了。每天真金白银在交易。懒得reboot机器,经常连续运行半年
多。稳定不稳定我自然心里有数。
C10M,就那个定义,10M connection,10G throughput,100M connection/s,用
OpenOnLoad足够了。就这么简单。
不是说OpenOnLoad没bug。bug一堆一堆的。发现后workaround就好了。我前几天的帖子
还提到一个我发现的bug,迄今没fix。这并代表不能24X7稳定运行。

【在 g*****g 的大作中提到】
: 你丫刚说Robert说得你都做了,没说的你也都做了,这下又不管此人是谁?
: 你丫自己打脸也不用这么积极吧。你连1万个人的并发都没做过,成天装逼10M有劲吗?
: 要不跟着我说,没做过1万并发server 应用的死全家。

g*****g
发帖数: 34805
424
真金白银在交易我信,写客户端而已。你降低的是latency,server端高并发,高
throughput,你根本没验证过。

【在 T********i 的大作中提到】
: 呵呵。你着什么急?
: OpenOnLoad我用了4年了。每天真金白银在交易。懒得reboot机器,经常连续运行半年
: 多。稳定不稳定我自然心里有数。
: C10M,就那个定义,10M connection,10G throughput,100M connection/s,用
: OpenOnLoad足够了。就这么简单。
: 不是说OpenOnLoad没bug。bug一堆一堆的。发现后workaround就好了。我前几天的帖子
: 还提到一个我发现的bug,迄今没fix。这并代表不能24X7稳定运行。

T********i
发帖数: 2416
425
别开玩笑了。througput是必须要测的。而且是用硬件测的。
Corvil听说过么?
怎么还有你这种脑袋进水的?你丫不想想,throughput不高,latency怎么降下来?呵
呵我确实用buffer了。是不是还要号称我偷你的idea呀?

【在 g*****g 的大作中提到】
: 真金白银在交易我信,写客户端而已。你降低的是latency,server端高并发,高
: throughput,你根本没验证过。

g*****g
发帖数: 34805
426
你丫也太搞笑了,client跟server也能比throughput。client就是往外发,啥都不管。
server可是要处理的。并发量大的时候最容易出问题大家都知道。一个连接每秒1Gb,
跟10M个连接,每个每秒100b根本两回事。你要证明这个可以用在whatsapp上,至少得
拿个相似的应用来说事。你做的也好,别人做的也好。拿个client来凑数就是搞笑的。

【在 T********i 的大作中提到】
: 别开玩笑了。througput是必须要测的。而且是用硬件测的。
: Corvil听说过么?
: 怎么还有你这种脑袋进水的?你丫不想想,throughput不高,latency怎么降下来?呵
: 呵我确实用buffer了。是不是还要号称我偷你的idea呀?

T********i
发帖数: 2416
427
看来你是真的蠢。Client和Server到底哪个需要CPU处理时间长取决于具体应用。
"client就是往外发,啥都不管。server可是要处理的。"这种无脑的话都能说出来?
再说了,我们讨论的C10M是网络处理问题。要尽量和应用层分开。
即使讨论whatsapp,C10M用于前端,App逻辑也很简单。
你这人脑袋简直一团浆糊。

【在 g*****g 的大作中提到】
: 你丫也太搞笑了,client跟server也能比throughput。client就是往外发,啥都不管。
: server可是要处理的。并发量大的时候最容易出问题大家都知道。一个连接每秒1Gb,
: 跟10M个连接,每个每秒100b根本两回事。你要证明这个可以用在whatsapp上,至少得
: 拿个相似的应用来说事。你做的也好,别人做的也好。拿个client来凑数就是搞笑的。

g*****g
发帖数: 34805
428
你丫除了死撑还会别的?都像你说的这么简单,为嘛4个月了12306就写了个太监版的计
数器,
连监听端口都不敢。你要我写个模拟千万用户的12306 client,我一天以内保证写出来。
server端有数据库问题,有failover问题,要考虑的东西多了。
网络处理要尽量跟应用层分开是不错,偏偏你又要c10m, zero copy,应用想独立于
driver api都不行。

【在 T********i 的大作中提到】
: 看来你是真的蠢。Client和Server到底哪个需要CPU处理时间长取决于具体应用。
: "client就是往外发,啥都不管。server可是要处理的。"这种无脑的话都能说出来?
: 再说了,我们讨论的C10M是网络处理问题。要尽量和应用层分开。
: 即使讨论whatsapp,C10M用于前端,App逻辑也很简单。
: 你这人脑袋简直一团浆糊。

T********i
发帖数: 2416
429
你家数据库和前端机放一起么?
Whatsapp数据库和前端机放一起么?
C10M讨论的是前端机。
既然2M连接能操作数据库,能failover,10M也能,没问题。
其实,对于whatsapp,更合理的方案是前端机只负责客户端和后台数据库的通信。因此
,failover可以很简单。死掉了,重连接,由DNS之类的load balancer重新分配一台
server好了。
而且,你看好了,OpebOnLoad是用户进程hook API的。因此socket API不变,该怎么写
,还可以怎么写。什么叫应用不能独立driver API?
狗屁不懂,就知道喷。你越来越丢人了。hoho。

来。

【在 g*****g 的大作中提到】
: 你丫除了死撑还会别的?都像你说的这么简单,为嘛4个月了12306就写了个太监版的计
: 数器,
: 连监听端口都不敢。你要我写个模拟千万用户的12306 client,我一天以内保证写出来。
: server端有数据库问题,有failover问题,要考虑的东西多了。
: 网络处理要尽量跟应用层分开是不错,偏偏你又要c10m, zero copy,应用想独立于
: driver api都不行。

g*****g
发帖数: 34805
430
你丫真是屁都不懂呀。数据库不跟一个机器是真的,不等于前端来请求数据库不用响应。
响应的慢前端就要timeout。要不然为啥你的强实时12306最后变成一joke?
failover更是要读数据库,机器死了,内存里的状态丢了,不读数据库怎么恢复。
你丫就一外行,成天装逼。有种跟着我说,没写过1万并发server应用死全家呀。
我写HFT还秒你10个数量级呢,反正吹牛谁不会呀?

【在 T********i 的大作中提到】
: 你家数据库和前端机放一起么?
: Whatsapp数据库和前端机放一起么?
: C10M讨论的是前端机。
: 既然2M连接能操作数据库,能failover,10M也能,没问题。
: 其实,对于whatsapp,更合理的方案是前端机只负责客户端和后台数据库的通信。因此
: ,failover可以很简单。死掉了,重连接,由DNS之类的load balancer重新分配一台
: server好了。
: 而且,你看好了,OpebOnLoad是用户进程hook API的。因此socket API不变,该怎么写
: ,还可以怎么写。什么叫应用不能独立driver API?
: 狗屁不懂,就知道喷。你越来越丢人了。hoho。

相关主题
问个关于socket问题求推荐一个真心交流技术的地方
UDP广播老是接收不到废话少说,单机500万次每秒
C10M除了socket以外,还牵涉其他方面的技巧goodbug做C10M?
进入Programming版参与讨论
T********i
发帖数: 2416
431
给点定量分析,看看1M burst load对各种数据库造成的冲击多大?对前端机的冲击又
多大?
别动不动就崩,timeout之类的。
说实话真实懒得理你。让你在BBS上继续意淫才是对你最大的惩罚。

应。

【在 g*****g 的大作中提到】
: 你丫真是屁都不懂呀。数据库不跟一个机器是真的,不等于前端来请求数据库不用响应。
: 响应的慢前端就要timeout。要不然为啥你的强实时12306最后变成一joke?
: failover更是要读数据库,机器死了,内存里的状态丢了,不读数据库怎么恢复。
: 你丫就一外行,成天装逼。有种跟着我说,没写过1万并发server应用死全家呀。
: 我写HFT还秒你10个数量级呢,反正吹牛谁不会呀?

S*A
发帖数: 7142
432
Sign, 我本来都想消停了。
最可笑的是,我本来是想做个实验帮你证否的老Wei 的 64G 1M
的。没想到我的实验最后做出来支持老Wei 的论断。然后我就变
成帮凶走狗了。
你想继续丢人显眼那我门就继续吧。反正你的笑点那末多。
你已经被证明了把 Robert 的文章读都读不懂,网络协议和实现都不能
分,不知道那里得出个改协议类比 IPV8 的结论。对于你读人家文章的
能力我们还能指望什么呢?
你连基本的逻辑理解能力,common sense 都没有,我还能如何说服你
呢?就剩下反复重复命题的论证法,多喊两遍,这个命题就证明了。
这个是不讲道理人用的招数。
跟你说了 OpenOnLoad/DPDK 是可以直接用的,当然说了你也不管,
因为你没有用过。我也没有,老wei 有用过,你应该听听老wei说用
这个要不要自己写 custom driver.
说什么实践是检验真理的唯一标准。
只不过实践不在你这边的时候,就不是检验标准了。

呗。
of
stack

【在 g*****g 的大作中提到】
: 你丫争这个有用吗?这可不是我说的,这Robert比你专业多了。明显这破东西不可靠呗。
: 就算能用,licensing加专用硬件也秒了节省的硬件。Whatsapp这样的应用本来是很合
: 适云计算的。就为了死撑这10M单机,不得不自己架数据中心买专用硬件。
: http://blog.erratasec.com/2013/02/custom-stack-it-goes-to-11.ht
: Your biggest problem is getting a user-mode TCP/IP stack. There are lots of
: these stacks around as university research projects. I don’t know of any
: open-source user-mode stack that is reliable. There is a closed-source stack
: called “6windgate” which is used in a lot of appliances.

g*****g
发帖数: 34805
433
原来你都没定量分析,就吹牛逼肯定可以了。都不是第一次了,
宇宙第一的强实时系统,一定量就连1M订单都顶不住,你丫连鸡鸡都没有,别提脸了。

【在 T********i 的大作中提到】
: 给点定量分析,看看1M burst load对各种数据库造成的冲击多大?对前端机的冲击又
: 多大?
: 别动不动就崩,timeout之类的。
: 说实话真实懒得理你。让你在BBS上继续意淫才是对你最大的惩罚。
:
: 应。

g*****g
发帖数: 34805
434
做人不要那么不要脸。你要提robert,又要选择性无视。Robert明明说了没有可靠的
user modde tcp/ip可用。也没听说哪个相似server产品用了OpenOnLoad,你还有脸谈
阅读能
力。
Your biggest problem is getting a user-mode TCP/IP stack. There are lots of
these stacks around as university research projects. I don’t know of any
open-source user-mode stack that is reliable. There is a closed-source stack
called “6windgate” which is used in a lot of appliances.
几个外行,成天意淫10M单机,实际上连一万单机都没做过。还是那句话,有种的跟我
说,没做过1万server并发的死全家好了。实践检验真理唯一标准,不是拿helloworld
来检验whatsapp。我产品里做过10M 用户不叫实践,你写点helloworld叫做实践?还要
脸吗?
有12306做成太监计数器在前,你们闹的笑话还少吗?要吹牛逼也得先看看track
record.

【在 S*A 的大作中提到】
: Sign, 我本来都想消停了。
: 最可笑的是,我本来是想做个实验帮你证否的老Wei 的 64G 1M
: 的。没想到我的实验最后做出来支持老Wei 的论断。然后我就变
: 成帮凶走狗了。
: 你想继续丢人显眼那我门就继续吧。反正你的笑点那末多。
: 你已经被证明了把 Robert 的文章读都读不懂,网络协议和实现都不能
: 分,不知道那里得出个改协议类比 IPV8 的结论。对于你读人家文章的
: 能力我们还能指望什么呢?
: 你连基本的逻辑理解能力,common sense 都没有,我还能如何说服你
: 呢?就剩下反复重复命题的论证法,多喊两遍,这个命题就证明了。

S*A
发帖数: 7142
435
有种跟我读一句。
"号虫这个理解就是错的,分不清协议和实现。"
S*A
发帖数: 7142
436
算了吧好虫,
你就真的以为除了你没有其他人解决过实际应用上的
并发的问题?你愿意吧你的家人用毒誓陪上去。
有些东西我见面跟你私聊。弯曲就那么大,谁和谁有
联系做过什么很容易验证的。我就不爱在公共板块
发表自己的经历。也没有这个必要。不就上个网吗,
那么校真干嘛。
动不动拿家里人来发誓是不必要的,也用不着。
说句实话,你用家里人发毒誓家里人如何想呢?
就为争 bbs 上一口气?
S*A
发帖数: 7142
437
我知道你想,我做过并发我怕什么毒誓。
这个我也相信,
但是你要想,你的毒誓发了一半,赌人家没干过
什么,要是你赌输了,那毒誓如何发你自己也想得出来。
算了吧,大家都消停吧。
g*****g
发帖数: 34805
438
没做过就是外行,外行坚持自己是对的算啥事?我就是用个简单的办法证明他没做过。
他敢跟着说,我又不掉根毛。

【在 S*A 的大作中提到】
: 我知道你想,我做过并发我怕什么毒誓。
: 这个我也相信,
: 但是你要想,你的毒誓发了一半,赌人家没干过
: 什么,要是你赌输了,那毒誓如何发你自己也想得出来。
: 算了吧,大家都消停吧。

g*****g
发帖数: 34805
439
我老早就说了,robert那个没说清楚,我理解错了,我不是底层专家,也不装作是。
跟你们俩一比,天上地下。Robert说没有可靠user space tcp/ip,你们俩不是还抵赖
呢吗?

【在 S*A 的大作中提到】
: 有种跟我读一句。
: "号虫这个理解就是错的,分不清协议和实现。"

1 (共1页)
进入Programming版参与讨论
相关主题
两道小题在一个技术版面骂脏话、搞人身攻击,这都是垃圾的行为
Linux Socket编程这个版看来是毁了
问个关于socket问题我的实测结果,纯计算每秒50M次interlocked.increment
UDP广播老是接收不到为啥太监这么不要脸呢?
C10M除了socket以外,还牵涉其他方面的技巧编程版目睹之怪现象。
求推荐一个真心交流技术的地方[bssd] Go 的大并发处理网络碰到两个个问题
废话少说,单机500万次每秒和井底之蛙,没什么好说的
goodbug做C10M?C10M 练习2: 空TCP 连接,1M per 4G RAM
相关话题的讨论汇总
话题: c10m话题: 10m话题: tcp话题: openonload话题: 问题