@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день
-
@f0cus said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
@FastSpace Тыже сам радовался sdd/ своему. Весьма костыльно, но если подключить вместо sdd hdd он и дешевле и долше?. Ну или если тебе прям надо много и очень быстро серверный hdd. но там цена конечно удивит.
Точно, диски SAS. Скорость тоже смотрю не унылыгое говно как HDD.
Посмотрел цена приемлима для 6 TB. Это хватит кокраз для 10к профилей в сутки + 10к тех кто на регу там лежит. -
ну что тут придумаешь:
- запретить картинки через mask deny, итого 5 действий:
*.jpg
*.gif
.jpeg
.png
.svg
(форум порезал звездочки)
если только часть картинок надо отрубить, то смотри через инструменты разработчика -> network какие конкретно урлы надо запретить, для фейсбука аватарки примерно так запрещать:
https://scontent-ham3-1.xx.fbcdn.net/v/t1.0-1/p240x240/.jpg? или .fbcdn.net/v/t1.0-1/p240x240/_n.jpg? - удалять папку кеша через работу с файловой системой (их там две сейчас /cache и /code cache) перед началом использования профиля. авторизации не слетают. можно и в конце работы скрипта тоже кеш удалить, но тогда не до конца удалится, но 5-10 метров с аккаунта почистит.
- запретить картинки через mask deny, итого 5 действий:
-
- Гугл палит это, потом можешь хоть обогреться. Запросы перестанут уходить в аналитику и прогрев не будет идти в зачет.
- Это тоже не вариант - удаление кэша еще быстрее снизит время жизни диска. Кэш уже записался и ресурсы диска потратились.
-
@Evheniu said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
а видел в каждом профиле в новой версии бас, появилась папка Code Cache, она не хило так занимает места, её не очищал?
Я видел, она занимает у меня 70 МБ, основная папка с кэшем 400 (у 1 профиля). А если честно не хочеться туда лезть и чето ковырять не имея детальной инструкции. Фиг его знает как это влияет палево сайтами.
Плюс там еще какие-то проблемы когда профиль на сетевом диске, саппорт писал адаптировал только кукисы передачу. Тоже хер его знает чего там не хватает теперь и будет ли этот профиль вообще гретым на другом пк.
-
@mjeday said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
У себя глянул, около 450 профилей 4,5 Гб весят. Как у вас получилось в 27 раз больше места? O_o
Смотря что с ними делать, если их юзать под один два сайта то они буду меньше, чем если их нагуливать по куче случайных сайтов для которых будет сохраняться куча кэша
-
@Evheniu said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
@FastSpace а какую версию бас ты используешь сейчас?
22.7.1
-
@Evheniu said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
@FastSpace у тебя нету проблемы с тем, что на новой версии потоки бас сильнее грузят процессор?
Есть и грузит сильнее. Это движок и с этим ничего нельзя сделать.
У меня есть старый комп 4 ядра - 4 потока - 3300 Мгц. Есть сайт который просто при его загрузке через действие "загрузить" на 100% загружает четырядерный процик на несколько секунд. Так в обычном хроме, так и в BAS. Это не майнер и не вирус. На сайте много рекламы и много js скриптов, много фреймов. -
@FastSpace если на канал 500 мб\с+ , то можешь смело цеплять арендованый vhs и не заморачиваться по поводу места и износа железа
-
@artihorror там неадекватные цены, а еще если с жестаком на много терабайт.
Это печаль кароче, если завтра профиля будут нужны уже от 100+ часов гретые, как в домашнем хроме, то это сколько же надо места.... В моем домашнем хроме профиль 3.5 весит 😁 -
а в облаках или др. сервисы использовать для хранения не пробовали?
можно подключать те же облака как виртуальный диск или папку например.
хотя тут может встать канал при таком трафике.
и дороже чем купить диск.продлить работу диска можно использовав более оптимальную файловую систему
-
@tet-vivi said in Понадобилось мне значит 10000 (десять тысяч) гретых профилей в день:
а в облаках или др. сервисы использовать для хранения не пробовали?
можно подключать те же облака как виртуальный диск или папку например.
хотя тут может встать канал при таком трафике.
и дороже чем купить диск.продлить работу диска можно использовав более оптимальную файловую систему
Да это вариант, был до какого-времени. Гугл в движке профиль к локали чето привязал и теперь в облаках и сетевых дисках этот профиль может быть уже не совсем гретым. Я пока не изучал этот вопрос подробно, но чую там неладное.
-
@FastSpace если по простому то можно нужный профиль перекидывать с облака на ссд, отработать, и опять в облако.
@FastSpace случаем использовал гугл диск без стороннего средства шифрования?
в гугл бизнес самые выгодные тарифы за 1 гб вроде как.
диски 8+тб имеют особенность, что при повреждении корпуса восстановить данные обычно невозможно.