Re: Кэширование статики, которую генерирует бэкэнд
Anatoly Mikhailov
anatoly at sonru.com
Mon Jan 20 11:27:05 UTC 2014
On 20 Jan 2014, at 11:02, Igor Sysoev <igor at sysoev.ru> wrote:
> On Jan 20, 2014, at 14:52 , Anatoly Mikhailov wrote:
>
>> в нашем случае - локально настроенная Jira с 10 пользователями,
>> сомневаюсь, что приложение загнется при такой нагрузке.
>>
>> и все же, кто как кэширует статику, сгенерированную налету?
>
> http {
> proxy_cache_path /path/to/cache keys_zone=CACHE:20M;
> proxy_temp_path /path/to/temp;
>
> server {
> location /static/ {
> proxy_pass http://backend;
> proxy_cache CACHE;
> proxy_cache_valid 1h;
> }
> }
> }
Игорь, спасибо, проблема решена, но возможно не оптимальным образом:
proxy_cache_path /.../nginx/cache levels=1:2 keys_zone=STATIC:20M;
proxy_temp_path /.../nginx/tmp;
server {
listen 8000;
location /jira {
proxy_pass http://jira_upstream/jira;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_redirect off;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
location /jira/s/ {
proxy_pass http://jira_upstream/jira/s/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_redirect off;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
proxy_ignore_headers "Set-Cookie";
proxy_cache STATIC;
proxy_cache_valid 60m;
}
Анатолий
>
>
> --
> Igor Sysoev
>
>> Анатолий
>>
>> On 20 Jan 2014, at 10:35, Илья Шипицин <chipitsine at gmail.com> wrote:
>>
>>> у jira, teamcity узкое место - само приложение. оно начинает
>>> загибаться гораздо раньше, чем становятся заметны проблемы с отдачей
>>> статики.
>>> оптимизировать именно статику в данном случае - предпосылка непонятная
>>>
>>> 20 января 2014 г., 14:30 пользователь Anatoly Mikhaylov
>>> <anatoly at sonru.com> написал:
>>>> Вопрос не в количестве статики, а в том, что весьма неуклюже гонять http запросы за ее получением через Catalina.
>>>>
>>>> Http 1.1 с keep-alive, ConditionalGet для статики - это лишь попытка прикрыть глупость организации отдачи контента, который, во многих случаях, не меняется никогда. Одно дело - все эти украшения для статики, которую отдает Nginx напрямую с диска, но в данном случае все это отдается через бэкэнд. Так и остается загадкой зачем было сделанно именно так.
>>>>
>>>> Суть задачи не меняется, кэшировать статику (в случае с jira: location /s/) после первого обращения к ней. Proxy pass cache - копать в эту сторону?
>>>>
>>>> Анатолий
>>>>
>>>>> On Jan 20, 2014, at 5:05 AM, Илья Шипицин <chipitsine at gmail.com> wrote:
>>>>>
>>>>> teamcity очень мало статики отдает.
>>>>> для jira лучше настроить keepalive до бекенда
>>>>> а stash - это что именно ?
>>>>>
>>>>> 20 января 2014 г., 6:30 пользователь Anatoly Mikhaylov
>>>>> <anatoly at sonru.com> написал:
>>>>>> Добрый день,
>>>>>>
>>>>>> Есть несколько java-приложений (stash, jira, teamcity), в которых статика генерируется на ходу, файлов на диске с такими именами просто нет. Сейчас организовано элементарное проксирование proxy_pass и все работает, но медленно.
>>>>>>
>>>>>> Вопрос, как кэшировать ответы от бэкэнда (статику), чтобы это не препятствовало основному проксированию ответа бэкэнда?
>>>>>>
>>>>>> Анатолий
>>>>>> _______________________________________________
>>>>>> nginx-ru mailing list
>>>>>> nginx-ru at nginx.org
>>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>> _______________________________________________
>>>>> nginx-ru mailing list
>>>>> nginx-ru at nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>>>
>>>> _______________________________________________
>>>> nginx-ru mailing list
>>>> nginx-ru at nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru at nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20140120/293c8e29/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru