@freelancer, пишет Вам общество "За защиту файловых систем" и правозащитная организация "Быстрое резервирование данных - каждому". Возник вопрос, за который надо бы пояснить, в среде уважающих себя программистов.
Анамнез:
- пациент чувствует острую боль в анусе,
- угнетение,
- депрессия.
Предыстория:
Я тут столкнулся с сайтом, задание - перенести с хоста на хост. Пффф, опять сранный OpenCart - в лёгкую! Пачками такие у меня бомжевали между хостов, так что - ноу проблем.
Захожу вальяжно под root, начинаю архивировать папку, а мне в ответ: "Ну что, Данила-мастер, не выходит каменный цветок?". А он - действительно не выходит. Благо было куча времени, бросил процесс чтобы он не ушел в kill, да и потопал делами своими заниматься. Спустя 3 часа, напомню автору этого чудесного модуля - это 10800 секунд, я получил требуемое. Скачал архив и начал разбирать содержимое. А в содержимом у нас картинки 1-6. И вот тут сказочке - нет, не конец, а прямо самое начало.
Проблема:
- Большая часть фалов была сгенерированна в последние 30-45 дней. Итого 290453 файлов.
- Большая часть файлов - это бред сумасшедшего. Закешировать 8 байт? Вы нереально ускорили свой модуль, поздравляю! Вселенная прямо сейчас начала коллапсировать из-за от того, что модуль работает быстрее скорости света.
- Если не знать об таких "нетрадиционных наклонностях модуля" - на создание резервной копии уйдет 2-3 часа. И то, только если у вас достаточно мощная виртуалка. А если ты - бесправный юзверь, то ты будешь копировать папку с проектом чуть больше вечности.
- Для оперативного создания копии, приходится удалять не файлы кеша, а папки. Что гораздо быстрее, но при это появляется возня с уточнением, а после - восстановлением прав для владельца.
Вопросы:
- Это когда чтение файла из папки в которой находится 10000+ файлов, стало быстрее - чем примитивный запрос SELECT в БД MySQL? И не стоит приводить синтетику, когда вы один на серваке долбите запросы и получаете красивые циферки своей правоты. Потестируйте то же самое, когда у вас постоянных 50-100 соединений.
- Опенкарты резервировать не нужно? А если нужно, то всем необходимо писать исключения под данный модуль?
- Ох, про инкрементальные бэкапы стоит заводить разговор?
- Вам не стыдно?