Welcome! Log In Create A New Profile

Advanced

Re: при изменении static файла nginx отдает мусор (BUG?)

Evgeniy Berdnikov
October 11, 2017 02:28PM
On Wed, Oct 11, 2017 at 12:56:49PM -0400, neomaq wrote:
> При изменении static файла nginx отдает мусор несколько секунд

Файл можно менять по-разному, т.е. разными последовательностями сисколов.
Есть атомарная замена через rename(2), есть другие варианты.

Редактор vi меняет не атомарно -- он сначала переименовывает старый файл,
добавляя к имени тильду (~), а потом открывает новый и пишет в него.
Здесь и файл можно получить битый (то есть с содержимым, не совпадающим
с результатом редактирования, так как файл пишется не мгновенно),
плюс есть промежуток времени, когда файла с нужным именем в каталоге
просто нет, т.е. клиент может получить статус-код 404.

> по http заголовкам видно, что первые 5-15 секунд скачет вперед-назад во
> времени заголовок "Last-Modified"
> и "Content-length" и "Etag"

Здесь разные процессы выдают результаты кэширования в разные моменты времени.

> при 300-500 rps клиенты успевают нахватать некорректных js/css файлов, что
> ломает отображение сайта во время деплоя

А здесь, наверное, смешаны два разных вопроса:
1. Ваш ролик демонстрирует небитые файлы, но из-за кэшировния процессы
nginx выдают разные их версии.
2. Если выдача разных версий js/css ломает изображение, значит, эти
версии не соответствуют содержимому других элементов страницы, в том
числе коду других js/css, которые подгружает страница.

Чтобы файл выдавался небитым, его нужно заменять атомарно.

Чтобы страница не ломалась, нужно, чтобы все её элементы были нужной
версии. То есть требуется транзакционность деплоя, а не просто
атомарность замены отдельных файлов.
--
Eugene Berdnikov
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

при изменении static файла nginx отдает мусор (BUG?)

neomaq October 11, 2017 12:56PM

Re: при изменении static файла nginx отдает мусор (BUG?)

Maxim Dounin October 11, 2017 01:54PM

Re: при изменении static файла nginx отдает мусор (BUG?)

Валентин Бартенев October 11, 2017 01:56PM

Re: при изменении static файла nginx отдает мусор (BUG?)

Evgeniy Berdnikov October 11, 2017 02:28PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 313
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready