Отключите все лишнее на целевой странице если она одна, это реально сделать - например скрипты всяких фейсбуков, сторонней аналитики и так далее. Обычно сервесы используют много сторонних скриптов, которые не влияют на работу сайта, но сильно нагружают проц.
Смотрите как идет распределение нагрузки - возможно оно не сплашное, а пиками - тогда можно попробовать запускать потоки более равномерно. Чтоб избегать этих пиков.
Чаще всего можно отрисовку снизить вплоть до 10 (ну 20) .... На загрузку проца, это как раз сильно влияет.
Если сервер свой и без видюхи, то стоит поставить в него видюху.
50 в нынешних условиях для баса с браузером, достаточно много. Можно попробовать разбить на несколько копий баса по 25 например.
Можно использовать рам диск для работы с профилями - но это уже продвинутый уровень.
Break и игнорирование ошибки
-
@Viktor said in Break и игнорирование ошибки:
попробуй Выполнить Код
_break(2)Автор в первом посте написал
@venom777 said in Break и игнорирование ошибки:
Пробовал break2,3 в итоге заново выполняется блок Игнорирования ошибок
-
@Viktor said in Break и игнорирование ошибки:
@venom777 попробуй Выполнить Код
_break(2)
А может дело в том, что надо курсорчик выполнения перемещать не вручную, а по правой кнопке, и там будет "переместить точку выполнения". Типо циклы сбиваются, если вручную перемещать.Про то что циклы сбиваются знаю, к сожалению все это в режиме запуска застал и целый день искал в чем причина.
Я то уже переделал без использования игнорирования ошибок, но все равно интересно как работает break с игнорированием ошибок) -
@Fox said in Break и игнорирование ошибки:
@venom777 У тебя break тоже в игнорировании ошибок лежит? Скинь скрин участка.

@Viktor said in Break и игнорирование ошибки:
@venom777 a в was_error что пишет в разных случаях? Может, условие не выполняется?
Break срабатывает в одной из функций когда скрипт должен прервать работу For 1...99999, вернуться в For 1..3 и взять новое задание и опять упасть в For 1...99999.
Игнорирование ошибок я ставил что бы не заморачиваться и не дописывать обработку get запросов на который пришел плохой ответ внутри функций, хотелось по быстрому обойти проблему.
Скрипт очень большой и уже сложновато его править стало =)) Сейчас попробую объяснить как это работало и что случилось с добавлением игнора ошибок.
БЫЛО
For 1..3 For 1...99999 if прервать == yes break - возвращал к 1..3 else продолжить итерацию 1...99999СТАЛО
For 1..3 For 1...99999 Блок Игнорирование ошибок if прервать == yes break - возвращал не к 1..3 , а к Блок игнорирование ошибок else продолжить итерацию 1...99999И как итог когда получали break внутри игнора - bas начинал выполнять по кругу блок игнорирования ошибки - в итоге в логе начинался жесткий спам и отображало что bas завис (а по факту был лютый спам в файле лога).
-
@venom777 Мне скриншот нужен был, чтобы понять, break у тебя тоже в блоке игнорирования ошибок был? Сейчас тестовый проект сделаю, посмотрю..
А зачем использовать For 1...99999? While в этом плане же лучше?Есть ещё способ использовать метки.
-
@Fox said in Break и игнорирование ошибки:
@venom777 Мне скриншот нужен был, чтобы понять, break у тебя тоже в блоке игнорирования ошибок был? Сейчас тестовый проект сделаю, посмотрю..
А зачем использовать For 1...99999? While в этом плане же лучше?Есть ещё способ использовать метки.
Да break в этом глобальном игноре ошибок который я пометил на скрине, отдельного прямо перед break блока игнорирования ошибок нету, только тот единственный блок игнора, внутри него функция, а в функции break. Работает как надо, но если взять весь этот участок кода в блок игнорирования ошибок, то вот такая штука выходит.
While пока еще не применял, надо будет потестить в новых скриптах, условие While можно получается менять внутри самого цикла? Тогда это было бы и вправду удобнее For.
Когда начинал проект этот создавать о метках еще и слуху не было, а сейчас если где-то меткой воспользоваться, то сбиваются все циклы и вся очередность скрипта.
-
@venom777 В условие While можно вставить переменную, только тебе её нужно объявить перед входом в While. Я не пробовал менять условие внутри цикла, но в теории возможно.

Отличие IF от While именно в условии, в IF пишется условие, чтобы блоки в нём выполнялись. А While будет выполнятся до тех пор, пока не выполнится условие.
-
For 1..3 For 1...99999 Игнорирование ошибок if breakДа, действительно, так работает неправильно.
Это происходит из-за того, что break сейчас работает и как break и как return, а игнорирование ошибок реализовано через вызов функции.
Исправил.
Спасибо, что сообщили.