Файлообменник | Венчурный Капиталист

Файлообменник


700a1e24

июня 18, 2021

| Распечатать запись Распечатать запись

Знание сила.

Сегодня расскажу о модуле файлообменник на моем стартапе jamber.info.

По традиции ничего особо не изучив мы приступили к написанию этого модуля, просто посмотрев на подобные сервисы решили, что не вопрос месяц и у нас будет не хуже, а даже лучше с крутыми фишками. Не тут то было.

Программная проблема: оказывается, что бы сделать прогресс бар при аплоаде, средств PHP и JavaScritp недостаточно, а программиста на Perl у меня нет, итого в срочном порядке берется сторонний скрипт и на нем один из программистов изучает Perl.

Также не забывайте контролировать свободное место на винтах. Если серверов несколько, то нужна система распределения нагрузки на них. Т.е. вести статистику и понимать для себя какие файлы наиболее востребованы и в горячем режиме тосовать их между серверами.

Удобство хранения и отображения файлов в вэб-интерфейсе. Вменяемый поиск как по своим файлам так и по всему файлообменнику.

Раздавать файлы только через скрипт, иначе из вашего ФО сделают бесплатное хранилище и вам даже заходов не будет.

Аппаратная проблема: На данный момент сервер у нас один (тссс.. только никому не говорите) , и при раздаче файлов более 300 пользователей без ограничения скорости он так залипал, что следующая скачка начиналась через пару минут.

Выход: ограничение скорости всем качающим до 512 кбит/сек дало прирост до 1000–1200 одновременных скачиваний. Следующий шаг, обязателный , вынос HTML части на отдельную машину, так как при частых запросах к базе данных и php файлам, страшно тормозиться работа винчестеров. При такой работе мелкие, но частые обращения к винтам просто не дают нормально раздавать файлы. В пиковые моменты ожидание винтов процессором доходило до 75%. Т.е. ни процессор, ни канал не удавалось загрузить на полною из-за ожидания винтов.

Так же сервера для раздачи файлов должны комплектоваться аппаратным рейдом, и никак иначе.

Хотелось реализовать таку фичу, как реальные прямые ссылки на файлы для пермиум пользователей. такие вещи нужны например, сайтам с он-лайн видео, но представте, что на таком сайте видео смотрят 300 человек и вся эта нагрузка падает на ваш сервер, сколько же тогда должен стоить премиум? будет ли он кому то нужен?

Итак, что бы самим Вам не натыкаться на такие проблемы:

  1. Читайте мой блог и не повторяйте ошибок, обязательно подпишитесь на RSS-канал.
  2. Внимательно изучить переводные статьи по организации крупных интернет проектов на блоге Ивана Блинкова.
  3. Следите за блогом разработчика одного из лучших файлообменников.

Да прибудут с вами знания и мой RSS-канал :)

Популярность: 7% [?]

Связанные записи

1 звезда2 звезды3 звезды4 звезды5 звезд (1 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...

Автор: Romses


, , , , ,

4 комментария к " Файлообменник"

Andrew написал:
19 июня 2021

Зачем для аплоада перл?

blog.liip.ch/archive/2006...for-php-5–2.html

или через APC.

Касательно раздачи через скрипт — советую посмотреть на blog.kovyrin.net/2006/11/...irect-php-rails/

главное в скриптах отдачи в базу не обращаться

или когда появился перл-программер то можно отдавать файлы используя для скрипта анлитича встроенный перл (тоже без баз итд), так выйдет быстрее всего.

Аппаратный рейд кстати тоже не нужен и лишь снижает скорость (не говоря уже о его стоимости). 8–16 320Гб винтов без рейда (вообще) — самое оно.

Александр написал:
19 июня 2021

Рома, спасибо за статью, особенно по поводу разгрузки серверов. Жду следующих статей :)

ps: антиспам у тебя зверь! Напиши где нить, чтоб перед отправкой поста люди его сохраняли в буфер, а то «Учите матчасть» :)

Romses написал:
19 июня 2021

:) Антиспам плагин Аксимет, а что зверствует?

Romses написал:
19 июня 2021

Andrew спасибо за консультацию :) и рад видеть, что Вы заглянули на мой блог!

Оставить комментарий