由买买提看人间百态

topics

全部话题 - 话题: c10m
1 2 3 4 5 下页 末页 (共5页)
T********i
发帖数: 2416
1
来自主题: Programming版 - goodbug做C10M?
这个叫C10M么?
你丫搞清楚什么叫C10M了么?
哈哈哈哈哈哈哈

smartphone
g*****g
发帖数: 34805
2
来自主题: Programming版 - goodbug做C10M?
我老设计的server app,同时有超过10M的用户连着,一有email就push。
这不是C10M,还啥叫C10M?
你丫做过10K用户的server? 傻逼还有脸叫板。让你班门弄斧,见一次打一次。
g*****g
发帖数: 34805
3
来自主题: Programming版 - goodbug做C10M?
你丫又脑残了,C10M在single server上干不了啥实际的活。这种纯粹的benchmark是最
无聊的事情。C10M就是10M concurrent connections。我老做过,你连10K都没有。
你丫再来装逼见一次打一次。
T********i
发帖数: 2416
4
TCP的设计确实够烂。几十年来一直没停的patch。
现实中人不可能不犯错误,大系统的可靠性足够让任何相关人士一直提心吊胆。
OpenOnLoad其实也是大路货。比如错误,就是connect不尊重SO_SNDTIMEO。表现就是
non-blocking connect不能timeout报错。最新版本也没解决。这些,没做过的不可能
知道。
其实,我一直都不担心C10M maintain connection的问题。我关心的是,系统
bandwidth能做到什么程度。这些,基本上和socket API无关了。但是和你的threading
model + I/O model有关。
SSA曾经问过我连接少的话,epoll即使不是最优的,性能也不会差对不对?其实,这要
结合应用去理解。我要求latency尽可能低。epoll两个选项,一个是spin,这样会占用
一个core,一个是kernel wait,这样会有context switch。我系统只有16个core呀。
这样就需要有创造性了。其实,技术离不开commen sense。
真正做C10M,其中的同步技巧,很多是conter int... 阅读全帖
g*****g
发帖数: 34805
5
来自主题: Programming版 - goodbug做C10M?
半路出家,被退学,被裁的民科为嘛成天要叫板。傻逼太监连1万用户的server应用都
没写过。
有要谈C10M,我操。你丫以为起10M个client 那么简单?
T********i
发帖数: 2416
6
来自主题: Programming版 - goodbug做C10M?
看清楚了。
大家讨论的C10M是single server。

so
through
g*****g
发帖数: 34805
7
来自主题: Programming版 - goodbug做C10M?
我老偏偏是做scalability的, 公司招我就是因为当时架构有bottlenck, 要C10M成本
太高,我做了几个架构的改动给提升了6倍。你做的东西当然是我做梦都不敢想的,谁
做梦梦到太监吃狗屎呀。
g*****g
发帖数: 34805
8
来自主题: Programming版 - goodbug做C10M?
哈哈,我老可没自称大拿,就是做互联网的混口饭吃。做的架构只求能用,不求宇宙第
一。
没实战经验的东西我基本不谈。
到是你这个连10K用户都没做过的动不动谈什么宇宙第一的算法,C10M。
从没见过被退学被解雇的垃圾还这么牛逼的。你丫每次出来叫板最后都是丢脸。
S*A
发帖数: 7142
9
来自主题: Programming版 - C10M 练习 step 1: 10M sockets
我觉得大家讨论很热情,
我们来做点练习吧,不要光说不练。
下面这个程序是暴露一些写 C10M 可能碰到的问题,
看看大家有没有神魔解决方法。如果有,请贴程序或者
脚本,方便他人重复实验.
如果实在没有人贴答案,我也可以公布我自己的。
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < 1024*1024*10; i++) {
int s;
s = socket(PF_INET, SOCK_STREAM, 0);
if (s < 0) {
char buffer[1024];
snprintf(buffer, sizeof buffer, "socket #%d", i);
perror(buffer);
... 阅读全帖
d*******r
发帖数: 3299
10
来自主题: Programming版 - C10M 练习 step 1: 10M sockets
请问大牛你建议用哪个版本的 Linux kernel?
我刚刚在 AWS 跑了下你的程序,准备 follow 你的 "SSA(草民) C10M 系列" :)
S*A
发帖数: 7142
11
来自主题: Programming版 - C10M 练习2: 空TCP 连接,1M per 4G RAM
这个练习1 已经发现了,C10M 没有强壮的内存支持是
没戏的。单单是 kernel 部分就已经消耗很多内存了。
所以我们把目标调整一下,1M per 4G RAM。
这样 64G 内存就有可能实现 10M。
练习2 就是看看,我们如果保留 1M/4G 的空TCP
连接,可不可以。完全不往 TCP 里面发东西。就是
建立连接而已。这样也不存在 epoll 问题。
和实验1一样,我会发些拍脑瓜想出来的简单代码。
你直接用这个代码冲刺 1M/4G 会碰到些实际问题。
有兴趣的同学跟着做一下实验,看看有没有办法解
决这些问题。
BTW,我是实验出了 1M/4G (服务器方),所以是
有可能的。建立1M 连接还花了不少时间。
服务器方代码。端口是80, 大家可以自己改。
include
#include
#include
#include
#include
#include
#include
#include 阅读全帖
S*A
发帖数: 7142
12
来自主题: Programming版 - C10M 练习2: 空TCP 连接,1M per 4G RAM
这个练习1 已经发现了,C10M 没有强壮的内存支持是
没戏的。单单是 kernel 部分就已经消耗很多内存了。
所以我们把目标调整一下,1M per 4G RAM。
这样 64G 内存就有可能实现 10M。
练习2 就是看看,我们如果保留 1M/4G 的空TCP
连接,可不可以。完全不往 TCP 里面发东西。就是
建立连接而已。这样也不存在 epoll 问题。
和实验1一样,我会发些拍脑瓜想出来的简单代码。
你直接用这个代码冲刺 1M/4G 会碰到些实际问题。
有兴趣的同学跟着做一下实验,看看有没有办法解
决这些问题。
BTW,我是实验出了 1M/4G (服务器方),所以是
有可能的。建立1M 连接还花了不少时间。
服务器方代码。端口是80, 大家可以自己改。
include
#include
#include
#include
#include
#include
#include
#include 阅读全帖
w***g
发帖数: 5958
13
来自主题: Programming版 - C10M 练习2: 空TCP 连接,1M per 4G RAM
我印象中freebsd的TCP/IP协议栈有userspace版本的,要是能用那个做实验可能会比较
爽。刚才google了一阵没找到。可能是当时实验室那帮哥们自己port出来做benchmark
的,只在他们的benchmark中有http://parsec.cs.princeton.edu/parsec3-doc.htm#uptcpip。我印象中好像是在raw socket上面干活的。不知道配上一个kernel bypass的网卡驱动是不是就是一个完整的kernel bypass network solution。这样优化起来都会方便好多。即使暂时就用原生态的raw socket,除了速度上可能慢一星半点,用来搞C10M应该也够了。
n****1
发帖数: 1136
14
来自主题: Programming版 - C10M 练习2: 空TCP 连接,1M per 4G RAM
其实如果考虑到各种kernel space技术,c10M应该小菜一碟吧。 首先各种很多微内核
系统都能这么做,其次现在有些software fault isolation能在同一地址空间内运行多
个互不干扰的“进程”, 比如Google的nativeclient 和rackspace的zeroVM(这丫能把
zfs和应用绑在一个地址空间里,实现用户态高性能zfs)。sfi技术移植到内核空间也不
会很难
最近连linux这种单内核死忠也开始在内核空间里做jit了,目前只是用来做packet
filter,但我感觉在虚拟化的大环境下,kernel space的应用会越来越普及
S*A
发帖数: 7142
15
是不是就是保留一些 core kernel 不能用,
然后自己直接用啊。这个 robert 的 C10M 里提到过。
S*A
发帖数: 7142
16
来自主题: Programming版 - 10M persistent TCP connections
我那天回答你这个问题的态度比较恶劣,向你道歉。
我今天就认真一点回答你。
这里有两个层面的问题需要分别对待。
1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
首先,这个现实的问题,应该有个可以或者不可以的确定答案。
对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
在这个问题上,资历其实是非常间接的依据。
如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
所以你说的资历和先进经验是不必要的,甚至不是很好的论据。
大家讨论技术问题用资历来做论据,可以肯定的结论是必然导致不能确定
的结果,双方都觉得自己资历高,谁也不服谁。而我试图以程序和实验
来论证,显然是比资历强得多的依据,也用不着资历。
所以我觉得你不愿意真正参与问题 1) 的讨论或者实验。而抛出命题 2)
来迂回。
2)C10M 没有意义(伪命题)和 C10M 不可用论。
C10M 没意义
现在市面上没有可以很简单可靠拿来就能用的 C10M 方案,所以讨论
C10M 没有意义。这个简化为... 阅读全帖
S*A
发帖数: 7142
17
来自主题: Programming版 - 10M persistent TCP connections
我那天回答你这个问题的态度比较恶劣,向你道歉。
我今天就认真一点回答你。
这里有两个层面的问题需要分别对待。
1) 老Wei 提出来的 64G 机器保持 10M 长连接的能否用普通 Linux实现。
首先,这个现实的问题,应该有个可以或者不可以的确定答案。
对于这个问题,你没有给出正面回答,从态度上推测,你的回答应该是不可以。
在这个问题上,资历其实是非常间接的依据。
如果我能公布程序能够保持 10M 的长连接,那末你的资历再高,说这个不可
以,也是没有什么信服力的。这个会反而成为质疑你资历的依据。
所以你说的资历和先进经验是不必要的,甚至不是很好的论据。
大家讨论技术问题用资历来做论据,可以肯定的结论是必然导致不能确定
的结果,双方都觉得自己资历高,谁也不服谁。而我试图以程序和实验
来论证,显然是比资历强得多的依据,也用不着资历。
所以我觉得你不愿意真正参与问题 1) 的讨论或者实验。而抛出命题 2)
来迂回。
2)C10M 没有意义(伪命题)和 C10M 不可用论。
C10M 没意义
现在市面上没有可以很简单可靠拿来就能用的 C10M 方案,所以讨论
C10M 没有意义。这个简化为... 阅读全帖
S*A
发帖数: 7142
18
来自主题: Programming版 - 10M persistent TCP connections
我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
人口不够多,C10M 是为命题不都是这个意思吗?
我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
再说一遍,这个和 C10M 技术本身无关。
说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
你会选择不用,改用更加实际的 C5K ?
你觉得没有大有人觉得有用。
S*A
发帖数: 7142
19
来自主题: Programming版 - 10M persistent TCP connections
我其实很明白你想说什么,你还是想继续不鼓励 C10M 方向的探讨。
人口不够多,C10M 是为命题不都是这个意思吗?
我本来想反驳一下你的论据,其实很有问题。但是不想再绕这个问题了。
再说一遍,这个和 C10M 技术本身无关。
说 C10M 无用显然是可笑的。如果你的机器可以做到可靠的 C10M,
你会选择不用,改用更加实际的 C5K ?
你觉得没有大有人觉得有用。
S*A
发帖数: 7142
20
来自主题: Programming版 - 10M persistent TCP connections
这个是两了独立的问题好不好。
C10M 是说篮子可以装更多的鸡蛋的技术。
goodbug 说的 cluster 是有很多篮子防止一个篮子破了血本无归。
这两个可以放到一起来用啊。没有人说研究C10M 就是用一部机器
解决所有问题,只是其中一种技术手段而已。Goodbug 说的这些都
没错。但是和 C10M 本身其实无关。把 cluster 代替 C10M 就把
问题搞得更加说不清了。
用 cluster 技术也不应该防止把一个篮子做大的技术。
回到10 年前,同样的辩论也可以说,C10K 不用做,多几个cluster
就行了。那就不会现在有 epoll 这些好东东了。
这个是技术发展的两个不同方向。又没有人说一定单用一个。

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

多。
g*****g
发帖数: 34805
22
你说的不就是内行和外行的典型区别吗?我老对各种轮子的熟悉,对各种架构的优劣烂
熟于胸,碰到难题可以直奔重点,直接找最合理的妥协,跟需求方协商达成一致并实施
。这就是我的本职工作而已。我老难道吹过宇宙第一吗?这个版上我认识的几个资深业
内人士,都很快能得出异步是最合理的解决方案。而像太监,对CAP Theorem一无所知
,拍着胸脯我宇宙第一强实时,结果必然跟永动机一样,而附庸他的,清一色的外行。
这个我从最开始就知道了,我只不过没想到外行们连数据库transaction这么基本的概
念都没有而已。也没想到外行们明明方向错了还那么嘴硬而已。
另外关于C10M,我老人家C10M的系统做过了,现在还在跑。知道怎么做,有资格说你这
路子没戏,你
爱信不信呗。不还是那句话,不服做出来让我闭嘴呗?做不出来就是太监别嘴硬。你的
单机C10M根本就是个风车,我老没像你那么愚蠢要去挑战。而且我老教育过你,出于
failover考虑,并不是单机撑得越多越好。这年头云计算,AWS有各种价格的instance
,你弄个大机器可以轻松比我100个面机器还贵。单机极限除了满足你装逼的心理,并
不说明任何问题。你单... 阅读全帖
S*A
发帖数: 7142
23
你说了这么一大堆我可以这么归纳一下吗:
老子会用积木经验丰富牛B透顶,程序还是不会自己写。
你口口声声做过 C10M,你知道 C10M 的定义是1部机器吗?
你那个是一个机群的不叫 C10M。 你给我找个网上的定义是把 C10K
或者 C10M 放一个 cluster 的看看。
S*A
发帖数: 7142
24
来自主题: Programming版 - 10M persistent TCP connections

我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
这个 10M packet per second。 人家画了 10M packet/s 的线,就是
说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
了不是更松了。这里是个大于等于的关系。
也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
robert 认为是没 pass, 不是比你的标准严格么?
这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate
的 10G 还不够好。这个是有现实意义的。
所以你没有要求人家有要求其实是更加严格了。
你出口就说人家没有动手做过这个也有点太武断,
和我说你没有做过一样,是不是有点这个意思?
BTW, 我认为 Robert 说的 C10M 是他自己做过的。看看他的talk。
S*A
发帖数: 7142
25
来自主题: Programming版 - 10M persistent TCP connections
单机C10M有感,C10M 和 C10K 从来都是指单机的。
cluster 那种不叫 C10M。至少网上我还没有看到其他
地方有这种叫法。
S*A
发帖数: 7142
26
来自主题: Programming版 - 10M persistent TCP connections
不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
太适应。我尽量适应把,一不小心又严谨了请原谅啊。
这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
瑕疵了。
你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例
化是 X= C10M, Y=现在。
我并没有说你的 X 在 Y 时代还不可以用是不对的。
也就是说,我承认现在没有简单好用的 C10M。这个论据是成立的。
但是这个结论和论证过程是不成立的。
我举个反例啊,X=飞机,Y=古代。
因为古代没有飞机可以用,所以古代研究飞机是没有意义的。
我是不是又不严谨了啊,这个论证过程又有什么技术缺陷吗?
这个真不是我搞什么文字狱来委屈你啊,你自己老爱挖坑自己
往里面跳我拦不住你啊。
S*A
发帖数: 7142
27
来自主题: Programming版 - 10M persistent TCP connections

我觉得你的理解有问题。人家说 C10M, 没有说你做到 11M 就不是了。
人家就是要画一条线,说,这条线一以下的不是罗氏的 C10M。
这个 10M packet per second。 人家画了 10M packet/s 的线,就是
说,低于这个数字的还不够格。从标准的角度来说,人家的要求是更严格
了不是更松了。这里是个大于等于的关系。
也就是说,单纯依靠大包到达 10G的情况,在你的标准是 pass 了,
robert 认为是没 pass, 不是比你的标准严格么?
这是因为你还没有体会隐含的大于等于关系。我知道你想说通用
更好。我觉得原来人家的定义没有矛盾,只是指出这种低 packet rate
的 10G 还不够好。这个是有现实意义的。
所以你没有要求人家有要求其实是更加严格了。
你出口就说人家没有动手做过这个也有点太武断,
和我说你没有做过一样,是不是有点这个意思?
BTW, 我认为 Robert 说的 C10M 是他自己做过的。看看他的talk。
S*A
发帖数: 7142
28
来自主题: Programming版 - 10M persistent TCP connections
单机C10M有感,C10M 和 C10K 从来都是指单机的。
cluster 那种不叫 C10M。至少网上我还没有看到其他
地方有这种叫法。
S*A
发帖数: 7142
29
来自主题: Programming版 - 10M persistent TCP connections
不好意思啊,让兄台见笑了。我这个新人类受老技术控的毒害,比较
较真也喜欢严谨。兄台这新一代架构师这种不严谨的技术讨论我还不
太适应。我尽量适应把,一不小心又严谨了请原谅啊。
这个不严谨嘛,就是大意是对的,说法有些小瑕疵。你连 IPv8 都冒
出来了怕是真的以为要改协议吧。我都问了两遍,旧的用户怎么办啊,
你还把这个改协议断章取意拿出来当论据说。这是概念性错误而不是
瑕疵了。
你以前说我没明白你意思。你看啊,我都读懂你的论述了,还进行了
归纳概括,就是 C10M 不可用论。我又重复一遍你的论述过程,你说
了, X 在 Y 时代还不可以用,所以研究 X 没意义。你的论据实例
化是 X= C10M, Y=现在。
我并没有说你的 X 在 Y 时代还不可以用是不对的。
也就是说,我承认现在没有简单好用的 C10M。这个论据是成立的。
但是这个结论和论证过程是不成立的。
我举个反例啊,X=飞机,Y=古代。
因为古代没有飞机可以用,所以古代研究飞机是没有意义的。
我是不是又不严谨了啊,这个论证过程又有什么技术缺陷吗?
这个真不是我搞什么文字狱来委屈你啊,你自己老爱挖坑自己
往里面跳我拦不住你啊。
S*A
发帖数: 7142
30
来自主题: Programming版 - 10M persistent TCP connections
我懂,凡是 X 现在不存在就没意义。这个论证是错的,你自己知道
辨不过去,然后就抛出我不管。

总共就
这个 Robert 也就是先锋,探探路的。OpenOnLoad 这些是很特别的厂家
应用也没有得到开源的支持。Intel DPDK 就不一样了,代码都看得到。
里面又很多开发人员都是Linux 内核的常见 hacker。去年就又大概 8 个
thread 是关于 DPDK, 大家在改 kernel 的时候都注意不要 break 了 DPDK
的。而且 DPDK 支持不只一个种网卡。这个 DPDK 已经可以到 80G 了。
我还在琢磨做个工具自动把 kernel 的 stack port 到 DPDK 呢。
对了就对了,错了就错了,承认很难吗?你是随口说说吗, IPV8, 还贴了一大
篇引文,故意通过隐藏人家前提条件的限定语来引诱读者做错误的结论。这个
就是赤裸裸的有义误导。你贴引文的时候不会仔细看看吗?要不是我还真读
过 Robert 的东西,光看你说的误导还会真以为是那末回事了。
科学就是要严谨,一就是一,二就是二,没有什么误解。讨论起来多简单。
你要把一不严谨,就有 N 种不严谨... 阅读全帖
S*A
发帖数: 7142
31
你这个搭黑盒子积木不能自己写程序的架构师,
真的来编程版屈才了。你连边界条件都不屑于了解,
还能叫负责?
说了那么多废话,不是还是没有做过 C10M 辩护。你自己
阅读理解能力有问题。我说的没有错啊,你那个多机器堆
的不叫 C10M。
还是那句话,狗家F家做规模比你大的多了去了。不是
用积木搭的,东西自己人实现的,也没有你叫得响跳得
高。你这个实在是跳得有点高。

C10M
c****3
发帖数: 10787
32
来自主题: Programming版 - 10M persistent TCP connections
C10M问题没那么简单吧
http://c10m.robertgraham.com/p/manifesto.html
c****3
发帖数: 10787
33
来自主题: Programming版 - 10M persistent TCP connections
是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
的人,没有几个。
S*A
发帖数: 7142
34
来自主题: Programming版 - 10M persistent TCP connections
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 包的数目就吃不消。
S*A
发帖数: 7142
35
来自主题: Programming版 - 10M persistent TCP connections
我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。

我是要观察你的回应才能猜测出我们的理解有什么差异,
这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
也就是说,其他条件都满足11M packet per second 是符合 C10M
还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
把。有的出来说一下。
那显然不是通用啊。都自己 custom core/RAM。
谁有可以做个真正宇宙通用的东西来给大家用用呢?
每一个实现都是有自己的局限性的。
S*A
发帖数: 7142
36
来自主题: Programming版 - 10M persistent TCP connections
你不要那么过敏好不好?我什么时候质疑过
你的资历了?技术讨论干嘛一定要靠资历
说服人?我都说了,你说的cluster点都对,
但是和 c10m 本身无关。
请问你的资历和c10m有什么直接关系?
我本来就是想验证一下老wei那个是
不是可以做出来的。尽可能通过实验
数据来说明情况。你老是跑题拿你的
经验和资历来说问题。
你再好好想想?

300G
S*A
发帖数: 7142
37
来自主题: Programming版 - 10M persistent TCP connections

我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
不知道。
最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
例如 gmail 的 web 界面就是这么干。还有物联网等等。
100
费。
这个就是个 capacity planning 的问题,是完全另外一个问题。
着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,
用户能够产生的需求变化是非常大的,经常好几倍。所以任何靠谱的解决
方案都需要有对付用户流量变化的方法,不能在自己的上限来运行。
就算 10 部机器,倒掉一两部产生负载的变化是 20%。 这个完全埋没在
和用户需求产生的几倍的变化里面。所以这个解释 C10M 有了不能用是
牵强的。因为你本来就需要能够对付那几倍的变化,还在乎因为部分机器
当机转移过来的 20% 把自己给拍死了?
c****3
发帖数: 10787
38
来自主题: Programming版 - 10M persistent TCP connections
C10M问题没那么简单吧
http://c10m.robertgraham.com/p/manifesto.html
c****3
发帖数: 10787
39
来自主题: Programming版 - 10M persistent TCP connections
是啊,C10M得亲自做过,才知道会遇到啥样问题。有机会亲自做过C10M,或者类似需求
的人,没有几个。
S*A
发帖数: 7142
40
来自主题: Programming版 - 10M persistent TCP connections
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 包的数目就吃不消。
S*A
发帖数: 7142
41
来自主题: Programming版 - 10M persistent TCP connections
我没有说清楚,1K bits. 就是 125 bytes, 是典型的小包。

我是要观察你的回应才能猜测出我们的理解有什么差异,
这个也没有什么问题啊。那看来大于等于的确是你前面没有想到的。
我想听听大家看 robert 的 C10M 是不是认为有个大于等于的关系。
也就是说,其他条件都满足11M packet per second 是符合 C10M
还是不符合。 我觉得这个是很常识性的了,大家应该没有什么异议
把。有的出来说一下。
那显然不是通用啊。都自己 custom core/RAM。
谁有可以做个真正宇宙通用的东西来给大家用用呢?
每一个实现都是有自己的局限性的。
S*A
发帖数: 7142
42
来自主题: Programming版 - 10M persistent TCP connections
你不要那么过敏好不好?我什么时候质疑过
你的资历了?技术讨论干嘛一定要靠资历
说服人?我都说了,你说的cluster点都对,
但是和 c10m 本身无关。
请问你的资历和c10m有什么直接关系?
我本来就是想验证一下老wei那个是
不是可以做出来的。尽可能通过实验
数据来说明情况。你老是跑题拿你的
经验和资历来说问题。
你再好好想想?

300G
S*A
发帖数: 7142
43
来自主题: Programming版 - 10M persistent TCP connections

我觉得goodbug的 cluster 的很多论点是对的。但是和老Wei 提出来的命题 1)
是完全无关的。对于命题 1)goodbug 很想说不行,但是他的正确说法应该是
不知道。
最多只有 100M 同时上线这个有没有考虑一个应用会使用多个连接呢?
例如 gmail 的 web 界面就是这么干。还有物联网等等。
100
费。
这个就是个 capacity planning 的问题,是完全另外一个问题。
着听起来好像是不该用 C10M 的道理,但是其实很牵强。我来解释一下,
用户能够产生的需求变化是非常大的,经常好几倍。所以任何靠谱的解决
方案都需要有对付用户流量变化的方法,不能在自己的上限来运行。
就算 10 部机器,倒掉一两部产生负载的变化是 20%。 这个完全埋没在
和用户需求产生的几倍的变化里面。所以这个解释 C10M 有了不能用是
牵强的。因为你本来就需要能够对付那几倍的变化,还在乎因为部分机器
当机转移过来的 20% 把自己给拍死了?
T********i
发帖数: 2416
44
来自主题: Programming版 - 10M persistent TCP connections
要点脸行不行?说不过就转移话题加人身攻击。SSA说过多少次你是泼妇骂街了?
我问你,这个就是一个IM的前端,单机10m连接+超过10G的throughput,有什么达不到
的?你丫不服么?
什么叫10M的单机撑不住standby?单机C10M连接速度可达1M连接/s。假定100M用户,用
11台,一台死掉了,用户分布到其它10台单机,也只需要大约1s就恢复了。
实际上,我deploy的时候,都只用峰值大约20-30%的流量。100M用户,用30台服务器。
流出足够的容量。
你的知识和能力。根本不可能做出C10M。你悲愤也没用。
T********i
发帖数: 2416
45
来自主题: Programming版 - 10M persistent TCP connections
是不是还要他做出一个whatsup clone来才算数呀?
你这个笑人无厌人有的东西。怎么人间能有你这种孽畜?
你为啥不敢直接叫板所有的C10M都是造假忽悠?这世界上绝对不可能有C10M这种技术?
自己傻逼,见不得别人出成就。你咋不去死?或者丢父母的脸,丢家人的脸,丢清华的
脸。
呵呵。你要是怕丢脸的话,根本就不会表现的这样的无耻下流。看来是无耻下流习惯了
。无耻下流融入到基因里面了。
T********i
发帖数: 2416
46
来自主题: Programming版 - 10M persistent TCP connections
看来你是真的蠢。Client和Server到底哪个需要CPU处理时间长取决于具体应用。
"client就是往外发,啥都不管。server可是要处理的。"这种无脑的话都能说出来?
再说了,我们讨论的C10M是网络处理问题。要尽量和应用层分开。
即使讨论whatsapp,C10M用于前端,App逻辑也很简单。
你这人脑袋简直一团浆糊。
g*****g
发帖数: 34805
47
恰恰相反,作为架构师,我做出来的架构,我要负责任,如果不是每个模块我都知道怎
么实现,我怎么负责任?我只不过没有时间去实现每一个模块而已。擦屁股的事情我干
的多了。像你这样屁都不懂的外行,也有脸来质疑我的能力?架构设计都是长期实际开
发经验攒出来的,你以为都像你一样做个太监计数器自慰吗?
C10M就是10M concurrent connections,别忘了讨论这个是从whatsapp开始的,是你们
几个傻逼吹牛逼比WhatsApp还牛开始的。WhatsApp的实现难道是单机吗?我老没做过
100M级别的,但10M做过,100M的做法也没有本质区别。一开始就
跟你们说WhatsApp不能这么做你们非说可以,那就做呀。我老跟你们几个外行的区别从
来在于做过和没做过的区别而已。你要跟我玩弄名词,你不如先撒泡尿看看,所谓C10M
的实现跟WhatsApp的要求差距有多远。
w***g
发帖数: 5958
48

C10K是10年前的问题了。现在流行的是C10M。这10M个用户大部分只是连在那里而已,不
是所有用户同时都拼了命地在发数据。而且也不肯能是啥复杂到要读写数据库的应用,
参考这个
http://c10m.robertgraham.com/p/manifesto.html
$1200的单机的性能参数(文中没说是啥机器,我估计是一个router或load balancer之
类的东西)
- 10 million concurrent connections
- 10 gigabits/second
- 10 million packets/second
- 10 microsecond latency
- 10 microsecond jitter
- 1 million connections/second
不过用java写的话估计到不了。
store
p***o
发帖数: 1252
49
search for "c10m"

send
to
c****3
发帖数: 10787
50
来自主题: Programming版 - 废话少说,单机500万次每秒
10年以前硬件的挑战是C10K,现在硬件的挑战是C10M,就是1000万并发连接。
http://www.yhddba.com/%E5%8D%83%E4%B8%87%E7%BA%A7%E5%B9%B6%E5%8
1 2 3 4 5 下页 末页 (共5页)