Есть ли возможность ограничить скорость загрузки в Xsendfile?
Я хочу сделать ограничение скорости & Предел подключения по Xsendfile
Перед Xsendfile In Force Download (fread ()) я устанавливаю ограничение скорости следующим кодом:
if ($speed > 0 && ($this->bandwidth > $speed*$packet*1024))
{
sleep(1);
$packet++;
}
но в Xsendfile я не могу управлять скоростью таким образом!
Также я смог активировать или деактивировать резюме по заголовку Accept-Ranges, но я не могу сделать это в xsendfile to!
X-Sendfile разгружает передачу данных в ядро Linux, которое отправляет данные из файла непосредственно в сеть. Это избавляет от необходимости копировать данные файла в память пространства пользователя и, следовательно, использует меньше ресурсов процессора. Поскольку данные не проходят через какой-либо процесс в пользовательском пространстве, их невозможно регулировать вручную.
Вы можете ограничить пропускную способность с помощью формирования трафика, но это вопрос конфигурации системы и, следовательно, здесь не по теме. Есть много вопросов о сбое сервера, например, https://serverfault.com/questions/174010/limit-network-bandwith-for-an-ip https://serverfault.com/questions/191560/how-can-i-do-traffic-shaping-in-linux-by-ip
Что касается диапазонов файлов, mod_xsendfile якобы уже позаботится об этом (см. «Преимущества»).
Других решений пока нет …