Отключите все лишнее на целевой странице если она одна, это реально сделать - например скрипты всяких фейсбуков, сторонней аналитики и так далее. Обычно сервесы используют много сторонних скриптов, которые не влияют на работу сайта, но сильно нагружают проц.
Смотрите как идет распределение нагрузки - возможно оно не сплашное, а пиками - тогда можно попробовать запускать потоки более равномерно. Чтоб избегать этих пиков.
Чаще всего можно отрисовку снизить вплоть до 10 (ну 20) .... На загрузку проца, это как раз сильно влияет.
Если сервер свой и без видюхи, то стоит поставить в него видюху.
50 в нынешних условиях для баса с браузером, достаточно много. Можно попробовать разбить на несколько копий баса по 25 например.
Можно использовать рам диск для работы с профилями - но это уже продвинутый уровень.
Управление BAS из вне
-
@myweb101 Ветка старая, но всё же, вдруг понадобится кому..
await(new Promise((resolve, reject) => { var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('<h1>Hello World!</h1>'); }); app.get('/quit', function (req, res) { res.send('closing..'); server.close(); console.log('Exit'); resolve(); }); var server = app.listen(3000, function () { console.log('Example app listening on port 3000!'); }); }));Интересная тема так то, можно вешать обработчики запросов..
-
Вот например тестовый проект. Запускает сервер и ждёт данные из get-запроса вида:
127.0.0.1:3000/quit?pr1=1&pr2=2&pr3=3Отображает на странице данные параметров:

Сохраняет полученные данные в переменные [[PR_1]], [[PR_2]], [[PR_3]]

При попытке запуска двух серверов (например, в многопотоке) – будет конфликт портов и ошибка.
При многопотоке можно выделять отдельный порт для каждого потока, либо выделить сервисный поток для передачи данных через глобальные переменные или ресурс. -
0_1521999720245_test242-получаем-из-запроса-данные.xml
Как то странно работает открываю в хроме http://127.0.0.1:3000/ показывает цифру 1 обновляю тоже показывает 1 открываю браузер инкогнито показывает 2 обновляю тоже показывает 2 закрываю обновляю на обычной версии показывает 3 потом обновляю в инкогнито показывает 4 если обновить вкладку почему та не срабатывает скрипт -
@GamiD Смотри, строчка:
res.send("="+[[NEW_VARIABLE]]+"=");Говорит, что твой сервер будет отдавать данные, то есть рисовать страничку.
Далее у тебя в скрипте стоит Увеличить переменную, которую ты показываешь на этой странице.
Получается ты заходишь на страницу и получаешь значение [[NEW_VARIABLE]], чтобы сработал await должна сработать функция app.get('/',, которая ждёт после адресса слеш:http://127.0.0.1:3000/ -
Интересная особенность сервера в том, что после запуска в BAS он работает автономно. То есть скрипт в BAS выполняет следующие любые действия, а сервер при этом работает независимо от скрипта.
Вот тестовый скрипт с простым счётчиком.

Запустите скрипт в режиме записи, выполните экшен node js и пока не закроете скрипт счётчик будет работать.
-
Кстати можно и без await:
var i = 0; var express = require('express'); var app = express(); app.get('/1', function (req, res) { res.send('<a href="http://127.0.0.1:3000/1">http://127.0.0.1:3000/1</a> ='+ i +'='); ++i; console.log('Next'); }); var server = app.listen(3000, function () { console.log('Example app listening http://127.0.0.1:3000/1'); });Интересно как можно получать данные из сервера node js в BAS на живую...
-
Оказалось что получать данные из сервера node js можно через глобальные переменные node js
:D.

-
@Fox Исправлюсь =) запускаю 2 потока на первом потоке скрипт работает без сервера с переменными во втором потоке запускается node, после запуска сервера первый поток перестает работать когда открываешь адрес http://127.0.0.1:3000 второй поток где есть node перезагружается тогда работает несколько секунд первый поток и обратно зависает
тоесть зависает полностью бас -
-
@Fox А я не запускаю 2 сервера а сервер запускается только во втором потоке а первый поток получает данные через http клиент и записывает в текстовый файл а второй поток где запускается сервер он читает данные из текстового файла и выводит через сервер
-
@Fox второй поток где у меня запускается сервер он делает так читает 3 файла через for и проверяет есть там текст который нужен или нет если есть идет дальше и запускает сервер если нет проверяет постоянно вот во время проверки бас зависает как только я в ручную добавляю в текстовый файл нужный текст сразу бас оживляется и после того как доходит обратно до проверки текста зависает завтра покажу проект
-
@Fox said in Управление BAS из вне:
Вот тестовый скрипт , работающий в два потока. В первом определяется сервер, во втором выводит в лог надпись Test каждые 10 секунд. Всё работает и ни чего не зависает.
если убрать задержку во втором потоке зависает =)