Аномальное снижение производительности.

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
Был проект, работал без проблем - пару дней назад изменили хранение данных на
папка_проекта/d41d8cd98f00b204e9800998ecf8427e/5fa72358f0b4fb4f2c5d7de8c9a41846/8c33da8906a3bd81f9a2c00becc09883/ed1f22132177c0f88a701733344c9db9/data1.txt
То есть 4 подпапки с MD5 именами и в них конечные папки и файлы. Файлов в последней папке не так много, 10-15 шт. txt и jpg и не большого размера (не более 300 кБ).
С этого момента работа выглядит так - на том же количестве потоков первые часов 6-7 всё идентично работе старого проекта, нагрузка ровная - 100% процессора, сервера отзываются как надо, никаких проблем. А вот где-то после 17-ти часов (точнее не могу сказать, каждый раз через ночь видим проблему) - сервера еле работают, процессор плавает 20-70%, поиск по диску и открытие любых папок - с паузами по 1-2 секунды.
Думали дело в диске - запускаем Perfmon - и там ничего особенного, а по дискам вообще тихо:
06-17 10.19.02.png

06-17 10.19.20.png
Тест с запуском старого проекта показал, что с ним таких эффектов нет как и не было, а нагрузка на диск куда выше даже.
В шаблоне кроме подпапок для сохранения данных ничего не менялось.
Что можно попробовать для исправления ситуации?
 
Последнее редактирование:

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 857
Баллы
113
Какая итоговая длина пути к файлу? Какая фс?
Пальцем в небо, но может это связано, т.к. в приведенном выше примере уже > 150 символов путь

Существует некоторая путаница в цифрах максимальной длины имени файла в файловой системе NTFS, которую вы можете обнаружить в различных источниках. Для начала, есть абсолютный предел, введенный Windows API, и он составляет 260 символов. Тем не менее, практический пределе меньше, чем 260 символов. Например, все имена должны иметь нулевой терминатор в конце. Обычно, этот маркер видит только Windows, но он все равно воспринимается, как один символ. Таким образом ,у вас есть только 259 доступных символов. Еще три символа используются для указания диска (например, C:\). Таким образом, реальный предел для имени, содержащего все каталоги, включая вложенные, и название самого файла вместе с расширением, уменьшается до 256 символов.

PS: и ещё зенка может делать временные файлы по соседству/в Trash, путь к которым может быть ещё длиннее.
 
  • Спасибо
Реакции: Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 943
Благодарностей
4 340
Баллы
113
Какая итоговая длина пути к файлу? Какая фс?
Файловая система - NTFS, итоговая длина пути получается до 200 символов вместе со слэшами.
Из того, что выяснилось ещё - когда сервера начинают умирать, если прервать проект - повторный запуск тут же вызывает проблему, и даже если после прерывания проекта в том же Зенно без перезагрузки запустить старый проект - в котором нет никаких сложностей вообще - он точно так же приводит к той же самой ситуации.
Проверили - перезапуск Зенно полностью решает проблему. Т.е. "ошибочный" проект после перезапуска снова работает нормально."
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)