5
我有一個HTML5網絡應用程序的問題,我每兩秒鐘通過ajax查詢重複數據更新。前兩個或三個在175毫秒的時間內完成,但是在此之後,他們從那時開始減速到500毫秒。託管公司發誓,這不是他們。我做了一個簡單的測試 - 請參閱下面的測試腳本。這不是我的應用程序,因爲此測試腳本具有相同的結果。我的問題是:這是託管服務遏制認爲這是一個DDoS攻擊,或者有什麼我可以做的,以阻止這種限制,並放慢Ajax查詢?爲什麼Web服務器會限制ajax查詢--DDoS?
索引文件:
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
var count = 0;
var my_timer = setInterval(function(){
$.ajax({url: "test.php", success: function(result){
$("#div1").html(result);
}});
count = count + 1;
if(count == 10) clearInterval(my_timer);
},2000);
});
});
</script>
</head>
<body>
<div id="div1">Let jQuery AJAX Change This Text</div>
<br>
<button>Get External Content</button>
</body>
</html>
PHP文件:
<?php
echo date('h:i:s');
?>
大多數Web瀏覽器對併發請求的數量都會對同一站點運行的數量產生限制......每兩秒鐘頻繁出現一次,特別是如果它們需要一段時間來處理,最終可能會排隊通過瀏覽器 - 螢火蟲或鉻開發工具等工具會告訴你這個 –
你如何衡量「經歷」時間?我已經添加了[一些時機](http://stackoverflow.com/a/6341813/3340665)到JavaScript(從間隔函數的第一行開始,在成功處理程序中測量)並在我的服務器上測試腳本,但是它的平均在40ms。 (使用當前的Chrome進行測試。) – GhostGambler
那麼它們不是併發的,它們是串行的。同樣在測試腳本中,一行數據命令並不是很重。這個應用程序適用於我的另一個託管服務。這就是我針對託管公司的原因。但有沒有解決辦法? –