- Тема и целевая аудитория
- Расчет нагрузки
- Логическая схема
- Физическая схема
- Технологии
- Схема проекта
- Список серверов
- Список использованных источников
Облачное файловое хранилище позволяет пользователям хранить их файлы удаленно и предоставляет доступ на их просмотр и скачивание. В данной работе в качестве примера будет реализован функцоинал сервиса Dropbox - файлового хостинга компании Dropbox Inc., включающего персональное облачное хранилище, синхронизацию файлов и программу-клиент [1].
MVP сервиса будет включать следующее:
- Загрузка файлов в хранилище
- Скачивание файлов из хранилища
- Просмотр загруженных файлов через браузер
- Предоставление доступа на просмотр файлов третьим лицам
На текущий момент в Dropbox зарегистрировано более 700 млн пользователей [2]. При этом [3]:
- В США - 35.40% пользователей - 247.8 млн человек
- В Великобритании - 5.30% пользователей - 37.1 млн человек
- В Японии - 5.22% пользователей - 36.54 млн человек
- В Германии - 3.7% пользователей - 25.9 млн человек
- В Австралии - 3.54% пользователей - 24.99 млн человек
- В остальных странах - 46.84% пользователей - 327.88 млн человек
Dropbox ежемесячно посещает около 153.7 млн пользователей [3]. Это в среднем 5.12 млн человек в день.
Размер хранилища составляет [4]:
- Для бесплатных пользователей - 2 Гб
- Для платных пользователей на самой дорогой подписке - не ограничено
Пусть около 5% посещений происходит с запросом авторизации, тогда ежедневно выполняется 256 тысяч запросов на авторизацию.
Согласно статистике за 2016 год в Dropbox ежедневно загружают порядка 1 200 млн файлов [5]. Т.к. в 2016 году аудитория составляла 433 млн человек, а сейчас составляет более 700 млн человек [2], то возьмём количество загрузок файлов равное 1 940 млн.
На первой странице сервиса отображается список всех файлов. Предположим, что каждый десятый хотя бы раз попадает на эту страницу. Пусть таких запросов 70 млн в день.
Предположим, что пользователи просматривают половину своих файлов в день. Согласно статистике за 2018 год всего было загружено 400 000 млн файлов. Т.к. в 2018 году аудитория составляла 500 млн человек, а сейчас составляет более 700 млн человек [2], то получим 560 000 млн файлов. Это в среднем просмотр 778 млн файлов в день.
Согласно статистике за 2015 год каждый час создается 100 тысяч новых публичных папок и файлов [5]. Т.к. в 2015 году аудитория составляла 400 млн человек, а сейчас составляет более 700 млн человек [2], то возьмем, что каждый час создается 175 тысяч шареных файлов. Тогда в день таких файлов создается порядка 4.2 млн.
Среднее количество действий пользователей представлено в таблице 1, среднее количество действий одного пользователя представлено в таблице 2.
Таблица 1 - Среднее количество действий пользователей
Тип запроса | Среднее количество (млн/день) |
---|---|
Авторизация | 0.256 |
Загрузка файлов | 1 940 |
Просмотр списка файлов | 70 |
Просмотр файлов | 778 |
Предоставление доступа | 4.2 |
Таблица 2 - Среднее количество действий одного пользователя
Тип запроса | Среднее количество (млн/день) |
---|---|
Авторизация | 0.05 |
Загрузка файлов | 379 |
Просмотр списка файлов | 14 |
Просмотр файлов | 152 |
Предоставление доступа | 1 |
На текущий момент в Dropbox зарегистрировано более 700 млн пользователей, из которых 15.5 млн - платные пользователи [2].
Размер хранилища составляет [4]:
- Для бесплатных пользователей - 2 Гб
- Для платных пользователей на самой дорогой подписке - не ограничено
Предположим, что:
- Бесплатные пользователи используют 1 Гб
- Платные пользователи используют 256 Гб
В таком случае общий размер хранилища будет равен 684.50 * 10e6 * 1 + 15.5 * 10e6 * 256 = 684 500 + 3 968 000 = 4 652 500 (Тб).
Предположим, что:
- Пользователи хранят в облаке фотографии или текстовые документы
- Средний размер файла - 8 Мб
- В пике средняя нагрузка увеличина в 2 раза
Входящий трафик представлен в таблице 3, входящий трафик на одного пользователя представлен в таблице 4.
Таблица 3 - Входящий трафик
Тип запроса | Объём 1 запроса (Кб) | Суточный объём (Гб/сутки) | Пиковое потребление (Гбит/с) |
---|---|---|---|
Авторизация | 1 | 0.24 | 7e-7 |
Загрузка файлов | 8192 | 15 156 250 | 44 |
Предоставление доступа | 1 | 4 | 1e-5 |
Таблица 4 - Входящий трафик на одного пользователя
Тип запроса | Объём 1 запроса (Кб) | Суточный объём (Гб/сутки) | Пиковое потребление (Гбит/с) |
---|---|---|---|
Авторизация | 1 | 0.05 | 1e-7 |
Загрузка файлов | 8192 | 2 960 938 | 8.57 |
Предоставление доступа | 1 | 0.95 | 3e-6 |
Исходящий трафик представлен в таблице 5, исходящий трафик на одного пользователя представлен в таблице 6.
Таблица 5 - Исходящий трафик
Тип запроса | Объём 1 запроса (Кб) | Суточный объём (Гб/сутки) | Пиковое потребление (Гбит/с) |
---|---|---|---|
Просмотр списка файлов | 512 | 34 180 | 10e-2 |
Просмотр файлов | 8192 | 6 078 125 | 17.59 |
Таблица 6 - Исходящий трафик на одного пользователя
Тип запроса | Объём 1 запроса (Кб) | Суточный объём (Гб/сутки) | Пиковое потребление (Гбит/с) |
---|---|---|---|
Просмотр списка файлов | 512 | 6 836 | 2e-2 |
Просмотр файлов | 8192 | 1 187 500 | 3.44 |
Количество RPS по типам запросов представлено в таблице 7.
Таблица 7 - Количество RPS по типам запросов
Тип запроса | RPS |
---|---|
Авторизация | 3 |
Просмотр списка файлов | 810 |
Просмотр файлов | 9 005 |
Загрузка файлов | 22 454 |
Предоставление доступа | 49 |