d*******r 发帖数: 3299 | 1 有专门讲 message server performance 的资料吗, 书,网站,blog,系统点那种。
我想知道主要怎样系统地 measure 一个 message server, 比如有哪些主要测试工具 (
jmeter, tsung 等等,他们的优劣), 主要需要测试好哪些 measurements (e.g.
messages/sec, connections/sec, kbits/sec ...)
message 可以是自定义的。 e.g. JSON over TCP, 甚至 UDP
也可以是 HTTP messages。其实一直没有定量研究和测试过 HTTP 跟 自定义的 简单
message 包比较起来,到底有多 heavy, 延迟高多少,处理能力要额外耗费多少。
琢磨着 build 这样一个 server,收发大量的 messages. 不是只针对 server hosts
端内网的,也便于从公网上收发 messages. 比如就当 HTTP server 或者 gaming
protocol server 用。
可以有 cluster 模式,可以堆机器 scale out 或者 和 load balancing.
方便接入内存DB (e.g. Redis, memcache) 也是挺好的plus。
对这个问题非常感兴趣 (所以之前看到vert.x也觉得很有意思, 虽然它的 P2P message
bus 没有自带server)。
有没有专门讲这方面的书,网站,blog?
请本版的大牛们多指点呀。 |
w**z 发帖数: 8232 | 2 看看Kafka.
【在 d*******r 的大作中提到】 : 有专门讲 message server performance 的资料吗, 书,网站,blog,系统点那种。 : 我想知道主要怎样系统地 measure 一个 message server, 比如有哪些主要测试工具 ( : jmeter, tsung 等等,他们的优劣), 主要需要测试好哪些 measurements (e.g. : messages/sec, connections/sec, kbits/sec ...) : message 可以是自定义的。 e.g. JSON over TCP, 甚至 UDP : 也可以是 HTTP messages。其实一直没有定量研究和测试过 HTTP 跟 自定义的 简单 : message 包比较起来,到底有多 heavy, 延迟高多少,处理能力要额外耗费多少。 : 琢磨着 build 这样一个 server,收发大量的 messages. 不是只针对 server hosts : 端内网的,也便于从公网上收发 messages. 比如就当 HTTP server 或者 gaming : protocol server 用。
|
d*******r 发帖数: 3299 | 3 之前看一下的
【在 w**z 的大作中提到】 : 看看Kafka.
|
p*****2 发帖数: 21240 | 4
大牛给个summary?
我现在产生80M/S数据,他们就开始抱怨了。
【在 d*******r 的大作中提到】 : 之前看一下的
|
d*******r 发帖数: 3299 | 5 我就是觉得kafka的特色是默认persistent写到硬盘吧,有用这个来做实时系统的吗?
比 fast accessing 肯定不如 Redis之类吧。
写到硬盘,又不像 C* 支持复杂的 query。总觉得用处有限。
当然我知道得太浅显了。还是请 wwzz 来说说吧。
【在 p*****2 的大作中提到】 : : 大牛给个summary? : 我现在产生80M/S数据,他们就开始抱怨了。
|
w**z 发帖数: 8232 | 6 实时可以用kafka +storm. 我觉得好处是 throughput 大, 自动purge, 支持多个
consumer reading the same queue., easy to scale.
【在 d*******r 的大作中提到】 : 我就是觉得kafka的特色是默认persistent写到硬盘吧,有用这个来做实时系统的吗? : 比 fast accessing 肯定不如 Redis之类吧。 : 写到硬盘,又不像 C* 支持复杂的 query。总觉得用处有限。 : 当然我知道得太浅显了。还是请 wwzz 来说说吧。
|
p*****2 发帖数: 21240 | 7
看需求吧?有些需求要求latency很低。
【在 w**z 的大作中提到】 : 实时可以用kafka +storm. 我觉得好处是 throughput 大, 自动purge, 支持多个 : consumer reading the same queue., easy to scale.
|
d*******r 发帖数: 3299 | 8 二爷说的也是我想问的,比如想达到做游戏server(或者其他 interactive apps)的
latency的话,像kafka一样把 message 写到硬盘上,再从 硬盘上读出来,能达到ms级
别的latency要求吗? 如果不能达到的话,难道还是得扔到 Redis 一样的内存 DB 里面?
kafka throughput 是牛,可能主要用途是 logging?
【在 w**z 的大作中提到】 : 实时可以用kafka +storm. 我觉得好处是 throughput 大, 自动purge, 支持多个 : consumer reading the same queue., easy to scale.
|
d*******r 发帖数: 3299 | 9 这么有意思的问题你们都不讨论,怎么满版都是 atoi 的水... -_- |
z****e 发帖数: 54598 | 10 topic的scope太小
msg server本来就已经不那么常用
至少要在cluster以上才会用到
而且你还局限在performance
这个很多时候是一个动态变化的过程
今天a比b强,明天b版本升级了,反过来
你这让人怎么说?只能自己去试了
【在 d*******r 的大作中提到】 : 这么有意思的问题你们都不讨论,怎么满版都是 atoi 的水... -_-
|
d*******r 发帖数: 3299 | 11 我是打算自己去测了
我的意思是总有些系统的方法论,来测试这些吧,
我问的就是这些系统的方法
【在 z****e 的大作中提到】 : topic的scope太小 : msg server本来就已经不那么常用 : 至少要在cluster以上才会用到 : 而且你还局限在performance : 这个很多时候是一个动态变化的过程 : 今天a比b强,明天b版本升级了,反过来 : 你这让人怎么说?只能自己去试了
|
d*******r 发帖数: 3299 | 12 正在看 10M 那个帖子,里面很多干货。
http://www.mitbbs.com/article_t1/Programming/31330685_0_2.html
比如 cxu123 转的 10M 的帖子,
特别是 user space scheduling/protocol_stack 的东西,这几年还真接触过。
魏老师这一楼的帖子,给了个极简化的测试 message server performance 的标准:
=============================================
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏]
[举报] [ 28 ]
发信人: TeacherWei (TW), 信区: Programming
标 题: Re: 10M persistent TCP connections
发信站: BBS 未名空间站 (Fri Feb 28 16:36:24 2014, 美东)
我说过了。去年11月第一贴就讲的清清楚楚。
其他的都是虚的。只有throughput是实实在在的。
号称同时连接是多少,每秒多少message都没意义。
俺们这行很简单,就是concurrent connection,messages per second,size of
message。然后告诉大家你一台server能handle多少throughput。
谁都知道,一个NIC的throughput是多少,10G/20G full duplex。然后你看看你能做到
多少。越接近极限越牛逼。
=============================================
那就是主要看:
concurrent connection (应该是long live,比如 long live TCP/HTTP),
messages per second,size of message。
然后告诉大家你一台server能handle多少throughput。 |