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

- Венчурный Капиталист - https://ng-teremok.ru -

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

Автор Romses дата: 18 июня 2021 @ 14:03 в jamber.info, технические тонкости | 4 Comments

Знание сила.


700a1e24

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

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

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

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

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

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

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

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

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

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

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

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

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

Популярность: 6%

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


4 Comments (Открыть | Закрыть)

4 Comments на " Файлообменник"

#1 Комментарий от Andrew дата: 19 июня 2021 @ 0:37

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

[8]

или через APC.

Касательно раздачи через скрипт — советую посмотреть на [9]

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

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

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

#2 Комментарий от Александр дата: 19 июня 2021 @ 7:48

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

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

#3 Комментарий от Romses дата: 19 июня 2021 @ 13:00

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

#4 Комментарий от Romses дата: 19 июня 2021 @ 18:24

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


Статья распечатана с Венчурный Капиталист: https://ng-teremok.ru

URL статьи: https://ng-teremok.ru/2008/06/18/fajloobmennik/

URL-ы в этой записи:

[1] jamber.info: http://jamber.info/files/

[2] RSS-канал: http://feeds.feedburner.com/romses/

[3] Ивана Блинкова: http://www.insight-it.ru

[4] блогом : http://andrew2002.com

[5] Автоматический бэкап данных в интернет.: https://ng-teremok.ru/2008/12/13/avtomaticheskij-bekap-dannyx-v-internet/

[6] Стратегия продвижения проекта. Часть 1.: https://ng-teremok.ru/2008/12/09/strategiya-prodvizheniya-proekta-chast-1/

[7] Правильный заработок в сети. Экономим.: https://ng-teremok.ru/2008/12/08/pravilnyj-zarabotok-v-seti-ekonomim/

[8] : http://blog.liip.ch/archive/2006/09/28/upload-progress-meter-extension-for-php-5-2.html

[9] : http://blog.kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/

Копирайт © 2022 Венчурный Капиталист. Все права защищены.