Задать вопрос
  • Как разделить передаваемые программе аргументы в баш-скрипте?

    @catquistador Автор вопроса
    Не поможет( первым делом на ум пришло
  • Как запустить Minio на 3 нодах?

    @catquistador Автор вопроса
    Vitaly Karasik, aws в тегах по ошибке. редактор требовал указать минимум 1 существующий тег, а ничего более подходящего я не нашёл. запускается на VM вне AWS. извиняюсь за введение в заблуждение :)
  • Почему некорректно считается req_limit?

    @catquistador Автор вопроса
    Lynn «Кофеман», тогда, возможно, я снова чего-то не понимаю
    сейчас выставил конфигурацию:
    limit_req_zone $binary_remote_addr zone=test:30m rate=300r/s;

    в локейшене
    limit_req zone=test burst=50 nodelay;
    proxy_pass http://localhost:8080/;

    на прокси-пассе висит заглушка, с рандомным слипом 200-400мс

    для теста сменил инструментарий на siege как субъективно более гибкий siege
    siege localhost/test -d1 -r150 -c250 -v

    Transactions: 2604
    hitsAvailability: 71.76 %
    Elapsed time: 10.66 secs
    Data transferred: 0.49 MB
    Response time: 0.27 secs
    Transaction rate: 244.28 trans/sec
    Throughput: 0.05 MB/sec
    Concurrency: 65.27
    Successful transactions: 2604
    Failed transactions: 1025


    с увеличением лимита до 400 rps availability поднимается до 98.40 %, но выглядит так, что и на 300 он не должен был упираться с реальным rps в 244.28 trans/sec....
    насколько я понимаю - основная проблема в том, что когда реквесты размазываются по тайм юниту равномерно - мы укладываемся в лимит, но как только пачка реквестов накладывается друг на друга - привет протекший траффик и увеличение burst...
    // извиняюсь, если я снова за своё, но пока полноценно концепт в голове не сложился
  • Почему некорректно считается req_limit?

    @catquistador Автор вопроса
    btw, а строчка в логе
    limiting requests, excess: 501.000 by zone "test"

    (rate limit 1K/s burst - 500) показывает ограничение гранулярно в размере текущего "окна"? // иначе, опять-же, не понятно, почему 501
  • Почему некорректно считается req_limit?

    @catquistador Автор вопроса
    Lynn «Кофеман», это обычная бомбардировка несвязанными пользователями. нету всплесков. чисто фоновая активность и прогнозировать её нельзя. можно считать пост-фактум.
    мой пойнт в чём: получается, что к реальному миру намного лучше приспособлен ключ "burst", который напрямую мапится на пользовательские коннекты. а rate, при внешней простоте, под капотом прячет непрозрачную с наскока логику и математику рассчёта.
    на данный момент для себя я это вижу так: единственный вариант его настроить - включить dry-run и rate подтягивать до тех пор, пока в логе не пропадут соответствующие записи, а потом докинуть бёрста в зависимости от критичности локейшена.
    Спасибо!
  • Почему некорректно считается req_limit?

    @catquistador Автор вопроса
    Спасибо!
    IMO, в документации везде используется непрозрачная формулировка
    used to limit the request processing rate per a defined key.

    Про гранулярность и токены можно почитать нормально только в блоге на nginx.org...
    установка burst в 500 ожидаемо вопрос решила
    ab -n 5000 -c 510
    Complete requests: 5000 
    Failed requests: 5

    Но остаётся ещё непонимание: как эмпирически выставлять rate-лимиты кроме как "прощупыванием" на живой конфигурации?
    если я точно знаю, что 600 r/s бэк держит нормально, но на 800 начинает троттлить, то как тут пропустить ~600 (+/- 100 через burst) RPS через настройку rate limit, а не burst?
  • Как ускорить sshfs?

    @catquistador Автор вопроса
    Благодарю!
    Я понимаю, что есть просадки на шифрование и т.п, просто не ожидал, что это так драматично скажется на скорости банального ПРОСМОТРА каталога на 20 файлов при гигабитном соединении...
    компрессия и т.п это уже я включал-отключал, пытаясь добиться изменения поведения. откровенно вообще не влияет опция
    Можете посоветовать альтернативу?
  • Как решить ошибку "Строковая функция strlen работает некорректно"?

    @catquistador Автор вопроса
    в общем по совету с соседней ветки обсуждения решилось настройкой мастер-значения в php.ini. правда теперь аффектит остальные vhostы, но это уже совсем другая история.
  • Как решить ошибку "Строковая функция strlen работает некорректно"?

    @catquistador Автор вопроса
    Алексей это вообще улёт. Действительно помогло. 10/10, я считаю. крайне "очевидное" решение :) а есть мысли как это работает? мне казалось всегда, что если локальное значение для vhost и глобальное для всего скоупа и они равнозначны. просто частное переорпделяет общее. а тут магия...
  • Хороший хостинг ~4cpu 8+ram?

    @catquistador Автор вопроса
    а есть опыт? просто тарифный план за 15 евро (4/16/160) меня устраивает вполне, но это шаредцпу и вопрос по производительностии большой... как только я выбираю "dedicated CPU" картина сразу становится очень не весёлой (2/8/80 за 20 евро)
  • Что использовать для монтирования YandexDisk/WebDAV под Linux с шифрованием?

    @catquistador Автор вопроса
    Кстати, немного некропостинга:
    Я связался с саппортом яндекса и официальный ответ: храните зашифрованное сколько вашей душе угодно.
  • Что использовать для монтирования YandexDisk/WebDAV под Linux с шифрованием?

    @catquistador Автор вопроса
    внезапно обнаружил, что у меня там уже и так лежит года 3 архив шифрованных duplicacy файлов. Но вообще заставляет задуматься. Пожалуй, действительно не самый лучший выбор, если они официально запрещают подобное. Сейчас всё ок, но не хочется спустя пару лет обнаружить, что залитый архив удалён по ToS
  • Что использовать для монтирования YandexDisk/WebDAV под Linux с шифрованием?

    @catquistador Автор вопроса
    а как будет себя вести блочное устройство, смонтированное по WebDAV?) не упрусь я в постоянную дозагрузку при обращении к случайным областям? интересует именно большой объём и на 200-300Гб я не уверен, что это прокатит