《深入剖析Nginx》一1.5 测试辅助工具

1.5 测试辅助工具

深入剖析Nginx
我们将在第2章里介绍如何对Nginx进行跟踪与调试,除了对Nginx进程进行直接的跟踪与调试的工具以外,还会用到另外两个HTTP测试工具:wget1与curl2。关于这两个工具的差别,可以看这里3,要注意的主要是wget 1.12及以前的版本仅支持HTTP 1.0协议(虽然也包括部分HTTP 1.1的特性),所以在测试HTTP 1.1的相关特性时,最好使用wget-1.13以后版本或curl。另外,通过给wget加上--debug选项或给curl加上-v选项能看到它们请求的详细信息4,这对我们的测试提供的帮助也非常大。

我用到的其他测试辅助工具主要还有如下几个。

  • Wireshark5:抓包使用。
  • Nc6:网络工具中的瑞士军刀,短小精悍,功能强大7。
  • Firefox8:结合firebug9看HTTP请求响应内容。
  • Opera10:浏览器,测试HTTP。
  • Hexdump11:看十六进制数据。
时间: 2024-10-24 06:58:18

《深入剖析Nginx》一1.5 测试辅助工具的相关文章

《深入剖析Nginx》——1.5 测试辅助工具

1.5 测试辅助工具 我们将在第2章里介绍如何对Nginx进行跟踪与调试,除了对Nginx进程进行直接的跟踪与调试的工具以外,还会用到另外两个HTTP测试工具:wget与curl.关于这两个工具的差别,可以看这里,要注意的主要是wget 1.12及以前的版本仅支持HTTP 1.0协议(虽然也包括部分HTTP 1.1的特性),所以在测试HTTP 1.1的相关特性时,最好使用wget-1.13以后版本或curl.另外,通过给wget加上--debug选项或给curl加上-v选项能看到它们请求的详细信

测试人必备的5类测试辅助工具

阿基米德说:"给我一根杠杆和一个支点,我将撬起整个地球" -这就是工具的力量. 我们常常在DiggerPlus上分享各种性能测试工具,自动化测试工具,安全渗透测试工具等,但是我们今天要分享的这5款工具,对于测试人的日常工作来说也非常重要,而且也非常常用,重新提起他们,是因为他们很多时候被我们忽略了. 测试人必备的5类测试辅助工具 测试工具 下面,我们将罗列出这5类测试辅助工具,不要感到惊讶,确实,他们就在每一位测试人身边: 1. Excel 2. 截图工具 3. 打包/压缩解压缩工具

《深入剖析Nginx》一导读

前 言 深入剖析Nginx慕名对Nginx源码进行学习与研究是早在2008年的事情.当时正在为职业规划与未来发展困惑不已,一筹莫展之际不知从哪里得知高性能服务器是一个很有"前途"的努力方向,几经搜索又机缘偶合地得识Lighttpd与Nginx.在逐步了解和熟悉它们的源码后,我开始感到自己的无知与浅薄,发现原来代码也可以写得如此优雅. 我已编著过一本<Lighttpd源码分析>.先解析Lighttpd源码并没有什么特别的原因,只是因为在当时Lighttpd比Nginx要火,应

《深入剖析Nginx》——导读

前言 慕名对Nginx源码进行学习与研究是早在2008年的事情.当时正在为职业规划与未来发展困惑不已,一筹莫展之际不知从哪里得知高性能服务器是一个很有"前途"的努力方向,几经搜索又机缘偶合地得识Lighttpd与Nginx.在逐步了解和熟悉它们的源码后,我开始感到自己的无知与浅薄,发现原来代码也可以写得如此优雅. 我已编著过一本<Lighttpd源码分析>.先解析Lighttpd源码并没有什么特别的原因,只是因为在当时Lighttpd比Nginx要火,应用得也较广:而近几年

《深入剖析Nginx》一2.1 利用gdb调试

2.1 利用gdb调试 深入剖析Nginx gdb是Linux下调试程序的常用工具,任何Linux开发工程师初学程序调试时第一个接触到的工具应该就是gdb.关于gdb本身的详细用法,我们不多详述,读者可以参考gdb官网手册1,而在这里,我们将重点介绍一些与Nginx相关的注意点与调试技巧. 2.1.1 绑定Nginx到gdb 利用gdb调式Nginx,首先得在生成Nginx程序时把-g编译选项打开.当然,这并不是说不打开-g选项就无法用gdb调试它,只是会因为缺少相应的符号信息导致调试不便,而此

《深入剖析Nginx》一2.4 获得Nginx程序完整执行流程

2.4 获得Nginx程序完整执行流程 深入剖析Nginx 利用strace命令能帮助我们获取到Nginx在运行过程中所发起的所有系统调用,但是不能看到Nginx内部各个函数的调用情况.利用gdb调试Nginx能让我们很清晰地获得Nginx每一步的执行流程,但是单步调试毕竟是非常麻烦的,有没有更为方便的方法一次性获得Nginx程序执行的整个流程呢?答案是肯定的,而且方法还非常多1.虽然相比直接使用某些强大工具(如System Tap2)而言,下面要介绍的方法比较笨,但它的确可行,而且从这个过程中

《深入剖析Nginx》一2.3 利用strace/pstack调试Nginx

2.3 利用strace/pstack调试Nginx 深入剖析NginxLinux下有两个命令strace1和ltrace2可以分别用来查看一个应用程序在运行过程中所发起的系统函数调用和动态库函数调用,这对作为标准应用程序的Nginx自然同样可用.由于这两个命令大同小异,下面就仅以strace为例做简单介绍,大致了解一些它能帮助我们获取哪些有用的调试信息.关于strace/ltrace以及后面介绍的pstack更多的用法请参考对应的Man手册. 从strace的Man手册可以看到几个有用的选项.

《深入剖析Nginx》一2.6 特殊应用逻辑的调试

2.6 特殊应用逻辑的调试 深入剖析Nginx前面所讲的调试方法都是针对Nginx本身很容易跑到的逻辑,而对于某些只有在特定情况下才会被执行到的代码,又该怎样去调试呢?举个例子,我们知道Nginx里有大量的超时处理,比如,如果读取客户端请求头部数据超时,Nginx就将执行对应的超时处理函数,假设我想通过单步执行的方式来了解这部分相关逻辑,无疑就得让Nginx的执行逻辑走到这条路径上来.由于此时影响Nginx行为的决定因素是客户端所发送的请求头部数据,我们就必须在客户端做动作来构造出这种场景.一般

《深入剖析Nginx》一2.2 利用日志信息跟踪Nginx

2.2 利用日志信息跟踪Nginx 深入剖析Nginx 优秀的程序都会带有自己的日志输出接口,并且一般还会给出不同等级的输出级别,以便于重次信息的过滤,比如 Linux 内核的日志输出标准接口为 printk,并且给出了KERN_EMERG.KERN_ALERT.KERN_DEBUG等这样的输出等级.Nginx 与此类似,下面具体来看. 为了获取最丰富的日志信息,我们在进行configure配置时,需要把--with-debug选项加上,这样能生成一个名为NGX_DEBUG的宏,而在Nginx源