5 января 2013 г., 9:55 пользователь Eugene Grosbein
<eu...@grosbein.net> написал:
> 05.01.2013 14:50, greenh пишет:
>
>>>> 4 января 2013 г., 15:10 пользователь Eugene Grosbein
>>>> <eu...@grosbein.net> написал:
>>>>> sysctl vfs.ufs | fgrep mem
>>>>
>>>> vfs.ufs.dirhash_lowmemcount: 0
>>>> vfs.ufs.dirhash_mem: 53137380
>>>> vfs.ufs.dirhash_maxmem: 80646144
>>>
>>> Это в момент высокого потребления system time и высокого LA?
>>> С одной стороны, упирания в maxmem нет, с другой - текущее потребление
>>> dirhash в более чем 50MB это очень много и подтверждает предположение
>>> о существовании каталога с огромным количеством файлов.
>>>
>>> Такие каталоги делают некоторые php-движки, накапливая в них огромное
>>> количество устаревших сессионных файлов и пытаясь удалять старые сессии
>>> не фоновым процессом, а непосредственно во время обработки юзеровского
>>> HTTP-запроса. Этот braindamage лечится только отключением такого поведения 
>>> движка
>>> (чтобы он во время выполения запросов не пытался заниматься посторонними 
>>> делами
>>> типа очистки сессионного каталога) плюс переключением движка на хранение
>>> сессий в структуре каталогов вместо одного плоского. A чистку старых сессий
>>> выполнять cron'ом.
>>
>> Нет, это не в момент высокой нагрузки, т.к. ситуация
>> стабилизировалась, и поймать ее пока не получается.
>
> Повторится.
>
>> Проект действительно содержит огромное количество файлов картинок,
>> раскиданых по папкам, и с этим, увы, ничего сделать нельзя.
>
> Раскиданных по папкам это хорошо. Плохо, когда на UFS в одной папке
> очень много файлов, с этим нужно бороться. Либо уходить с UFS, на ZFS 
> например.

А если во вложенных папках? Вида xx/yy/zz/qq/file_nn.jpg?

>
>> Сессии проекта представляли собой большую проблемы и давно вынесены в мемкеш
>
> Тоже вариант (c). Вместо того, чтобы нормализовать работу приложения, можно 
> обкладываться кешами.
Структура проекта такова, что от этого уйти не удалось :(

Ответить