Живая связь двух скриптов **BAS**



  • Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил :(

    Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

    0_1497443302994_forum14.png

    Думаю после тестовых суток, увеличить пропуск кадров до 500-600 у второго скрипта. Плюс убрать всевозможные автоматические обновления..

    Связь между скриптами идёт через базу, время срабатывания 0-1 секунда. Что приятно радует.



  • @Fox said in Живая связь двух скриптов **BAS**:

    Вообщем запустил два скрипта, первый с пропуском кадров 1 и в 1 поток, второй с пропуском кадров 300 и в 45 потоков. Сильного прироста производительности я не заметил :(

    Хотя больше грешу на обновления винды, появлялось окошко на счёт windows creators update.. А убрать автоматические обновления как то руки не доходят..

    0_1497443302994_forum14.png

    Думаю после тестовых суток, увеличить пропуск кадров до 500-600 у второго скрипта. Плюс убрать всевозможные автоматические обновления..

    Связь между скриптами идёт через базу, время срабатывания 0-1 секунда. Что приятно радует.

    хера се ты насилуешь проц , ты че там битки майнишь что ли ? )

    слухай у тебя в этом шаблоне регулярки юзаются? часто?



  • @Zenodrot у меня скрипт на 4000 строчек, пока самый масштабный мой проект. Больше всего нагружают проц потоки, к сожалению я их не смог перевести на get-запросы. Точнее часть функций реализована на запросах, но для получения данных, а не для отправки. Для отправки они используют шифрование..

    Сутки не выждал теста. Спустя час система сервера зависает, пинги не идут, хоть и находится в одной локальной сети, TeamViewer говорит, что сервер оффлайн.
    Запустил не в 45, а в 22 потока, полёт нормальный, всё отрабатывает как надо, всё идеально.. даже обидно блин.. Скрипт в 20 потоков приносит больше выгоды, чем в 40 потоков..

    И регулярки там есть, но не так уж и часто. Да я и сомневаюсь, что проседает производительность из за регулярок.



  • Поставил сейчас пропуск кадров 2000, дак ни одна страница не загрузилась :D.

    Поток завершился с сообщением "Таймаут во время выполнения LoadPage https://*
    

    Видимо команду, что страница полностью загружена выдаёт браузер через js, а BAS не успевает её получить до таймаута в 120 000мс.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot у меня скрипт на 4000 строчек, пока самый масштабный мой проект. Больше всего нагружают проц потоки, к сожалению я их не смог перевести на get-запросы. Точнее часть функций реализована на запросах, но для получения данных, а не для отправки. Для отправки они используют шифрование..

    Сутки не выждал теста. Спустя час система сервера зависает, пинги не идут, хоть и находится в одной локальной сети, TeamViewer говорит, что сервер оффлайн.
    Запустил не в 45, а в 22 потока, полёт нормальный, всё отрабатывает как надо, всё идеально.. даже обидно блин.. Скрипт в 20 потоков приносит больше выгоды, чем в 40 потоков..

    И регулярки там есть, но не так уж и часто. Да я и сомневаюсь, что проседает производительность из за регулярок.

    я недавно решил регуляркой выжить инфу из строк в 300 000 шт
    у меня виртуалка колом встала



  • @Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.

    ок, я к вечеру скину, там обычно все, берем в список 300 000 строк из них нужно взять мыло и пасс остальные строки без пасса пару экшенов, и на том моменте где происходит отработка регулярки, оператива и проц забивает на 100 %



  • Поставил сейчас таймаут по больше. Пропуск кадров 2000, пока вроде всё нормально работает :) Интересный момент:
    @support said in Пропуск Кадров:

    Установка пропуска кадров означает, что вся отрисовка, выполнение js и вообще все действия связанные с работой браузера будут производиться раз в пропуск кадров / 30 секунд.

    У меня пропуск кадров стоит 2000 / 30 секунд, выходит один кадр в 66 секунд, но у меня отрисовка выходит где то раз в 30 секунд..



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Ну я с максимальным текстовым объёмом работал на 2-3 мегабайта. Всё нормально работало. Думаю дело не в регулярке, а в логике программирования. Скинь тестовый проект, гляну. Если действительно использование регулярных выражений сильно сказывается на призводительности, буду перекраивать свой проект.

    лови. в архиве список его на диск c:/, после выполнения на с:/ создается список с результами

    *На зенке точно такой же проект с этой же точно регуляркой (идентичная регулярка) отрабатывает на ура. 1 секунда и готово
    в басе полное зависания системы оператива под 100 и проц
    если строк мало то нормально а 300 000+ строк сразу дохнет
    0_1497535261340_mails.rar

    в зенке точно такая же логика читаем список в переменку в переменке парсим
    alt text
    alt text

    думал регулярка изощренная слишком, нужно меньше комбинаций для вычесления выражения, тк список не маленький, но ХЗ в зинке то все норма ресурсов хватает успешно...



  • @Zenodrot Вот твой скрипт . Отрабатывает за 1 секунду.

    0_1497535869570_forum15.png

    Я всего то убрал ресурсы вообще, прочитал из файла и применил твою регулярку.

    Судя по твоему скриншоту из зенки, ты там как раз так и делал. Читал файл и применял регулярку.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Вот твой скрипт . Отрабатывает за 1 секунду.

    0_1497535869570_forum15.png

    Я всего то убрал ресурсы вообще, прочитал из файла и применил твою регулярку.

    ща тестну без ресурсов



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Вот твой скрипт . Отрабатывает за 1 секунду.
    Судя по твоему скриншоту из зенки, ты там как раз так и делал. Читал файл и применял регулярку.

    Дак вот же скрипт, твой, только без ресурсов.



  • тоже самое полное зависание вимртуалки
    очень важный момент
    у меня на вирте 4 гиг два ядра по 3.5
    у тебя выполнялось ибо ты с хостовой машины выполнял где ресурсов в разы больше
    попробуй список увеличить



  • @Zenodrot А вот твой же test.xml, даже с ресурсами. Только без экшена ресурс в список.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot А вот твой же test.xml, даже с ресурсами. Только без экшена ресурс в список.

    стопе, я переписывал читать фаил в список, у тебя просто читаеться

    то так да все нормально выполнилось



  • @Zenodrot Поспешил :) срабатывает быстро, если применять регулярку сразу к ресурсу, только вот не работает.
    Зато если взять из файла и сразу к нему применить регулярку, то всё прекрасно срабатывает.



  • @Fox said in Живая связь двух скриптов **BAS**:

    @Zenodrot Поспешил :) срабатывает быстро, если применять регулярку сразу к ресурсу, только вот не работает.
    Зато если взять из файла и сразу к нему применить регулярку, то всё прекрасно срабатывает.

    да,да с ресурсом не катит, если не читать файл в список, а читать просто файл тогда отрабатывает нормально
    так не нагружает
    вывод, что при чтении файла в список и потом в этой переменки парсить список это не правельно, но если прочитать файл не как список и спарсить то все норма
    пля без пузырька не разберешься )

    если админ уведет это сообщение, может даст комментарий по этому поводу почему так отжирает ресурсы в первом случае. Ведь это подводный камень может быть для новичков.

    p.S
    Лис, МБ в твоем шабе есть подобные камешки, не думал об этом?



  • @Zenodrot Нет :) Подобных камней у меня точно нет. У меня всего три ресурса. И экшена ресурс в список я не использую. Да и с большими объёмами информации скрипт не сталкивается.



  • @Fox нашел как нагрузку на проц уменьшить? 8х2.5 85-90% хавает в 80 потоков



  • @artihorror said in Живая связь двух скриптов **BAS**:

    @Fox нашел как нагрузку на проц уменьшить? 8х2.5 85-90% хавает в 80 потоков

    8х2.5 Это в смысле восьмиядерный проц с частотой 2.5 гигагерца?

    Нагрузку на проц очень хорошо снижает пропуск кадров, @support хотел как то сделать надстройку, чтобы регулировать для каждого потока пропуск кадров. Но пока её нет, я реализовал через два скрипта. Один парсит нужную информацию с пропуском кадров 1 и записывает в базу. А второй скрипт с огромным пропуском кадров 2000 (рендерит один кадр в 30 секунд) применяет полученную информацию из базы. Вообщем пока идёт тест на моей машине, завтра-послезавтра закину на сервер, тогда смогу сказать, есть польза от этого или нет :).

    Думаю ещё освобождать промежуточные переменные, например получив отпечаток в переменную FINGERPRINT я его применяю, но больше, эту переменную ни как не использую. А в оперативке она висит у каждого потока.
    Или после get-запроса содержание ответа получаю в переменную SAVED_CONTENT из которой получаю нужную информацию через регулярку, либо xpath. Но сама переменная тоже висит в оперативке.

    Возможно конечно я не прав, и BAS как то выгружает не используемые переменные из оперативки на винт например..


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.