У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Вопрос по ресурсы .. держит весь файл в памяти? Если да, будет вопрос по логике
-
@kuzkuz Вам правильно написали
@Katant said in Вопрос по ресурсы .. держит весь файл в памяти? Если да, будет вопрос по логике:
@kuzkuz Вроде как читает каждые 10к строк
-
@UserTrue Хорошо. Спасибо. ~~Значит первые 10тыс строк. Ок, вопрос. Если в файл содержит 30тыс+ строк, загоняем его в ресурс. Обращаемся 30 раз в цикле, (установка у ресурса - "перемешивать", )чтобы получить 30 рандомных значений, которыми потом будем оперировать. Подскажите, пожалуйста, как удалить ресурс, (только для этого потока) чтобы разгрузить машину?
Надо двигаться в сторону базы, видимо, как мне ранее и советовали, там полагаю можно заранее перемешать и вытащить 30, а не держать 10 тыс...Но мануала по работе с базой не нашел.~~
-
@kuzkuz said in Вопрос по ресурсы .. держит весь файл в памяти? Если да, будет вопрос по логике:
@UserTrue так огорода нет.)) Большая выборка значений в файле. Список перемешивается и рандомно берется 3 значения. Если мало, берется ещё одно. Я просто ищу варианты съэкономить ресурсы ))
BAS плохо работает с большими файлами, в совсем больших он перестанет удалять элементы, даже если стоит опция "запись".
Хотите сэкономить ресурсы - используйте специализированные решения для каждой задачи. База отлично справится с этим. -
@kuzkuz said in Вопрос по ресурсы .. держит весь файл в памяти? Если да, будет вопрос по логике:
@Fox спасибо. Вы ответили на мой вопрос . Поищу мануал по базе.
А сейчас , пока что, большой файл пилится на несколько маленьких...