Tcpdive

TCP 性能剖析工具
授权协议 GPLv2
开发语言 SHELL
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 国产
投 递 者 微生信鸿
操作系统 Linux
开源组织 新浪
适用人群 未知
 软件概览

Tcpdive 是 TCP 性能剖析工具,主要特性:

  • 更多 TCP 内部性能信息

  • 定量评估 TCP 性能改进

  • 描述在 TCP 层的 HTTP 处理,依赖于 HTTP Apps

  • 容易部署,使用友好

Tcpdive 已经在新浪的生产环境上部署使用:

  • 提高微博图片服务质量

  • 提高微博视频服务质量

  • 在有线和无线网络中比较 TCP 性能

  • 记录不同应用的 TCP 流量

传输:

Transmission

损失和重传:

Retrans Mechanism

Loss and Retransmission

拥塞控制:

Congestion Control

Advanced Congestion Control

HTTP 处理:

HTTP Processing

HTTP performance indicators


  • http://zhangskd.com/ 转载于:https://www.cnblogs.com/zengkefu/p/6694717.html

 相关资料
  • Haskell 是一门高级编程语言,一门真正的高级编程语言。 我们可以一直使用抽象概念、 幺半群、函子、以及多态进行编程,而不必与任何特定的硬件模型打交道。 Haskell 在语言规范方面下了很大的功夫,力求语言可以不受制于某个特定的求值模型。 这几层抽象使得我们可以把 Haskell 作为计算本身的记号, 让编程人员关心他们问题的关键点,而不用操心低层次的实现细节, 使得人们可以心无旁骛地进行编

  • 11.5. 剖析 基准测试(Benchmark)对于衡量特定操作的性能是有帮助的,但是当我们试图让程序跑的更快的时候,我们通常并不知道从哪里开始优化。每个码农都应该知道Donald Knuth在1974年的“Structured Programming with go to Statements”上所说的格言。虽然经常被解读为不重视性能的意思,但是从原文我们可以看到不同的含义: 毫无疑问,对效率的

  • 以下各节的脚本展示了如何通过监控函数调用来剖析(profile)内核活动。 统计函数调用次数 本节展示如何统计30秒内某个内核函数调用次数。通过使用通配符,你可以用这个脚本同时统计多个内核函数。 functioncallcount.stp #! /usr/bin/env stap # The following line command will probe all the functions #

  • 到目前为止,我们只是载入文档,然后再输出它。 现在看看更让我们感兴趣的剖析树: Beautiful Soup剖析一个文档后生成的数据结构。 剖析对象 (BeautifulSoup或 BeautifulStoneSoup的实例)是深层嵌套(deeply-nested), 精心构思的(well-connected)的数据结构,可以与XML和HTML结构相互协调。 剖析对象包括2个其他类型的对象,Tag

  • 如果你从源码编译时启用了 oprofile ,那就可以剖析 Ceph 的 CPU 使用情况,详情见安装 Oprofile 。 初始化 oprofile 你首次使用 oprofile 时要初始化,找到对应于当前运行内核的 vmlinux 映像: ls /boot sudo opcontrol --init sudo opcontrol --setup --vmlinux={path-to-image

  • 问题内容: 获取有关go程序的概要分析信息的最佳方法是什么?我见过对pprof的引用,但是与Go的其他领域相比,文档似乎很少。 问题答案: 看一下 命令。请注意,尽管名称如此,它适用于所有体系结构。 出于歧义的原因,它虽然安装为6prof,但也可以充当8prof和5prof。

  • 主要内容:剖析,使用Profiler类剖析SLF4J分发提供了,它包含用于分析,扩展日志记录,事件日志记录和使用java代理进行日志记录等功能的API。 剖析 有时,程序员想要测量一些属性,如使用内存,时间复杂度或使用有关程序的特定指令来测量程序的实际能力。关于程序的这种测量称为剖析。分析使用动态程序分析来进行此类测量。 SLF4J在包中提供了一个类,用于剖析目的。使用它,程序员可以找出执行长时间任务所需的时间。 使用Profiler类剖

  • Observable 的 subscribe 方法签名如下: stream.subscribe(fnValue, fnError, fnComplete) 下面所演示的是第一个参数 fnValue let stream$ = Rx.Observable.create((observer) => { observer.next(1) }); stream$.subscribe((data) =>