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