Pre-loader

/ K2 Cloud ERP for PHP / Модулі системи K2 ERP for PHP. / VDoc. / Адміністратору. / Прискорення роботи з сесіями PHP та їх видалення за допомогою віртуального диска

Прискорення роботи з сесіями PHP та їх видалення за допомогою віртуального диска

Працюючи веб-сервера відбувається генерація величезної кількості дрібних файлів для сесій. Кількість таких файлів може досягати багато мільйонів на добу. Як результат, рано чи пізно вичерпується ліміт кількості файлів і система дає збій. Доводиться перестворювати каталог та видаляти старі сесії. Видалення такої кількості сесій може створювати дуже високе навантаження на сервер, заважаючи комфортній роботі користувачів, а процес видалення може відбуватися багато діб. Можу припустити, що такі дрібні записи дуже корисні для вінчестерів.


Як миттєво видаляти файли сесій те щоб цього не помічали користувачі ?

Для цього можна скористатися записом інформації про сесії на диск у пам'яті. Такий диск миттєво очищається і працює до тих пір, поки не вимкнеться живлення сервера або поки розмаунтиться диск.

На серверах останнім часом багато оперативної пам'яті, тому робота з дисками в пам'яті – чудове вирішення проблеми. При цьому відбувається відчутно менше навантаження на дискові накопичувачі, дискові накопичувачі довше служать і система в цілому працює відчутно швидше.

Поділюсь досвідом, як реалізував побудову дисків у себе на серверах.

Створення диска у пам'яті

Створюю BASH-файл create_ramdisk для створення диска:

#!/bin/bash

mkdir /sessions
chmod 777 /sessions

mount -t tmpfs -o size=32G tmpfs /sessions

Видалення диска з пам'яті

Створюю BASH-файл del_ramdisk для видалення диска з пам'яті:

del_ramdisk

Перестворення диска у пам'яті (з очищенням даних)

Створюю BASH-файл recreate для перестворення диска:

#!/bin/bash

umount /sessions

Автоматизація перестворення диска у пам'яті через Cron

В /etc/crontab добавляю строчку:

00 3    * * *    root    /fw/ramdisk/recreate

Заміна каталогу сесій

Робимо симлінк з каталогу /sessions у /var/lib/php/sessions. Де зазвичай складаються сесії.

Автор: Рудюк С.А. 2023. K2 Cloud ERP.