Skip to content

Курсовая работа по курсу "Проектирование высоконагруженных систем"

Notifications You must be signed in to change notification settings

DeveloperMan313/vk-highload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

Курсовая работа по курсу "Проектирование высоконагруженных систем"

Студент: Волощук А. Д. Группа: WEB-41 (осень 2025)

Quora

1. Тема и целевая аудитория

Тип сервиса: вопросно-ответный форум, сфокусированный на формировании качественной базы знаний

Местоположение целевой аудитории: мир

MAU: 400M (1) DAU: 27M (1)

Основные регионы по числу посещений (1):

Страна/Регион Число пользователей
США 148M
Индия 100M
Европа 78M
Юго-Восточная Азия 24M
Великобритания 22.5M
Средний Восток и Северная Африка 15M
Канада 20M
Австралия и Новая Зеландия 11M
Япония 6.8M
Мексика 3.5M
Бразилия 2.6M

Ключевой функционал - создание и поиск вопросов/ответов

Ключевое продуктовое решение - алгоритм ранжирует ответы по полезности, а не по новизне

Основной функционал MVP:

  • Авторизация и настройка профиля
  • Поиск вопроса/ответа
  • Создание вопроса
  • Создание ответа на вопрос
  • Присоединение к Теме
  • Голос за/против ответа
  • Подписаться на пользователя

2. Расчет нагрузки

Продуктовые показатели:

Название Показатель Расчет
MAU 400M из (1)
DAU 27M из (1)
Число пользователей 430M из (1)
Вопросов в день 4000 из (1)
Ср. ответов на вопрос 5 из (1)
Время на сайте 9 мин/день из (1)
Число тем 300K из (1)
Всего вопросов 5.84M 16лет * 365дн/год * 4000/день / 4, где 16 - возраст сервиса, /4 - учет нелинейности роста
Всего ответов 29.2M 5.84M * 5
Ср. ответов на вопрос 0.71 /день самостоятельное исследование, отношение числа ответов на вопрос к его возрасту в днях за много лет
Ср. размер изображения ответа 86.8 КБ самостоятельное исследование
Ср. размер изображения профиля 16 КБ самостоятельное исследование
Ср. размер вопроса 75 Б самостоятельное исследование: 50 символов * 1.5Б (ср. символ Unicode)
Ср. размер текста ответа 639 Б самостоятельное исследование: 426 символов * 1.5Б (ср. символ Unicode)
Ср. изображений на ответ 0.85 самостоятельное исследование: большой коэффициент, т.к. многие ответы содержат несколько изображений
Ср. просмотров ответа 4.35 /день самостоятельное исследование
Шанс оценки ответа при просмотре 0.05 самостоятельное исследование

RPS/трафик:

Запрос RPS Расчет RPS Трафик Расчет трафика
Отправка вопросов 0.05 4000/день / 86400с/день 3.45 Б/с 75Б * 0.046/с
Отправка текста ответов 24 положим, что пользователи отвечают только на вопросы не старше 2х лет (их q_2yr = 2года * 365дн/год * 4000/день, возьмем 4000/день как постоянную), тогда RPS ответов q_2yr * 0.71/день / 86400с/день 40 КБ/с оценим средний вес HTTP запроса/ответа с куками в 1КБ, тогда трафик (1КБ + 0.639КБ) * 24/с
Отправка изображений ответов 21 24/с * 0.85 3.56 МБ/с 86.8КБ * 21/с
Просмотр текста ответов 1470 из статистики просмотров ответов (т.к. она за долгое время, можем применить к общему количеству ответов): 29.2M * 4.35/день / 86400с/день 2.4 МБ/с (1КБ + 0.639КБ) * 1470/с
Просмотр изображений ответов 1250 0.85 * 1470/с 109 МБ/с 86.8КБ * 1250/с
Оценка ответов 74 1470/с * 0.05 74 КБ/с 1КБ * 74/с
Поиск 313 27M/день / 86400с/день 313 КБ/с 1КБ * 313/с
Получение статики 313 27M/день / 86400с/день 228 МБ/с передается статики без кеша 7МБ, с кешем - 30КБ, допустим, каждый 10й пользователь без кеша: 313/с * (1/10 * 7МБ + 9/10 * 0.03МБ)
Итог = ~3500 = ~350 МБ/с

Объем хранилищ:

Тип Объем Расчет
Профили пользователей 7 ТБ текст профиля 200 символов: (16КБ + 200 * 1.5Б) * 430M
Вопросы 0.5 ГБ 75Б * 5.84M
Текст ответов 19 ГБ 639Б * 29.2M
Изображения ответов 2.2 ТБ 86.8КБ * 29.2M * 0.85
Итог = ~9.2 ТБ

3. Глобальная балансировка

Расположение датацентров

США:
Ашберн, Сан-Хосе, Чикаго

Индия:
Мумбаи, Бангалор

Европа:
Франкфурт, Амстердам

Великобритания:
Лондон

Канада:
Торонто

Юго-Восточная Азия:
Сингапур

Средний Восток:
Дубай

Южная Америка:
Сан-Паулу

Австралия:
Сидней

Япония:
Токио

Для балансировки используется GeoDNS.

Список используемых источников

  1. https://www.demandsage.com/quora-statistics/

About

Курсовая работа по курсу "Проектирование высоконагруженных систем"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published