Коли місця на хостингу багато, але закінчуються ліміти — проблема індексних дескрипторів (inode)
Підбираючи віртуальний хостинг для сайту замовники звертають увагу на технічні характеристики такі, як дисковий прості (кількість Гб), кількість сайтів для розміщення, оперативна пам’ять, доступність, підтримка різного програмного забезпечення та різні фішки. І обравши тариф з 25 Гб, яких здається буде достатньо для не великого чи середнього проєкту, а може і не одного — то так тільки здається.
У тарифах де орієнтовно 25 Гб дискового простору, пропонують плюс-мінус 200 000 індексних дескрипторів (inode, або загальна кількість файлів на хостингу). Це ще один параметр на який варто звернути увагу.
Що таке індексні дескриптори
Хостинг-провайдери використовують для віртуального хостингу ОС Linux, логіка зберігання даних якої відрізняється від Windows. У Windows є тільки місце на диску, яке займає конкретний файл. А в Linux у кожного файлу є ще один параметр — індексний дескриптор, або inode. Inode містить службову інформацію про файл, розмір і місце розташування файлу, права доступу до нього, час останньої зміни. По суті дескриптор — це дані про дані. Це як картки в каталозі бібліотеки, які містять інформацію про книги.
В чому проблема inode?
Якщо коротко, то проблема у кількості дескрипторів. Привіт, Кеп! 🫡
Розберімось детальніше на простому кейсі нашого клієнта, який скористався послугою технічної підтримки та адміністрування сайту.
Маємо систему управління хостингом cPanel, де можна подивитися статистку використання ресурсів, зокрема кількість (%) використаних дескрипторів (скриншот вище, статистика після очищення кешу). Клієнт використовує декілька доменних поштових скриньок. Одна з них, системна займає 665 Мб, начебто не багато.
Зайшовши на скриньку, побачимо понад 412 тис. технічних листів, що відповідає 412 тис. індексних дескрипторів. Один лист — це один файл розміром майже 1,43 Кб, тому така кількість займає лише 665 Мб, але ліміти по inode вже наближаються.
Чому так багато листів? Це вже інша історія, але якщо коротко, то виконання запланованого завдання (Cron) відбувалися кожні 2 хвилини, що супроводжується автоматичним технічним листом про виконання.
Листи — одна з найпоширеніших причин перевищення лімітів по inode, якщо ви використовуєте поштовий сервер. Тому потрібно періодично очищати від зайвих листів та спаму поштову скриньку.
Ще однією причиною використання лімітів inode є кеш.
Кеш – це тимчасові або часто використовувані файли. Вони можуть накопичуватися з часом, але без них сайт не перестане працювати. Кеш може бути в каталозі lscache в кореневому каталозі акаунта або в директорії з вашим сайтом. Пошукайте каталоги, в яких є слово “cache”.
Також можна перевірити інші не використовуванні каталоги та файли сайту, але тут треба бути обережним. Якщо не впевнені, чи можна видаляти каталог, чи файл, уточніть це у розробника сайту або адміністратора. Не можна видаляти системні та службові каталоги, це може порушити роботу сайту. Точно можна видаляти листи і кеш. В будь-якому випадку зробіть резервну копію перед видаленням.
Після видалення кешу та листів ліміти по inode стали трохи більше 14% від загального.
Що буде якщо ліміти по inode перевищено?
Якщо перевищити ліміт кількості файлів на хостингу, то не вдасться створити жодного нового файлу. Через це не працюватиме доменна пошта, може частково перестати працювати сайт (клієнт не зможуть створити акаунт або зробити замовлення), або сайт повільно завантажуватися. Можливі помилки 403/503, частково перестати працювати панель керування хостингом.
Поки ви не використали 90% дескрипторів, турбуватися нема про що. Також хостинг-провайдер попередить про використання ліміту і запропонує збільшити ліміт, через зміну тарифного плану, або видалення зайвих файлів.
Тому при виборі хостингу зважайте на такий параметр як Індексні дескриптори (inode), також, ви можете звернутися до нас і допоможемо підібрати найкращий варіант під ваш проєкт.