sims
Guest
Ограничение скорости download'a
Нужно ограничить скорость download'a файла
(не всем, определённым пользователям)
я так понимаю средствами PHP всё равно большой точности в скорости не добиться, нужно хотя бы "зарубить" сумасшедшую скорость, сделать этому пользователю в раёне 40 кб, этому в раёне 10-20.
Надеялся использовать для этого usleep:
но какую задержку я не ставил - результат один - скорость около 20-30 килобайт.
Оговорюсь что ОС - Солярис, не win, где эта функция не работает.
пробовал вставлять на место usleep пустой цикл - вроде как работает, но цикл - это нагрузка на процессор, тоесть не подходит, так как качать будут много.
в комментариях к usleep нашел функцию
идея как бы хорошая, но результат тот же что и с usleep, тоесть, скорость одна и та же при изменении параметра.
Может, поможете советом, как ещё можно ограничить скорость закачки?
Знаю, что можно как-то ограничить трафик с помощью mod_throttle, но, если честно - я не понял как это можно использовать в моём случае мне нужно ограничивать скорость не для определённого IP, а для определённого логина...
Буду благодарен за совет.
Нужно ограничить скорость download'a файла
(не всем, определённым пользователям)
я так понимаю средствами PHP всё равно большой точности в скорости не добиться, нужно хотя бы "зарубить" сумасшедшую скорость, сделать этому пользователю в раёне 40 кб, этому в раёне 10-20.
Надеялся использовать для этого usleep:
PHP:
while (!feof ($fd)) {
usleep(10);
echo fread($fd, 100);
}
Оговорюсь что ОС - Солярис, не win, где эта функция не работает.
пробовал вставлять на место usleep пустой цикл - вроде как работает, но цикл - это нагрузка на процессор, тоесть не подходит, так как качать будут много.
в комментариях к usleep нашел функцию
PHP:
function microdelay($delay) {
$UNUSED_PORT=31238; //make sure this port isn't being used on your server
@fsockopen("tcp://localhost",$UNUSED_PORT,$errno,$errstr,$delay);
}
Может, поможете советом, как ещё можно ограничить скорость закачки?
Знаю, что можно как-то ограничить трафик с помощью mod_throttle, но, если честно - я не понял как это можно использовать в моём случае мне нужно ограничивать скорость не для определённого IP, а для определённого логина...
Буду благодарен за совет.