Nginx 配置進行A\B測試

原文鏈接: 何曉東 博客

應用場景:電商活動,準備了A B兩套風格的促銷頁面,想讓一半人看到 A 頁面,另一半人看到 B 頁面,這樣來測試兩種的轉化成交效果。其他在大版本升級測試的時候,防止有bug,可以將小規模流量分發到最新代碼的服務器。

前置條件:nginx 需要安裝 ngx_http_split_clients_module 模塊,藉助這個模塊的 split_clients 指令完成分流,示例配置如:

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

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

以上的配置會將原始 ip 地址加上 AAA 使用 MurmurHash2 算法進行 hash,在此示例中,如果哈希值從 0 到 21474835(0.5%)對應於變量 $variant 的 ".one" 值, 哈希值從 21474836 到 107374180(2%)對應於值 ".two",哈希值從 107374181 到 4294967295 對應於值""(一個空字符串)。就這麼簡單就實現了分流到不同的頁面,之後可以統計這個不同頁面的轉化成交率。

© 原創文章,內容翻譯自 ngx_http_split_clients_module 文檔

一如既往推薦一些 付費課程,通過我的二維碼購買可以享受八折優惠。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章