furry19

Рейтинг
44
Регистрация
09.12.2019
LEOnidUKG:
И зачем сжимать код, если и так nginx налету будет сжимать эти JS файлы.

https://google.gik-team.com/?q=ngx_http_gzip_static_module

https://habr.com/ru/post/99256/

LEOnidUKG:
Если таймаут то и считать он не будет.

Прежде, чем что-то утверждать, нужно проверить самому, не? Я вот проверил, почему-то всё считается.

У меня отлично работает такая схема:

1) Отключить вебвизор.

2) Весь код метрики запихиваем в setTimeout с не очень большим временем, например, 300 мс. Точный таймаут подбирается опытным путем с помощью webpagetest.

3) Добавить в шапку <link href="https://cdn.jsdelivr.net" rel="dns-prefetch">.

4) Если не устраивает загрузка по таймауту, то watch.js храним у себя на сервере, грузим с того же хоста, что и всё остальное. Никакие cdn'ы и шардирования ненужны, когда сейчас есть HTTP/2. JS обновляем раз в сутки по крону:

30 2 * * * php /var/www/ПУТЬ_К_САЙТУ/metrika_update.php >> /var/log/metrika_update.log

Код скрипта обновления примерно такой:


<?php
$c = file_get_contents('https://cdn.jsdelivr.net/npm/yandex-metrica-watch/watch.js');
$tmp_fn = __DIR__ . '/tmp/yandex-metrica' . time() . '.tmp';
$tmp_gz_fn = $tmp_fn . '.gz';
$js_fn = __DIR__ . '/js/yandex-metrica/watch.js';
$js_gz_fn = $js_fn . '.gz';
file_put_contents($tmp_fn, $c);
if(file_exists($tmp_fn)){
if(filesize($tmp_fn) > 50000){
exec('gzip -k9 ' . $tmp_fn);
if(file_exists($tmp_gz_fn)){
unlink($js_fn);
unlink($js_gz_fn);
rename($tmp_fn, $js_fn);
rename($tmp_gz_fn, $js_gz_fn);
} else die("Can't gzip the file " . $tmp_fn . "!");
} else die("The downloaded file " . $tmp_fn . " is truncated (" . filesize($tmp_fn) . "bytes)!");
} else die("Can't download the file!");

Предполагается, что в php.ini включена функция exec, и у вас VPS/дедик с Debian/Ubuntu.

Aisamiery:
мне лично нравится селектел, там облако конфигурируемое, если нужно подешевле виртуалки, то у них есть проект vscale, если нужны сервера по дешевле то chipcore.

Угу, с 5 Тб/мес. трафика теперь. Для файлопомоек хостинг в РФ найти скоро станет невыполнимой задачей.

cblcg:

В любом случае переход на https необходим, непонимаю в чем столько недовольства с переводом. Все давно известно и сайты нормально переклеиваются без последствий для трафика.

Действительно, чем я должен быть недоволен? Было в среднем 16 тыс. кликов в будни, стало 13 тыс. Счастье-то какое!

Любой + реверс-прокси (тоже любой). Снаружи можно ещё прикрыть CF. Если вырубят прокси - берётся новая в другом ДЦ.

Лучше всего взять кучу серверов в разных странах и сравнить, у кого лучше каналы, да и надёжнее так. Бэкэнд прикрыть реверс-проксей. 🚬

hoolz:

В данный момент: я имею самый простой VPS на IpServer (трафик 1Gbps Premium (200Mbps guaranteed)) с установленным nginx.

Вот с этого и нужно начинать. У российских хостеров гарантированные 200Мбит стоят астрономических денег. Арендовал у этого IpServer дедик, тоже обещали "200Mbps guaranteed", а по факту - максимум 112 МБит/с. Поэтому перед покупкой обязательно нужно тестировать скорость, если отсутствует их сервер на спидтесте / looking glass - таких хостеров лучше избегать.

Могу порекомендовать: 1) Contabo 2) Worldstream.nl 3) Bacloud. Для регионов за Уралом подойдёт Selectel (хотя и не так выгодно как вышеперечисленные).

По хттп - нормально.

По хттпс - сильно увеличивается RTT, но это не только из РФ.

1 234
Всего: 38