Высоконагруженный проект - как?

12
R
На сайте с 03.08.2012
Offline
131
1412

Приветствую!

Очень интересуют вопросы о создании высоконагруженных проектов.

Хочу прокачать себя в этой теме максимально.

Сам уже разрабатывал достаточно сложные проекты.

Опыт работы около 5 лет.

Но прям очень нагруженных ещё не приходилось.

Есть примерное понимание, что и как. Но хотелось бы разобраться более подробно.

Интересует связка PHP + MYSQL.

Возможно ли на MYSQL держать таблицу с размером в несколько десятков гигов при этом, чтобы была быстрая загрузка?

Или в целом связка PHP + MYSQL не подходит к таким проектам?

Дайте, пожалуйста, у кого есть ссылки на курсы/тренинги, статьи или блоги. Может книги про это.

В общем подскажите, пожалуйста, где можно найти нужную мне информацию и изучать в полной мере.

Естественно уже гуглил, нечего нормального не нашел.

Спасибо! :)

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
revered:
Возможно ли на MYSQL держать таблицу с размером в несколько десятков гигов при этом, чтобы была быстрая загрузка?

Возможно, особенно если не использовать join'ы, а вбирать все по первичному ключу.

Или в целом связка PHP + MYSQL не подходит к таким проектам?

Вконтакте и фэйсбук работают на PHP.

Дайте, пожалуйста, у кого есть ссылки на курсы/тренинги, статьи или блоги.

Как правило, каждый такой проект - это индивидуальное решение и готовых рецептов нет. В сети можно ознакомиться с архитектурой существующих сервисов, "историями успеха".

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
N
На сайте с 06.05.2007
Offline
419
#2

revered, очень просто : возьми обычный и нагрузи высоко :)

То есть, проведи так называемое Нагрузочное Тестирование. Конечно, не так уж легко сделать такое достоверно.

Кнопка вызова админа ()
Joker-jar
На сайте с 26.08.2010
Offline
166
#3

"Высоконагруженный проект", это, как правило, не просто " PHP + MySQL", а целая инфраструктура с жесткой связкой с ОС сервера(ов), с key-value кеширующей базой, избыточностью в основной БД со всеми вытекающими, периодичными задачами и т.д. и т.п. Над созданием таких проектов трудятся как программисты, так и сисадмины.

L
На сайте с 07.12.2007
Offline
351
#4
Оптимизайка:
Вконтакте и фэйсбук работают на PHP.

Но с целью повышения производительности, фэйсбуку пришлось разработать HipHop транслятор PHP -> C++

L
На сайте с 10.02.2015
Offline
246
#5
revered:
Но прям очень нагруженных ещё не приходилось.

Что в вашем понимании нагруженный проект.

Это сколько хитов в день?

revered:
Интересует связка PHP + MYSQL.

Обычно Это nginx + php-fpm opcache + mysql + memcached

revered:

Возможно ли на MYSQL держать таблицу с размером в несколько десятков гигов при этом, чтобы была быстрая загрузка?
Или в целом связка PHP + MYSQL не подходит к таким проектам?

У меня на работе 2 ТБ

revered:

Дайте, пожалуйста, у кого есть ссылки на курсы/тренинги, статьи или блоги.

Курсы/тренинги - фигня.

http://ruhighload.com/

---------- Добавлено 11.04.2016 в 16:54 ----------

Ladycharm:
Но с целью повышения производительности, фэйсбуку пришлось разработать HipHop транслятор PHP -> C++

HipHop фигня.

PHP 7 - круче :)

R
На сайте с 03.08.2012
Offline
131
#6

Под высокнагруженным проектом я подразумеваю, примерно следующее: (маленькая часть проекта)

30 000 - 50 000 человек онлайн

При этом они все переписываются в "личных сообщениях".

т.е. чуть ли не каждый человек отправляет сообщение раз в несколько секунд и нужно добавлять это сообщение в БД

+ идет ajax проверка каждые 5 секунд на новые сообщения

Таблица (не база, а именно таблица) при этом весит уже несколько десятков или сотен гигов и нужно очень быстро вставлять новые сообщения в базу и делать выборку.

L
На сайте с 10.02.2015
Offline
246
#7
revered:
30 000 - 50 000 человек онлайн

Возьмом время сессии 15 мин и 30 000.

Это в час минимум заходит 120 000 хитов

В сутки при 8 часах 960 000 хитов

Сколько хитов на человека - хз.

Цифры примерны.

Это серъезные цифры. :)

Много таких проектов знаете?

Жаль не знаю, где смотреть посещаемость топ-ресурсов.

Мои личные проекты имеют пиковую нагрузку около 4500 онлайн по данным GA.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#8
Ladycharm:
Но с целью повышения производительности, фэйсбуку пришлось разработать HipHop транслятор PHP -> C++

От него уже отказались в пользу виртуальной машины HHVM, но это не суть, язык php же используется. Вконтакте тоже тянет свою лямку.

---------- Добавлено 11.04.2016 в 20:00 ----------

revered:
идет ajax проверка каждые 5 секунд на новые сообщения

Это неправильно. Нужно использовать архитектуру pub-sub, т.е. сервер посредством websockets (или др.) должен уведомлять подписчиков о новых сообщениях.

TF-Studio
На сайте с 17.08.2010
Offline
334
#9

ну к примеру:

https://habrahabr.ru/post/262623/

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
L
На сайте с 10.02.2015
Offline
246
#10

Там только запись...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий