剑客
关注科技互联网

Apex.sh?

Apex.sh? 作为 TJ 的首个创业项目- Apex Ping ,在一些 hardcore 的人眼里,从更深层次的技术角度上讲,可能有时会觉得有些失望,但是从美学和 UI 方面来谈,也许能让人眼前一亮。

从 16 年 4 月 23 日在 Medium 上发声说「我要成立自己的公司啦:Apex Software」到 6 月 17 日正式宣布并上线第一个 APM 模块 Apex Ping ,时隔个把个月,我也在 Medium 和 Twitter 上时刻跟踪着动态。

并且在第一时间试用了一下 Apex Ping,总体来说体验可以,前端方面则是 React + D3 用以呈现数据,后端则是利用 AWS 的 Lambda ,并且他们开源了一些 工具

当然,以 TJ 的水准,UI 上的 优雅 自然不用多说。

Time Status很有意思,包括:

  • DNS 解析时间 ( NAME LOOKUP )
  • 连接建立时间 ( CONNECT )
  • TLS 握手时间 ( TLS HANDSHAKE )
  • TTFB ( FIRST BYTE )
  • 响应时间 ( RESPONSE )
  • 重定向时间REDIRECTS

看的出来,后端用的估计是 CURL 手法。

之前一基本实现了下,封装成 API。相比于命令行,网页版要好用得多,配合前端数据可视化对于经常要分析性能的人会非常方便。

思路则是调 Linux shell curl 命令然后解析一下结果,处理一下数据,这里用的是 PHP 。

curl 的几个关键参数和输出倒是比较有意思,各种时间一目了然:

  • "time_namelookup"
  • "time_connect"
  • "time_appconnect"
  • "time_pretransfer"
  • "time_redirect"
  • "time_starttransfer"
  • "time_total"
  • "speed_download"
  • "speed_upload"

相关计算如下:

//TCP 连接时间
'range_connection' = 'time_connect' -'time_namelookup';
//TLS 握手时间
'range_ssl' = 'time_pretransfer' - 'time_connect';
//服务器响应时间
'range_server' = 'time_starttransfer' - 'time_pretransfer';
//传输时间
'range_transfer'='time_total' - 'time_starttransfer';

最终 API 结果:

Apex.sh?

当然,这里也推荐另一款工具 Python 版的 httpStat 工具:

Apex.sh?

全程命令行,还不错,很好用。

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址