Ваш nginx на самом деле служит файлам на разумном уровне. От внешней машины я смог получить 371 запрос в секунду с ab
на одном из файлов CSS на той странице.
Вы тестируете целую страницу, что означает, что Вы выполняете 22 запроса на ней. Я смог обойти 40 запросов в секунду когда террасирование http://journal.streamlister.com/news/
.
Это могло, вероятно, быть быстрее, но Вы находитесь на VPS, где Вы совместно используете ЦП и диск ввод-вывод с другими.
Найденный им!
backend domain1 {
.host = "x1.y1.z1.w1";
.port = "81";
}
backend domain2 {
.host = "x2.y2.z2.w2";
.port = "81";
}
и переопределение sub vcl_recv {
с:
sub vcl_recv {
if ((server.ip == "x1.y1.z1.w1")) {
set req.backend = domain1;
} else if((server.ip == "x2.y2.z2.w2") || (req.http.host ~ "domain2.site.com")) {
set req.backend = domain2;
} else {
set req.backend = domain3;
}
if (req.request == "GET" && req.url ~ "\.(css|gif|jpg|jpeg|bmp|png|ico|img|tga|wmf)$") {
remove req.http.cookie;
return(lookup);
}
}
То, в чем я нуждался в сравнении, было server.ip переменной
Просто имейте в виду (я не сделал и заплатил за него), что теперь у Вас есть прокси-сервер перед Вами, PHP $_SERVER['REMOTE_ADDR']
; больше не действительно. Это возвращает адрес прокси (таким образом адрес веб-сайта). Необходимо будет использовать _SERVER["HTTP_X_FORWARDED_FOR"]
вместо этого или сделайте безошибочную функцию для проверки их всех:
function getIP()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}