Ruby Tracebin - 开源的 Ruby Application 性能监控应用 (APM)

knwang · 2017年06月03日 · 最后由 slience 回复于 2018年10月29日 · 2915 次阅读

是我们一个学生的毕业项目,用了大概一个月实现的。请大家拍砖:

https://traceb.in/

代码在这里:

https://github.com/tracebin/tracebin-ruby

一些实现的细节/心得: https://traceb.in/story

这么🐂,前排先占个广告位...

hooopo 回复

刚才还在看,Ruby 怎么可以做数据...然后原来是用的 PG...

占位,年轻人要不要考虑来杭州工作啊 😁

有前途,NewRelic 太贵了。

好有前途的学生

cqcn1991 回复

其实做一般的统计分析 pg 就可以,再复杂一些 pg 挂个 madlib 就可以…也没必要用其它语言再去做大量计算。

多好啊...学校天天除了 c 和 java 和 matlab 根本找不到其他语言啊。计算机学院好多人连 ruby 都没听说过

后生可畏~

mark,最近正好在思考给 midori 添加性能监控的功能,但因为不支持 rack 中间件,没有现成的方案。开源的方案也不好找,没什么可以参考的思路。感觉这个很适合,可以抽空读一下代码。

kgen 回复

正在帮助他在硅谷找工作,希望能帮他入职一家好公司。

一个月能实现这样的系统我是跪着看完的,赞美的就不多说了,既然楼主提到『拍砖』,就说一些不足的。我觉得后端那块设计的太粗糙,粗略看了一下索引加的也不是很完美。这样的系统挑战之一是后端在海量数据下的查询分析效率,看了下目前的实现,对于像 ruby china 这样访问规模的系统,一段时间后,racebin 很难达到毫秒级或是秒级响应。

hooopo 回复

后端花的时间少些确实很粗糙,确实会有性能问题。现在希望能有些大站入驻能够更好地观察实际的数据。这类大量写入查询分析的项目还是挺有意思的, 欢迎有兴趣的同学参与开发

hooopo 回复

要啥后端。直接吐给 ELK 什么的就是了

真正想做下去的话, 可能得先给数据库增加个列存储引擎先...

这个坑就有点深了... 直接用 redshift 存比较容易...

luikore 回复

其实用 citus 或 greenplum 就可以,兼容 pg… 列存储不是必须,可以 MPP 就行。

redshift 要收费,并且没本地环境,只提供云服务。

列存储好像 pg 有个 cstore_fdw 扩展

hooopo 回复

你说的这些比 MapD kdb+ 这一梯队的慢大约一个数量级 ...

http://tech.marksblogg.com/benchmarks.html

bhuztez 回复

磁盘存储和 all in memory 差个数量级也没啥呀

集群维护成本比单机高太多了。这个 benchmark 选的不是很好。kdb+ 在 asof join 上能拉开其他数据库两到三个数量级。

好厉害啊,赞!

rubyu2 回复

你现在在哪干了

性能监控,应该优先上时序数据库吧,后面量大到一定规模可考虑加 hadoop 之类

网站貌似挂了

lanuchschool 的视频带英文字幕吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册