@OypiStudent
Всё у меня работает, но я хотел бы знать, КАК))

PHP, нормально ли на каждый запрос открывать коннект к MySQL, делать SELECT и закрывать коннект? Если нет, то как избежать?

Анонимный чат реального времени.
На сервере 2 php-скрипта, один получает посты, другой постит.
К первому скрипту все время делаются GET-запросы AJAX. Благодаря Long Polling или SSE. запросы к php делаются не очень часто, сек 30 стандартно, но зато SELECTы в php делаются в цикле while каждые 10-100 мсек, чтобы получать новые сообщения и возвращать ответ достаточно быстро.
Ко второму скрипту делаются POST-запросы AJAX, очевидно реже, но все же тоже часто.

И оба скрипта имеют такой вид:
<?php
...
$mysqli = new mysqli(...);
...
...
...
$mysqli->close();
...


К тому же в скрипте GET делается SELECT (10-100 мсек usleep) В скрипте POST - делается INSERT.

Спрашивается, какую посещаемость выдержит такой чат на среднестатистическом хостинге, рублей за 100-200 в месяц?
Нормально ли все это? Как улучшить?
  • Вопрос задан
  • 1057 просмотров
Пригласить эксперта
Ответы на вопрос 5
riky
@riky
Laravel
не нормально.
улучшить -> взять nodejs, либо с php redis хотя бы (pub/sub)
Ответ написан
@Silm
Возьмите пробный период у нескольких хостеров. Поставьте свое приложение. Проведите нагрузочное тестирование.

Вот так обычно узнают "какую посещаемость выдержит такой чат на среднестатистическом хостинге".
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Вас выгонят с хостинга почти сразу. Вы хотите сделать 10 запросов в секунду для каждого пользователя online
Вот я уже отвечал на вопрос от человека которому за аналогичное поведение на хостинге уже высказали протест.
Вот ещё есть пример анонимного чата
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Под чаты php - не лучший выбор, смотрите в сторону nodejs.
Конкретно историю пишите в redis, а далее отдельным вызовом - в БД (если бизнес задачи этого требуют).
Ушатывать БД только потому, что можете - это плохая идея.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы