Я не прошу сравнения. Я уже знаю, что такое PostgreSQL и MariaDB и чем отличаются.
Я смотрю на этот вопрос с другой стороны. Такие компании, как Facebook использует MySQL (конечно, исправлены), но как они могут обрабатывать миллионы запросов?
Чтобы быть более ясным; PostgreSQL имеет PgPool инструмент, который кэширует и повторно использует текущее соединение для всех, так как данные клиентов одинаковы. Итак, когда PHP приложение подключается к PgPool 10 000 раз, на самом деле оно использует несколько подключений. Это делает PostgreSQL доступным для миллионов пользователей одновременно без max connection
ошибка.
Но в MariaDB / MySQL есть max_connection
установка точек на 150
. Означает ли это, что только 150 клиентов могут подключиться к MariaDB / MySQL с той же веб-страницы PHP? Что мне делать, чтобы обработать, например, миллионы запросов от PHP к MariaDB? Если 2 миллиона пользователей одновременно войдут на мой сайт, что произойдет, если мой max_connection
является 150
? Или, лучше, есть ли какой-либо эквивалент для MariaDB, например PgPool?
Какой сценарий я бы применил в этой ситуации?
Mysql (в сочетании с php) повторно использует соединение всегда, когда соединения, конечно, уже открыты. Таким образом, вы должны учитывать свое среднее время запроса (1 миллисекунда, но это зависит от вашей БД), и я надеюсь на процветание вашего бизнеса, но 150 соединений = 150 * 1000 = 150kqps ... Я думаю, что этого достаточно! Надеюсь, я дал вам хорошее объяснение.
P.S. Чтобы понять вашу текущую ситуацию, запустите эту команду на своей базе данных:
SHOW STATUS WHERE `variable_name` = 'Threads_connected';