| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Контроль процесса скачивания файла |
| Автор: sneJok 30.3.2011, 17:12 |
| Всем привет! Такая задачка: Сделать контроль учета числа пользователей, которые сейчас скачивают файлы с сервера (свой сервер). При этом так, чтобы этот контроль как можно меньше влиял на скорость работы самого сервера на которо находятся файлы. Сервер: HTTP (Apache2 посл. версия) Есть возможность: Установить какой-либо другой сервер, ориентированный на скачку по HTTP, если это будет разумно. Возможно кто-то сталкивался и знает в какую сторону плыть, либо есть какие-либо идеи по этому поводу - был бы очень рад послушать! Заранее благодарю! |
| Автор: sneJok 30.3.2011, 17:46 |
| Самому пока пришла только одна мысль: Сделать приложение, которое бы перенаправляло подключение к серверу с файлами. Иначе в звено: пользователь - сервер, внедрить промежуточное звено. Тем самым там можно подсчитать число подключений в данный момент. Но как-то мне кажется это не совсем целесообразно... |
| Автор: skyboy 30.3.2011, 19:13 |
| чтоб ограничить общее количество скачиваний? можно файрволом резать, если есть признаки, по которым возможно отсеять(заголовок, путь и т.д) или для ведения статистики? тогда поставить модуль механизма X-SendFile. Но это будет количество запрошенных файлов, а не текущих скачиваний. или для чего? |
| Автор: sneJok 30.3.2011, 19:49 |
| Для вывода статистики: Сколько сейчас человек качают файлы с сервера. |
| Автор: skyboy 30.3.2011, 22:11 |
| если человек начал качать, а потом поставил на паузу? а если у человека комп вырубился? как отличать несколько закачек одного и того же файла через один шлюз(в смысле ip одинаковый) от двух потоков на одного клиента? предлагаю использовать X-SendFile + через некоторое время после начала закачки считать файл закачанным. то есть логика такова: при каждом обращении перед собственно загрузкой записываем время начала. для вывода количества выбираем те записи, у которых время начала закачки от текущего отличаются на время, меньшее установленного. |
| Автор: sneJok 31.3.2011, 20:33 | ||
skyboy,
Не совсем подходит, нужно как можно точнее определить - сколько сейчас человек качают и сколько поток (про потоки не обязательно, если не ошибаюсь - в Apache можно варьировать это значение). Данная статистика в дальнейшем нужна для того, чтобы ограничивать доступ к файлам сервера, пока их не скачают другие. (иначе говоря - выставить определенное число возможных скачек одновременно) Endeveit, оо это интересно. Ни разу не пользовался nginx, но если надо - буду пробовать. А для Апачи есть что-нибудь подобное? ЗЫ. Еще такой минивопрос: возможно есть еще какие-либо технологии, которые позволяют увеличить скорость скачки с Http? Например использование какого-нибудь спец. ПО, вместо того же Апачи? |
| Автор: sneJok 5.4.2011, 18:41 |
| Эх. Придётся разбираться с nginx. |