@Paradox рад что кто то пользуется )
SQL - Модуль для работы с SQL базами данных
-
@UserTrue Табличку оставить не могу. Это мои акки. Но вот параметры: более 300 строк, 5 колонок, 1 из которых - email'ы и одна - прокси в полном виде (http:логин:пароль:ip:порт). Это уже как минимум выглядит достаточно массивно. Практически одновременно из этой таблицы читают данные ~30 потоков. Происходит пик потребления ЦП у процесса ноды, значения доходят до ~30%. Через несколько секунд нагрузка падает до ~0
-
@DoctorKrolic said in SQL:
Практически одновременно из этой таблицы читают данные ~30 потоков.
Я думаю это супер плохая идея. Каждый раз надо обратиться к диску прочитать это все в ОЗУ, завернуть в различные структуры данных. Короче это уйма работы, ничего удивительного, что прыгает нагрузка.
Либо используйте БД, либо читайте свою табличку один раз и кидайте данные в ресурс.
-
@DoctorKrolic, попробуйте данную Excel.zip версию модуля
-
@GhostZ Воу, а вы, однако, очень продуктивно работали за последние месяцы) Спасибо за обновлённую версию. Вот сейчас на скорую руку сделал тестовый скрипт, который тупо в 10 потоков построчно перебирает таблицу в 300 строк, и особо разницы в потреблении ЦП нодой не увидел, и в старой, и в новой версии 25-30%. Но это явно не тот результат, который будет в нормально составленном скрипте.
-
@efbb4956bf Несколько новых действий вы, похоже не заметили. + багфиксы. Я лично убедился в одном из них. Да и, думаю, в changelog'е новой версии будет указано что конкретно изменили/пофиксили. Это ж ведь модуль, который 100% в новую сборку попадёт
-
@efbb4956bf, фиксы и улучшения кода, новые действия получения/изменения размеров строк/столбцов, была изменена функция проверки блокировки файла, что должно увеличить скорость и уменьшить нагрузку.

@DoctorKrolic said in SQL:
@GhostZ Воу, а вы, однако, очень продуктивно работали за последние месяцы)
Просто пока велась работа над добавлением нового движка и обновления BAS не выходили, копился невыпущенный контент.
-
@efbb4956bf, читает один поток, остальные потоки ждут, а потом прочитанные данные доступны во всех потоках.
-
@efbb4956bf, в один, как вы собираетесь один и тот же файл сохранять в многопотоке?
-
@booldozer, какой диалект?
-
@booldozer, приложите тестовый скрипт
-
Не знаю как у других, но при первом соединении или после истечения таймаута запрос к базе всегда происходит с ошибкой.
Для действия "Получить одну запись" и "Получить несколько записей" не помешало бы добавить возможные значения для пункта "Формат данных" в выпадающем списке. Сейчас чтобы изменить приходится печатать руками.
И при неверном значении данных в "Получить одну запись" для поля "Формат данных" результат возвращается в виде объекта. По логике должно выдать ошибку как в "Получить несколько записей". -


