Задать вопрос
@Vadim1899

Оптимальна ли реализация чата?

Подскажите, оптимальна ли и эффективна следующая реализация чата:
1. Структура: имеется index.php, в нем в сайдбаре include chat.php. В сhat.php разметка чата, форма ввода сообщений, и include chat-messages.php. В chat-messages.php, соответственно, код PHP вывода сообщений из БД
2. Так же в chat.php ajax-запрос на обновление чата без перезагрузки страницы (url: 'check-chat.php',). Интервал обновления - пол секунды.
3. Выводится 100 последних сообщений

Возникают следующие вопросы:
1. Сильно ли эти запросы каждые пол секунды будут грузить БД?
2. Оптимальна ли данная реализация в целом?

Всем спасибо
З.Ы. только недавно начал разбираться в php, многого не знаю, поэтому не ругайте
  • Вопрос задан
  • 954 просмотра
Подписаться 1 Средний 1 комментарий
Ответ пользователя ThunderCat К ответам на вопрос (6)
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Если это не продакшн, а скажем, учебно-развлекательный проект, то пойдет. Можно увеличить интервал до 5 сек, а в базе выбирать по времени больше времени последнего полученного сообщения, это сократит нагрузку. Время надо отсылать при запросе к серверу. Все прочитанные получателем (т.е. отосланные в ответ на аякс запрос) записи чата помечаются в отдельном поле в таблице(например `readed` = 1), и в дальнейшем не выбираются. В идеале переписать на сокеты, ибо аякс интервалы не лучший способ реализации.
Ответ написан
Комментировать