Каковы негативные последствия слишком большого количества запросов mysql (ajax) для приложения php chat?

Вопрос:

Привет, я создал простое приложение для чата php/mysql/Ajax, и у меня есть несколько вопросов. перед этим позвольте мне объяснить, как это работает.

Итак, если пользователь находится на странице чата, ajax script отправляет запрос в php файл, который показывает истории чатов (последние сообщения), и возвращает его в HTML. Этот запрос циклически повторяется каждую секунду, чтобы отображать последние сообщения пользователю, просматривающему страницу.

пока он отлично работает.

теперь мой вопрос и беспокойство: 1.) Каковы недостатки использования такого метода, если таковые имеются? 2.) О чем я должен больше всего волноваться, если он получает большую базу пользователей, и многие люди используют его одновременно? (главным образом потому, что он делает запрос каждую секунду, для каждого пользователя на нем..)

таблица mysql является таблицей innodb, и я использую только один оператор SELECT без предложения WHERE.. что-то вроде SELECT * FROM table ORDER BY id DESC LIMIT 10 и т.д. (в основном, я делаю mysql что-то очень простое, как торт)

3.) Любое предложение приветствуется;)

Большое спасибо
Vikash

Лучший ответ:

Определенно, вам нужно будет изучить проблемы масштабируемости как для веб-сервера, так и для сервера баз данных. Существуют такие технологии, как кластеризация MySQL для повышения производительности в базе данных и кластеризация веб-сайтов для HTTP-приложений.

При использовании в больших масштабах вы также можете посмотреть на обрезку таблицы, удалив ранние сообщения и сбросив их в отдельную таблицу для низкочастотного доступа. У вас также может быть некоторый метод кэширования запросов базы данных через некоторые рабочие потоки, поэтому чтение базы данных минимально, но интерфейс будет иметь возможность справляться с большим объемом запросов.

Ответ №1

Я получил 60 человек в phpFreeChat (php/ajax/mysql chat), и это был полный босс процессора. Это привело к тому, что на коленях появился 8-ядерный сервер.

Оцените статью
TechArks.Ru
Добавить комментарий