Нельзя делить значения переменных между отдельными запросами - думайте о каждом запросе, как будто вся программа запускается и завершается каждый раз, даже если одновременно происходит несколько запросов.
Вы можете посмотреть на хранение данных в слое кеша (например, memcached), однако, похоже, вам нужно кешировать вашу базу данных, если она находится под большой нагрузкой. Я бы рекомендовал кэшировать вашу базу данных (опять-таки memcached или файловое хранилище; сначала serialize()
данные), а затем, когда эта проблема будет решена, сохранить данные чата в базе данных (которая, в свою очередь, кэшируется). Вам нужно постоянно хранить его где-то.