- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Загрузка страниц обрывается и страница не загружается. Такое замечено только при отключенном gzip. Кто нибудь сталкивался с данной проблемой? в какую сторону копать?
конфиг nginx:
Возможно:
В примере конфига http://www.sysoev.ru/nginx/docs/example.html
одновременно указываются опции
tcp_nopush on;
tcp_nodelay on;
Однако же они по смыслу вроде взаимоисключающие (а про TCP_CORK в
мануале написано, что нельзя совмещать с TCP_NODELAY)? Или полезно и
то и то указывать?
Да, в Линкусе TCP_CORK (tcp_nopush) и TCP_NODELAY взаимоисключающие, но
nginx проявляет недюженный интеллект, пытаясь совместить преимущества
обеих опций.
"tcp_nopush on" полезно для sendfile(), он в этом случае выводит данные
полными пакетами. После того, как весь запрос обработан, TCP_CORK/TCP_NOPUSH
выключается, что приводит в сбросу последнего неполного пакета.
"tcp_nodelay on" полезно для keep-alive. nginx включает TCP_NODELAY только
по окончании запроса, после которого соединение переходит в состоянии
keep-alive. До этого nginx выводит данные вызовами writev() достаточно
большими порциями для заполнения пакета ("postpone_output 1460"), поэтому
данные должны уходить без задержек и TCP_NODELAY не нужен. А вот с последним
неполным пакетом может случится небольшая задержка, если соединение не
закрывается. Для этого и нужно включить TCP_NODELAY.
В Линуксе обработка этих двух опций
tcp_nopush on;
tcp_nodelay on;
такова:
1) если данные будут выводить комбинацией writev(заголовок)/sendfile(),
то проверяется, не было ли уже включен TCP_NODELAY. Если было, то
TCP_NODELAY выключается и включается TCP_CORK. По окончании передачи TCP_CORK
выключается. Включать TCP_NODELAY не нужно, так как выключание TCP_CORK
сбрасывает данные.
2) если при переходе в keep-alive TCP_CORK не была включена, то включается
TCP_NODELAY, чтобы сбросить неполный пакет.
Кстати, возможно, для "proxy_buffering off" имеет смысл включать TCP_NODELAY
до отдачи ответа.
А вообще советую глянуть тут и тут
Папка для временных файлов nginx'a записываема? Что в логах? Что если увеличить буферы?
Все дело было в правах. У папки fastcgi_temp и внутри лежащих файлов был владелец nobody (раньше у nginx был такой пользователь), изменил владельца папки и фалов на nginx и все заработало
Какая версия nginx у вас ?