大量的jQuery ajax请求在几次

时间:2012-10-06 15:44:31

标签: apache jquery nginx

我正在寻找使用jQuery ajax威胁大量请求的最佳实践。基本上我有这种情况:

var req = 0;
var p; // global scope
function getServerLoad() {
    p = $.ajax({
        url: 'system/sysload/get-server-load/'+req,
        method: 'get',
        dataType: 'json',
        timeout: 1000,
        success:  function(r) {
            if (r.success) {
                // print server loads
            } else {
                // abnormal situation
            }
        },
        error: function() {
            // http error or timeout action
            p.abort();
        }    
    });
    req++;
}

在我的Firefox 15中查看Browserscope我最多可以连接17个连接,每个主机名只能连接6个连接。

在这种情况下,我尝试了一种解决方案:在DNS上创建一个通配符CNAME并将r [1 ... 999999] .mydomain.com指向www.mydomain.com,但Firefox不允许连接到子域。我认为会像XSS一样受到威胁。

我有另一个想法分析Google Suggest和这篇文章(葡萄牙语)。

http://danilow.wordpress.com/2009/05/28/google-suggest-nao-e-ajax/

在简历中,在Google Suggest的第一版中,它不使用Ajax。它通过创建和替换动态<script>元素来获取请求 - 它是一个智能解决方案,因为一些旧的浏览器不支持XmlHttpRequest组件,并且通过在用户键入下替换旧请求,搜索项将只有1(一个)并发搜索请求 - 这是因为每个新的onkeyup事件都会覆盖最后一个请求。

顺便说一句......我在stackoverflow中看到了类似的问题,但特别是在Linux / PHP / Apache&lt;&lt; - 反向代理 - &gt;&gt; nginx的环境中,有人有一个很好的解决方案吗? / p> PS:抱歉英语不好。

提前致谢!

1 个答案:

答案 0 :(得分:0)

最后,我找到了一个创建DNS wilcard的解决方案,例如* .myappdomain.com

在跨域使用JOSNP进行ajax,就像一个魅力。