Ось користуєтеся ви хостингом, а в якийсь момент приходить лист, що закінчується ліміт на кількість файлів. Перевіряєте, скільки залишилося вільного місця — начебто багато. А потім з’ясовується, що крім вільного місця на диску є ще якісь індексні дескриптори. У цій статті розповімо, що це таке, як вони впливають на роботу сайту і що робити, якщо майже використали їх кількість.
Зміст
- Що таке індексні дескриптори
- Що буде, якщо використати всі дескриптори
- Як перевірити кількість використаних дескрипторів
- Що можна зробити
Що таке індексні дескриптори
Ми використовуємо операційну систему Linux на всіх тарифах віртуального, VIP, реселлер та CMS-хостингу. Логіка зберігання даних в Linux і Windows відрізняється. У Windows є тільки місце на диску, яке займає конкретний файл. А в Linux у кожного файлу є ще один параметр — індексний дескриптор. Англійською — «inode».
Власний індексний дескриптор є у будь-якого файлу, листа чи навіть папки. У ньому зберігається службова інформація, наприклад, розмір і місце розташування файлу, права доступу до нього, час останньої зміни. По суті дескриптор — це дані про дані.
Найпростіше уявити файлову систему у вигляді бібліотеки. Тоді файли — це журнали та книги на стелажах, а індексні дескриптори — картки в каталозі з місцезнаходженням та описом книг.
Чим більше файлів на сервері, тим складніше серверу їх обробляти. Можливо, при роботі з хостингом ви помічали, що папки з великою кількістю файлів навіть відкриваються довше. Це тому що сервер перевіряє кожен файл перед тим, як відкрити папку.
Диск і файлова система на віртуальному хостингу єдині для всіх користувачів сервера. Тому може бути така ситуація, що занадто багато файлів у кого-то одного, але сервер гальмує для всіх. Тому ми і ввели обмеження на кількість індексних дескрипторів для різних тарифів. Їх можна подивитися в описах до тарифів при натисканні на кнопку «Докладно про пакети» і в Правилах користування послугами:
Що буде, якщо використати всі дескриптори
Якщо ви використаєте всі дескриптори, на хостингу перестануть створюватися нові файли. Через це можуть виникнути такі проблеми:
- сайт стане завантажуватися повільно;
- припинять працювати деякі функції на сайті. Наприклад, клієнти не зможуть створити акаунт або зробити замовлення;
- почнуть виникати помилки 403 Forbidden або 503 Service Unavailable;
- перестане працювати пошта.
Турбуватися нема про що, поки ви не використали 90% дескрипторів. Коли це трапиться, ми відправимо вам лист на електронну адресу з вашого облікового запису.
Як перевірити кількість використаних дескрипторів
Загальну статистику використаних дескрипторів можна подивитися в 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».
Перед тим, як видаляти будь-які файли, зробіть їх резервну копію. Якщо випадково забули зробити копію і видалили щось важливе, ви можете скористатися нашими технічними копіями.