Видео ролики бесплатно онлайн

Смотреть русское с разговорами видео

Официальный сайт detisavve 24/7/365

Смотреть видео бесплатно

solomenikm 29.03.2011 14:26

Есть проблема![не решена, но купирована] nginx, отдача статики.

Есть проблема с отдачей статики. Суть проблемы в том что иногда статика грузится не полностью. Побробное описание под катом.

Если в реальном времени смотреть на загрузку картинки (предположим что она весит 100кб) файрбагом, то происходит следующее: загружается 30 кб, загруженная часть отображается в браузере, небольшая пауза (меньше секунды) и загружается оставшаяся часть картинки со статусом 200, но в браузере не обновляется. Если открыть картинку в новом окне, то загрузится та же часть но уже со статусом 206. При обновлении страницы догружается до конца. Проблема особенно часто вылазит при низкой скорости подключения.

Конфиг после попыток что-то с этой проблемой сделать:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=anonymous:50m inactive=7d max_size=200m;
proxy_temp_path /var/tmp/nginx 1 2;
proxy_cache_valid any 5m;

client_body_buffer_size 512K;
client_header_buffer_size 512k;
client_max_body_size 100M;
client_body_timeout 100s;
client_header_timeout 100s;

large_client_header_buffers 20 512k;

keepalive_timeout 100s;
send_timeout 300s;
output_buffers 1 512k;
postpone_output 1460;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

gzip on;
gzip_static on;
gzip_http_version 1.0;
gzip_min_length 100;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "msie6";
gzip_comp_level 7;
gzip_vary on;


limit_req_zone $binary_remote_addr zone=slimits:5m rate=300r/s ;
....
server {
.....
location @nocached {
proxy_pass http://127.0.0.1:8080;
proxy_redirect default;
proxy_pass_header Cookie;
proxy_pass_header Set-Cookie;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
....
location ~* ^.+\.(jpg|jpeg|png|gif|ico|zip|gz|rar|flv|wmv|avi|mpeg|mpg|mp3|mov|htc|swf|ttf|eot|woff|svg)$ {
limit_req zone=slimits burst=25;
expires max;
try_files $uri $uri/ @nocached;
}
}
}



Может кто-то сталкивался с такой проблемой? С чем она вообще может быть связана?


Тэги:
+ 1 -
Похожие Поделиться

neol 29.03.2011 16:15 #
+ 0 -
Спросите лучше в рассылке nginx - http://sysoev.ru/nginx/support.html
solomenikm 29.03.2011 16:44 #
+ 0 -
Спрашивал, никто не отвечает.
svolik 29.03.2011 18:49 #
+ 0 -
sendfile отключать пробовал?

и вопрос не по теме:
limit_req_zone $binary_remote_addr zone=slimits:5m rate=300r/s ;
а почему 300?
solomenikm 29.03.2011 19:09 #
+ 0 -
Пробовал, не помогло. rate был 30, но в попытка избавиться от проболемы поставил 300.
Net-burst 29.03.2011 19:19 #
+ 1 -
Попробуй закомментировать все строки конфига, кроме локейшенов и посмотреть будет ли проблема. Потом поблочно включай настройки и смотри после чего проблема снова появился. Может проблема и не в настройках nginx.
solomenikm 29.03.2011 19:22 #
+ 0 -
Вариант, а какие на кого еще можно грешить? Кто может не нормально отдавать статику?
Net-burst 29.03.2011 19:25 #
+ 1 -
В голову приходит только фаерволл. Но таки в первую очередь попробуй убрать лишние настройки в nginx'е. 90% что пробелма в конфиге.
А еще попробуй посмотреть как грузится картинка с другого браузера и с другого компъютера. Может пробелма и не в серваке вообще :)
solomenikm 29.03.2011 19:50 #
+ 0 -
Смотрел, проблема есть, особенно видна при низкой скорости подключения пользователя (смотрел на компе 3g модемом).
svolik 29.03.2011 20:00 #
+ 0 -
а если апач напрямую дергать - отдает нормально?
cppmm 29.03.2011 21:50 #
+ 0 -
Для чего использована try_files? Почему простое обращение к директории не устроило?
Зачем установлены лимиты для обращения к апачу?

Есть ещё много зачемов в этом конфиге, но эти два самые интересные.
solomenikm 30.03.2011 01:47 #
+ 0 -
try_files нужен чтоб отдавать динамически генерируемые картинки, а лимит там действительно лишний. А с лимитом ошибся т.к. собирал конфиг из файлов и случайно вклеил, сейчас уберу.
Кстати, может быть Вы мне объяните чем "try_files $uri $uri/ @nocached;" отличается от "error_page 404 = @nocached;".
cppmm 30.03.2011 05:05 #
+ 1 -
В первом случае nginx сначала ищет статику в $uri и $uri/, а только потом уже отсылает к @nocached. Во втором случае он сразу же, если не найдено, отсылает в @nocached. Например, это полезно, на проксируемом сайте для создания иконок предпросмотра используется php'шный ImageCache. Совсем недавно я писал об этом здесь.
solomenikm 30.03.2011 19:51 #
+ 0 -
Да, для этого и использую. Оставил error_page т.к. искать в $uri/ смысла нет. Спасибо за разъяснение.
solomenikm 30.03.2011 01:51 #
+ -1 -
А еще такой момент. В логах ошибок nginx вижу вот что:
"›????????›???????????????????????????????????????????????‰????????..." Что бы это могло значить?
albibek 30.03.2011 10:12 #
+ -1 -
Может просто баг в нгинксе? Версия новая?
Zend 30.03.2011 13:40 #
+ 0 -
nginx — это HTTP-сервер и почтовый прокси-сервер. Я начал разрабатывать nginx весной 2002 года, а осенью 2004 года вышел первый публично доступный релиз. В декабре 2009 года nginx использовался на 4% самых посещаемых сайтов в мире.

Источник http://sysoev.ru/nginx/


engine x
engine X
engine X!!!1111
solomenikm 30.03.2011 19:52 #
+ -4 -
че?
Zend 30.03.2011 20:35 #
+ 0 -
Не нгинкс, а Энжэн Икс.
Не Люникс, Линекс, Лайнекс, а Линукс (я не шучу можете погуглить).
Не Апачи, а Апач.
...
Как-то так.
solomenikm 31.03.2011 05:26 #
+ -4 -
nginx (англ. engine x) (по-русски произносится как э?нджин-э?кс) наверное все-таки как-то вот так.
inst 31.03.2011 14:40 #
+ 0 -
И вот уже Вам и самому стала похуй изначальная проблема.
vkotovv 30.03.2011 22:58 #
+ 0 -
А почему бы так и не назвать проект? Сделали малопонятное сокращение, теперь все путаются. Я вот про правильное произношение узнал, только когда неправильно приучился говорить
Astramak 30.03.2011 16:02 #
+ 1 -
Ну тут как бы самый верный способ для начала - сбросить конфиг в деф и потихоньку пилить, потому что на глаз куча всего ненужного и непонятного лезет, например
solomenikm 30.03.2011 19:49 #
+ 0 -
Короче, закомментил все настройки кроме гзипа, кэширования и лимитов. Вроде полет нормальный. Буду смотреть на поведение и потихоньку убирать комменты, посмотрим что выйдет.
solomenikm 30.03.2011 19:56 #
+ 0 -
Update. Кэширования в статике нет, поэтому и в код конфига его не включал.

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн