Форум сайта python.su
1. программа сканирует папку на наличие файлов.
2. если файл найден, то он читается построчно.
3. строчки преобразуются в соответствии с настройками программы
4. преобразованные строчки складываются в новый файл
5. когда все строчки прочитались и переработались
5.а новый файл закрывается и перекладывается в директорию базы
5.б исходный файл перекладывается из сканируемой папки
6. база всасывает новый файл
есть некоторые другие операции. рассказывать подробнее мне не хочется,.. паранойя опять же.
что делает с файлом БД не расскажу, т.к. это не моя часть, да и не думаю, что это важно, т.к. для прекращения тормозов перезапуск БД не требуется, а требуется перезапуск моей программы.
ещё в моей программе есть второй тред. сегодня добавил в него логирования, чтобы отслеживать замедление и в нём, и логирование, есть ли во втором треде накопление объектов.
Офлайн
axeВот об этом я и хотел спросить.
сегодня добавил в него логирования, чтобы отслеживать замедление и в нём, и логирование, есть ли во втором треде накопление объектов.
Офлайн
Lexanderв лог при чтении/разборе исходного файла пишется:
Логгируйте время выполнения каждого из пуктов.
Чтобы локализовать проблему.
reading 1.625 secs, parsing 45.537 secs, decode 27.554 secsreading - это построчное чтение файла и ничего более.
Офлайн
Давайте сначала получим результаты для всех этапов, чтобы можно было делать какое-то выводы.
Было бы неплохо иметь их все в виде линейных графиков в одной системе координат.
И наложить эти данные на используемую память.
Офлайн
axeЭто в момент тормозов?
Информация из шапки top:
Офлайн
У меня есть другой вариант - пусть ваш скрипт складывает готовый файл в другой каталог, не в “директорию базы”(чтобы обойти пункт 6, вы же можете потом эти файлы подбросить базе руками) и посмотреть наличие тормозов.
PS: Я все таки склонен продолжать полагать, что импорт в базу загружает ввод/вывод, а питоновский скрипт сидит на блокировке при чтении(поэтому и время ядра такое большое). Прошу проверить, тем более это самая простая из предложенных проверок - исключить пункт 5а
Отредактировано PooH (Ноя. 28, 2013 04:04:06)
Офлайн
PooH+там ещё помимо этого, кто-то логи пишет на диск.
Я все таки склонен продолжать полагать, что импорт в базу загружает ввод/вывод
Офлайн
o7412369815963Скрипт дампит свою память в файл. При старте считывает дамп в память.
Когда вы перезапускаете скрипт, он начинает сначала, или продолжает с где прервался предыдущий?
o7412369815963локальный логический, который физически использует три части на разных винтах.
Кстати это локальный диск? (не сетевой?)
Офлайн