Ось користуєтеся ви хостингом, а в якийсь момент приходить лист, що закінчується ліміт на кількість файлів. Перевіряєте, скільки залишилося вільного місця — начебто багато. А потім з’ясовується, що крім вільного місця на диску є ще якісь індексні дескриптори. У цій статті розповімо, що це таке, як вони впливають на роботу сайту і що робити, якщо майже використали їх кількість.

Зміст

Що таке індексні дескриптори

Ми використовуємо операційну систему Linux на всіх тарифах віртуального, VIP, реселлер та CMS-хостингу. Логіка зберігання даних в Linux і Windows відрізняється. У Windows є тільки місце на диску, яке займає конкретний файл. А в Linux у кожного файлу є ще один параметр — індексний дескриптор. Англійською — «inode».

Власний індексний дескриптор є у будь-якого файлу, листа чи навіть папки. У ньому зберігається службова інформація, наприклад, розмір і місце розташування файлу, права доступу до нього, час останньої зміни. По суті дескриптор — це дані про дані.

Найпростіше уявити файлову систему у вигляді бібліотеки. Тоді файли — це журнали та книги на стелажах, а індексні дескриптори — картки в каталозі з місцезнаходженням та описом книг.

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

Диск і файлова система на віртуальному хостингу єдині для всіх користувачів сервера. Тому може бути така ситуація, що занадто багато файлів у кого-то одного, але сервер гальмує для всіх. Тому ми і ввели обмеження на кількість індексних дескрипторів для різних тарифів. Їх можна подивитися в описах до тарифів при натисканні на кнопку «Докладно про пакети» і в Правилах користування послугами:

Що буде, якщо використати всі дескриптори

Якщо ви використаєте всі дескриптори, на хостингу перестануть створюватися нові файли. Через це можуть виникнути такі проблеми:

  • сайт стане завантажуватися повільно;
  • припинять працювати деякі функції на сайті. Наприклад, клієнти не зможуть створити акаунт або зробити замовлення;
  • почнуть виникати помилки 403 Forbidden або 503 Service Unavailable;
  • перестане працювати пошта.

Турбуватися нема про що, поки ви не використали 90% дескрипторів. Коли це трапиться, ми відправимо вам лист на електронну адресу з вашого облікового запису.

Як перевірити кількість використаних дескрипторів

Загальну статистику використаних дескрипторів можна подивитися в cPanel. Меню зі статистикою – справа на головній сторінці панелі управління:

Кількість використаних inodes в cPanel

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

Детальну статистику можна подивитися в консолі. Для цього вам знадобиться підключитися до хостингу за допомогою протоколу SSH.

Щоб побачити кількість використаних дескрипторів в акаунті, використовуйте таку команду:

find . | wc -l

У відповіді ви побачите цифру — загальну кількість індексних дескрипторів. У порожньому акаунті з самого початку буде близько 200 дескрипторів. Це системні файли і папки. Щоб подивитися, в якій папці найбільше файлів, введіть команду:

find . -mindepth 2 | awk -F/ '{ print $2"/" }' | sort | uniq -c | sort -nr

У відповіді побачите список всіх папок в акаунті з кількістю дескрипторів в кожній з них.

Потробная статистика використання індексних дескрипторів в консолі

Якщо хочете подивитися подібний звіт вмісту папки «subdomains», перейдіть в неї командою:

cd subdomains/

Після цього введіть таку-ж команду, як і в попередньому випадку:

find . -mindepth 2 | awk -F/ '{ print $2"/" }' | sort | uniq -c | sort -nr

Відповідь буде виглядати так:

Детальна статистика використання індексних дескрипторів для вкладеної папки в терміналі

Подібним чином можна перевірити кількість дескрипторів в будь-якій іншій папці на хостингу.

Що робити, коли використали більшість дескрипторів

Є два способи вирішити проблему: перейти на тариф з більшою кількістю дескрипторів або видалити непотрібні файли.

Переходити на більш високий тариф варто, якщо проект розвивається. Зростає сайт — зростає й кількість файлів.

Якщо поки не готові міняти тариф, можна спробувати видалити непотрібні файли. Але будьте уважні, щоб випадково не видалити потрібну папку.

Точно можна видаляти листи і кеш. Якщо не видаляти старі листи, вони будуть накопичуватися і займати зайві дескриптори. Видалити їх можна через веб-інтерфейс пошти в cPanel.

Кеш – це тимчасові або часто використовувані файли. Вони можуть накопичуватися з часом, але без них сайт не перестане працювати.

Кеш може бути в папці «lscache» в кореневій папці акаунта або в директорії з вашим сайтом. Пошукайте папки, в яких є слово «cache».

Якщо не впевнені, чи можна видаляти папку, уточніть це у розробника сайту або теми.

Не можна видаляти системні та службові папки, це може порушити роботу сайту.

У системних папках зберігаються файли, які потрібні для належного функціонування хостингу. Такі папки починаються з точки, наприклад, «.cagefs» або «.cpanel».

У службових папках зберігаються файли, які потрібні для належного функціонування сайту. Наприклад, папки «etc», «logs», «mail», «ssl», «var», «tmp».

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

Чи була ця стаття корисною?

Дякуємо за відгук!