Вычищаем mod-tmp
Запись от RinatV размещена 07.01.2013 в 04:01
Показов 15025
Комментарии 2
|
Под новый год купили новый сервер, т.к. за месяц до этого случился непонятный обвал более слабого сервера, удачно переехали, вроде работает норм. Решил удалить на старом сервере замести все следы, последовательно удаляя программы, пользователей. Только вот при удалении пользователей случился какой то завис, гугл показал что в директории mod-tmp пользователей оказывается скапливается большое количество сессионных файлов php. Их нужно переодически чистить, что и видимо явилось причиной больших нагрузок на сервер. В принципе с удалением файлов в Linux проблем нет, стоит только перешагнуть через rf -rf mod-tmp/, но эта команда не неинтерактивная, она молча удалит все файлы. Однако при удалении 5 милионов мелких файлов это молчание выглядит как зависание, есть конечно и другие рецепты команд, но все они расчитаны а запуск по расписанию в cron без эха. Мне было интересней увидеть как все это происходит, в этом мне помог ruby, по скорости конечно не очень, зная особенности системы можно наверняка и побыстрей это делать, допустим запуском нескольких потоков, собственно вот код:
| ||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
-
Запись от turbanoff размещена 09.01.2013 в 14:46
-
php долго не выдерживаю.
В bash не нашел интерактивного варианта для копипаста, сам эффективные варианты пока сочинять не умею. ls сперва создаст список, который недождаться, find видимо делает тоже самое, т.к. эффекта после запуска с опциями -delete не видно по отчету df -i. Передачу по xargs или же просто rm не испытывал, пока эти возможности для меня неочевидны.
Приведенный способ интерактивен, эффект сразу есть, правда скорость не такой высокий к сожалению 5000 файлов в минуту, что сравнимо с Midnight Commander, хоть и происходит некое ускорение со временем, но со временем 26 секундные интервалы увеличиваются и начинают следовать друг за другом, видимо сказывается или журналирование или обнадеживание RAID, но в этих вопросах разбираться уйдет времени более 10 часов, такое время проработал скрипт, хотя должно было проработать больше.
А с ruby получил желаемый результат за 3 минуты, отчет написал через 21 минуту
С пулом потоков тоже испытывал, правда ускорения никакого нет видимоRuby 1 2 3 4 5
Welcome to IRB. You are using ruby 1.9.3p362 (2012-12-25) [i386-mingw32]. Have f un ;) >> 109000 / 5000 #=> 21 >> 5*10**6 / 5000 / 60 #=> 16 >>
Запись от RinatV размещена 14.01.2013 в 14:15


