Назад | Перейти на главную страницу

Веб-сервер: влияние на производительность при хранении файлов сеанса на / dev / shm

У меня есть веб-сайт, работающий в стандартной конфигурации: Linux, Apache, PHP, MySQL.
Однако что в нем нетипично, так это то, что он получает тонны трафика (более 400 000 посещений в день), и поэтому эффективность становится для меня все более и более важной.
Я постоянно ищу то, что можно оптимизировать, и сейчас мое внимание сосредоточено на файлах сессий PHP.
Чертовски много файлов сеансов постоянно читаются и создаются на /tmp каталог.

Итак, мой вопрос: хорошо ли хранить файлы сеанса в /dev/shm (tmpfs), чтобы немного ускорить ??

  • Сохранение в файловой системе с поддержкой памяти (например, tmpfs), созданной для этой цели: возможно.
  • Хранение в /dev/shm: НЕТ!

/dev/shm имеет определенное значение: он предназначен для использования в качестве резервного хранилища подсистемы межпроцессного взаимодействия с общей памятью. Файлы там должны быть созданы с использованием shm_open (3) и эти файлы обычно предполагается использовать в качестве сопоставлений разделяемой памяти между взаимодействующими процессами. Тот факт, что это место реализовано как файловая система с поддержкой памяти, является деталью реализации.

Если вы хотите где-то хранить временные файлы, создайте для этой цели собственную точку монтирования. Другой вариант, который вам следует рассмотреть, - использовать что-то другое для этих файлов сеанса, например, хранилище базы данных (возможно, таблицы MEMORY MySQL с использованием ваших собственных обработчик сеанса или PgSQL).