nginx中文文档-ngx_http_split_clients_module

ngx_http_split_clients_module模块创建用于进行A/B测试的变量,也叫做拆分测试。

示例配置

http {
    split_clients "${remote_addr}AAA" $variant {
                   0.5%               .one;
                   2.0%               .two;
                   *                  "";
    }

    server {
        location / {
            index index${variant}.html;

split_clients

语法:split_clients string $variable { … }
默认:—
上下文:http

为A/B测试创建变量,例如:

split_clients "${remote_addr}AAA" $variant {
               0.5%               .one;
               2.0%               .two;
               *                  "";
}

原始字符串通过MurmurHash2算法进行哈希。给出的例子中,哈希值从0到21474835(0.5%)对应的$variant值为“.one”,哈希值从21474836到107374180(2%)对应的$variant值为“.two”,哈希值从107374181到4294967295对应的$variant值为“”(空字符串)。

nginx中文文档-ngx_http_spdy_module

此页面版本:2016-06-08
ngx_http_spdy_module模块提供实验性的SPDY协议支持。目前实现的是SPDY 3.1草案,在1.5.10版本前实现的是SPDY 2草案。

该模块默认不会构建,需要通过–with-http_spdy_module配置参数启用。
该模块在1.9.5版本被ngx_http_v2_module模块取代。

已知问题

该模块是实验性的。
目前实现的SPDY协议不支持“服务器推送”。
在1.5.9版本之前,SPDY连接的响应不能够限速。
客户端请求体缓冲区不能禁用,不管proxy_request_buffering, fastcgi_request_buffering, uwsgi_request_buffering, 和 scgi_request_buffering指令的值。

示例配置

server {
    listen 443 ssl spdy;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
    ...
}

注意,为了同时在同一个端口接受HTTPS和SPDY连接,OpenSSL库需要支持“Next Protocol Negotiation”TLS扩展。从OpenSSL1.0.1版本可用。

spdy_chunk_size

语法:spdy_chunk_size size
默认:spdy_chunk_size 8k
上下文:http, server, location
版本:1.5.9+

设置响应体被分隔的最大块大小。过低的值会导致更高的消耗。过高的值由于HOL blocking影响性能。

spdy_headers_comp

语法:spdy_headers_comp level
默认:spdy_headers_comp 0
上下文:http, server

设置响应头的压缩等级,范围从1(最快,压缩最低)到9(最慢,压缩最好)。特殊值0禁用头部压缩。

内嵌变量
ngx_http_spdy_module模块支持下面的内嵌变量:


$spdy
SPDY连接的SPDY协议版本,或空字符串。


$spdy_request_priority
SPDY连接的请求优先级,或空字符串。