Как узнать, что именно подвешивает БАС?



  • Привет. За 2 дня закономерность выявить не удалось.
    Как понять что подвешивает БАС? (сам алгоритм есть какой то) ? Причем он не отвечает, его приходится принудительно вырубать. Происходит 1 раз из 10ти запусков.

    Заодно спрошу тут. Стоит ли обнулять переменные и как тут это делается? Как её разустановить? Не обнулить ='', а разустановить.
    В скрипте несколько переменных, среди которых, например

    • код страницы
    • спарсенные ссылки в списке (до 300 записей)
      ну наверное ещё что то по мелочи. От больших списков избавился, все гонится через базу.

    и да, конечно мне бы понять, может дело тупо в железе.
    4Гб оперативки мало... или просто резервы баса мой скрипт исчерпывает полностью и на любом железе будет "висяк"
    или это большая портянка лога его топит...я просто не понимаю куда копать (



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Привет. За 2 дня закономерность выявить не удалось.
    Как понять что подвешивает БАС? (сам алгоритм есть какой то) ? Причем он не отвечает, его приходится принудительно вырубать. Происходит 1 раз из 10ти запусков.

    Заодно спрошу тут. Стоит ли обнулять переменные и как тут это делается? Как её разустановить? Не обнулить ='', а разустановить.
    В скрипте несколько переменных, среди которых, например

    • код страницы
    • спарсенные ссылки в списке (до 300 записей)
      ну наверное ещё что то по мелочи. От больших списков избавился, все гонится через базу.

    и да, конечно мне бы понять, может дело тупо в железе.
    4Гб оперативки мало... или просто резервы баса мой скрипт исчерпывает полностью и на любом железе будет "висяк"
    или это большая портянка лога его топит...я просто не понимаю куда копать (

    Интерфейс подвисает при бесконечных или очень больших циклах без задержки. Добавьте секундную задержку в ваши циклы, должно помочь.



  • @Fox said in Как узнать, что именно подвешивает БАС?:

    @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Привет. За 2 дня закономерность выявить не удалось.
    Как понять что подвешивает БАС? (сам алгоритм есть какой то) ? Причем он не отвечает, его приходится принудительно вырубать. Происходит 1 раз из 10ти запусков.

    Заодно спрошу тут. Стоит ли обнулять переменные и как тут это делается? Как её разустановить? Не обнулить ='', а разустановить.
    В скрипте несколько переменных, среди которых, например

    • код страницы
    • спарсенные ссылки в списке (до 300 записей)
      ну наверное ещё что то по мелочи. От больших списков избавился, все гонится через базу.

    и да, конечно мне бы понять, может дело тупо в железе.
    4Гб оперативки мало... или просто резервы баса мой скрипт исчерпывает полностью и на любом железе будет "висяк"
    или это большая портянка лога его топит...я просто не понимаю куда копать (

    Интерфейс подвисает при бесконечных или очень больших циклах без задержки. Добавьте секундную задержку в ваши циклы, должно помочь.

    Например. Есть список - от туда вынимаем значение, проверяем, если не подходит берем следующее значение. Нужно добавить паузу 1сек перед тем как взять следующее значение? хм, просто это может сильно растянуть время выполнения скрипта,



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    @Fox said in Как узнать, что именно подвешивает БАС?:

    @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Привет. За 2 дня закономерность выявить не удалось.
    Как понять что подвешивает БАС? (сам алгоритм есть какой то) ? Причем он не отвечает, его приходится принудительно вырубать. Происходит 1 раз из 10ти запусков.

    Заодно спрошу тут. Стоит ли обнулять переменные и как тут это делается? Как её разустановить? Не обнулить ='', а разустановить.
    В скрипте несколько переменных, среди которых, например

    • код страницы
    • спарсенные ссылки в списке (до 300 записей)
      ну наверное ещё что то по мелочи. От больших списков избавился, все гонится через базу.

    и да, конечно мне бы понять, может дело тупо в железе.
    4Гб оперативки мало... или просто резервы баса мой скрипт исчерпывает полностью и на любом железе будет "висяк"
    или это большая портянка лога его топит...я просто не понимаю куда копать (

    Интерфейс подвисает при бесконечных или очень больших циклах без задержки. Добавьте секундную задержку в ваши циклы, должно помочь.

    Например. Есть список - от туда вынимаем значение, проверяем, если не подходит берем следующее значение. Нужно добавить паузу 1сек перед тем как взять следующее значение? хм, просто это может сильно растянуть время выполнения скрипта,

    Если список небольшой, то лучше очистить его от лишних данных сразу



  • Если список небольшой,

    Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Если список небольшой,

    Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую

    В смысле?



  • @Fox said in Как узнать, что именно подвешивает БАС?:

    @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Если список небольшой,

    Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую

    В смысле?

    У меня списки от 100 до 1000 записей.
    Что значит список небольшой. В другой моей теме @UserTrue написал что 1000 значений - это небольшой список. Тогда я не понимаю причины подвисонов...
    Поэтому основываясь на том что Вы написали выше, я и думаю до какого кол-ва значений урезать списки



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    @Fox said in Как узнать, что именно подвешивает БАС?:

    @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    Если список небольшой,

    Напишите пожалуйста сколько значений оставить в нем, я оставлю и поэксперементирую

    В смысле?

    У меня списки от 100 до 1000 записей.
    Что значит список небольшой. В другой моей теме @UserTrue написал что 1000 значений - это небольшой список. Тогда я не понимаю причины подвисонов...
    Поэтому основываясь на том что Вы написали выше, я и думаю до какого кол-ва значений урезать списки

    Вам написали уже два варианта решения вашей проблемы. Первый это добавить секундную задержку в цикл, второй это убрать лишние данные сразу. Я считаю, что задача решена



  • @kuzkuz
    Замечал похожие автовыкиды, когда BAS нагружал оперативную память выше 400-500 мб при запуске в 1 поток (у меня тоже 4гб). Можно на это равняться, уменьшая количество ссылок в списке и пробуя разные варианты задержек. Можно прийти к оптимальному варианту.



  • @Fox в моем первом посте я конкретно обозначил вопрос. Попросил совета - какой алгоритм вычисления причин подвисона (у опытных разрабов скриптов на бас). Вообще не факт что причина в списках, но я услышал. Попробую поработать для начала с ними. А да, и там же я спросил, как разустанавливать в бас переменные. Спасибо



  • @IvanM 1,2 потока ни разу проблемы не было. Больше - появляется вероятность зависона. Всем спасибо!



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    От больших списков избавился, все гонится через базу.

    Частые обращения к базе тоже могут вызывать подвисание интерфейса, решается так же - поставьте минимальную задержку перед обращением к базе



  • @Fox подскажите плз, для гет запросов, которые в цикле тоже, также лучше по умолчанию хоть какую то паузу ставить?



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    @Fox подскажите плз, для гет запросов, которые в цикле тоже, также лучше по умолчанию хоть какую то паузу ставить?

    Нет, задержка нужна в бесконечных или очень больших циклах и при частых обращениях к базе



  • @kuzkuz Для запросов не нужно пауза не нужна.



  • @Fox спасибо.
    крайний вопрос в этой теме.
    Наличие большого количества переменных или списков (но не больших, а их просто много), которые тянутся до конца скрипта - могут вызывать такую проблему? (подвисоны)



  • @kuzkuz нет



  • @kuzkuz Из за недостатка оперативной памяти ни разу не видел такой ошибки.
    Обычно она возникает только из за недостатка процессорной мощности.



  • @kuzkuz said in Как узнать, что именно подвешивает БАС?:

    @Fox крайний вопрос в этой теме.
    Наличие большого количества переменных или списков (но не больших, а их просто много), которые тянутся до конца скрипта - могут вызывать такую проблему? (подвисоны)

    Нет, мы как то с @DrPrime проводили эксперементы с большими данными в переменных, особой разницы при обнулении переменных так и не увидели.



  • Отлично! Я хотя бы понял куда "копать", с вашей помощью! Спасибо
    ps нужно купить машину с процессором помощнее ))))


Log in to reply