<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">День добрый, может кто сталкивался с проблемой закачки файлов с бэкенда параллельно в несколько потоков.</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Есть мелкий конфиг ниже.</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Клиенты приходят с запросами ренжовыми и обычными, если файл отсутствует в кеше он начинает качаться с бэкенда, но качается во столько нитей сколько клиентов запросило файл. В итоге трафик на бэкенде растет в прогрессии и все закономерно встает через пару минут.</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">применили:</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">proxy_cache_lock on;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">и</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">proxy_cache_use_stale updating;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">но ситуация не изменилась, все равно качается в множество нитей</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Почистили полностью машину от временных файлов (temp файлы закачки находятся в кеше use_temp_path=off).</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Запустили трафик, буквально через 10 секунд прошелся по кешу в поиске временных файлов, чтобы посмотреть их KEY в заголовке, видим что одновременно создались и качаются 177 временных файлов для одного по сути файла:</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">[root@upload-3 cache]# find -L ./ -type f -iname '*\.[0-9]*' | xargs head -n2 | grep -a ^KEY | sort | uniq -c</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    177 KEY: /ct/patches/wop_1.9.77.310044_ct/wop.ct_1.9.77.310044.pkg.001</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">самы файлы выглядят как:</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">...</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">205168640</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000253</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">209281024</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000254</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">286048256</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000255</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">671723520</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000257</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">217743360</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000258</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">239915008</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000259</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">-rw------- 1 nginx nginx  </span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">635768832</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""> Jun  6 13:15 ./wop/1f/51/006afe023b4083e</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">96128680</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">af13b511f.</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">0000000261</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">....</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">версия nginx-1.13.1</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">конфиг:</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">proxy_cache_path /var/lib/nginx/cache/wop  levels=2:2 keys_zone=wop:20m inactive=2d use_temp_path=off;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">server {</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    listen 80;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    listen [::]:80;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    server_name <a href="http://dl-share.wop.net/" class="">dl-share.wop.net</a>;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    proxy_cache wop;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    proxy_ignore_client_abort on;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    location / {</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_pass </span><a href="http://dl.wop.net/" data-vdir-href="https://mail.yandex.com/re.jsx?uid=25077923&c=LIZA&cv=13.0.453&mid=162411061562368247&h=a,bgc8bL-ckHlPqFCNAb-h3w&l=aHR0cDovL2RsLndvcC5uZXQv" data-orig-href="http://dl.wop.net/" class="daria-goto-anchor" target="_blank" rel="noopener noreferrer" style="color: rgb(153, 0, 153); font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">http://dl.wop.net</a><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_set_header Host       $proxy_host;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_lock on;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_lock_age 1d;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_lock_timeout 1d;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_use_stale error updating;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_key "$uri";</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_revalidate on;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_valid 404 10s;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">        proxy_cache_valid 200 1h;</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">    }</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">}</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">запросы с которыми идут пользователи:</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">"195.242.151.17" "-" "-" "[06/Jun/2017:13:03:28 +0000]" "GET /ct/patches/wop_1.9.77.310044_ct/wop.ct_1.9.77.310044.pkg.001 HTTP/1.1" "206" "0" "-" "wdsa::Torrents/1.1 libtorrent/1.1.3.0" "0" "-" "http" "<a href="http://dl-share.wop.net/" class="">dl-share.wop.net</a>" "81.114" "81.114" "235" "bytes=</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">1744977920-1745043455</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">" "[gn]" "MISS" "</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">42008576</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">" "91.213.124.60:80" "0" "0" "-" "-"</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">"195.242.151.17" "-" "-" "[06/Jun/2017:13:03:26 +0000]" "GET /ct/patches/wop_1.9.77.310044_ct/wop.ct_1.9.77.310044.pkg.001 HTTP/1.1" "206" "0" "-" "wdsa::Torrents/1.1 libtorrent/1.1.3.0" "0" "-" "http" "<a href="http://dl-share.wop.net/" class="">dl-share.wop.net</a>" "121.167" "121.167" "235" "bytes=</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">2059403264-2059468799</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">" "[gn]" "MISS" "</span><span class="wmi-callto" style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;">42008576</span><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">" "91.213.124.60:80" "0" "0" "-" "-"</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""><span style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">Ткните пожалуйста в документацию где я не дочитал, что вообще происходит?..</span><br style="font-family: Arial, sans-serif; font-size: 15px; white-space: pre-wrap;" class=""></div></body></html>