Вы действительно хотите механическое действие диска каждый раз, когда кто-то печатает?Запись на диск - ужасная идея.Кешировать сообщения в памяти.Очистите сообщение, как только оно будет отправлено всем пользователям в комнате.Кеш будет оставаться маленьким, большую часть времени пустым.Это ваш лучший вариант, если вам не нужен журнал истории.
Но если вам нужен журнал ....
Если вы записываете большой объем данных за 1 проход, ягарантировать, что файл будет курить производительность вставки базы данных.Функция массовой вставки базы данных может соответствовать файлу, но для начала требуется источник данных файла.Вам нужно будет поставить в очередь много сообщений в памяти, а затем периодически сбрасывать в файл.
Для многих небольших записей разрыв будет закрыт, и база данных будет двигаться вперед.Индексы будут влиять на скорость вставки.Если тысячи пользователей вставляют в сильно проиндексированную таблицу, у вас могут возникнуть проблемы.
Проведите собственные тесты, чтобы доказать, что быстрее.Имитировать реалистичную нагрузку, а не 1 пользовательский тест.