Спамилка - Форум успешных вебмастеров - GoFuckBiz.com - Страница 3
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.4375
BTC/USD67453.9408
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 01.09.2009, 18:43
Start Post: Спамилка 
  #21
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,870
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

Комуто интересно нечто подобное апостеру, без прокси забивает 100мбит канала влегкую, и проц с оперативкой сильно не жрутся. Проц на процентов 30%, оперативу не помню... но не много. При этом скорость 8к ресурсов в минуту. И сервер еще может работать нормально. Жаль нет возможности потестить на боле широком канале.

С прокси забивает 30мбит при 1000 потоках. 70мбит добивался тоже но жрет много оперативы (1500 потоков = 1.5 гига оперативы), НО проц всего 12-15%. Скорость 3к ресурсов в минуту на 1000 потоках, оперативы сжирает гиг примерно. На 1500 потоках умножайте.....но 2 гига оперативы мало уже.... уходит в своп. Скорость 5к/минута примерно на 1500 потоках.

Тестили на DualCore Xeon 2.33Ghz, 2GB RAM, Linux

Написана на пхп.

Ща сделали что работает на мозгах апостера и пробивает по актив базе.

Конечно с апостером оно пока что не сравниться но мало ли)))

По мере совершенствования буду отписывать ))


APOSTER:
40*40 потоков
30мбит забитого канала
спам через прокси с проверкой поста
60-70% CPU Load
920мб использованной оперативы

Моя Спамилка:
1000 потоков
30мбит забитого канала
спам через прокси с проверкой поста
10-15% CPU Load
1300мб использованной оперативы

Последний раз редактировалось Hector; 02.09.2009 в 01:22.
Hector вне форума  
Старый 02.09.2009, 00:51   #22
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,162
Бабло: $68290
По умолчанию

Гектор, чтобы скрипт не жрал память - перед циклом форкания освобождай всё что можешь (потом наберёшь) + данные для нити получай внутри нити. Т.е. не въезжай в новый поток с общими данными.
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 02.09.2009, 01:06   #23
gcc
Ебланнед
 
Регистрация: 22.11.2007
Сообщений: 2,983
Бабло: $48575
По умолчанию

гектор сам писал?

если сам, то ты вроде б пхп полгода назад начал учить
я ошибаюсь?
__________________
Protecting the future
gcc вне форума  
Старый 02.09.2009, 01:13   #24
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,870
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

Цитата:
Сообщение от JMen Посмотреть сообщение
Гектор, чтобы скрипт не жрал память - перед циклом форкания освобождай всё что можешь (потом наберёшь) + данные для нити получай внутри нити. Т.е. не въезжай в новый поток с общими данными.
Это не я писал, но я передам. Спасибо. Может поможет, тогда будет ваще бомба )

gcc я руковожу ) и плачУ
А так да - пол года назад начал. У меня есть более простые спамилки например спам вордпресс блогов. Этой спамилкой небыло времени заниматься... проще хорошему прогеру платить
Hector вне форума  
Старый 02.09.2009, 10:00   #25
XeonN
/dev/null
 
Аватар для XeonN
 
Регистрация: 16.09.2008
Адрес: Мариуполь / Украина
Сообщений: 803
Бабло: $2302714
Отправить сообщение для XeonN с помощью ICQ
По умолчанию

Что-бы нежрало память нужно делать на неблокируемых сокетах, у меня с мулькурлом везет как утопленику он у меня постоянно течет, и я с ним не могу сделать что-бы постоянно поддерживалось необходимое кол-во потоков.
XeonN вне форума  
Старый 02.09.2009, 10:02   #26
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

Цитата:
Сообщение от Hector Посмотреть сообщение
forks + curl
форки это жесть
хочешь сказать у вас 1500 процессов запускается? Я как-то писал ранее, что форки это просто для удобства программиста, а ядро тем временем постоянно занимается тем, что переключается между процессами, копирует туда-сюда память и вообще делает лишнюю работу.

нужна эффективность = юзайте асинхронные сокеты, даже треды тормозят.
solar вне форума  
Старый 02.09.2009, 11:21   #27
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,870
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

Цитата:
Сообщение от XeonN Посмотреть сообщение
Что-бы нежрало память нужно делать на неблокируемых сокетах, у меня с мулькурлом везет как утопленику он у меня постоянно течет, и я с ним не могу сделать что-бы постоянно поддерживалось необходимое кол-во потоков.
мультикурл это вообще херня, на сокетах делать не хочецца
у меня такое предчувствие что на сокетах мы упремся в загрузку проца (аля апостер)

solar форки - это пока что лучшее решение что я для себя нашел, у меня масса скриптов на них работает, всё очень стабильно и предсказуемо )
Hector вне форума  
Старый 02.09.2009, 11:31   #28
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

сокеты не грузят проц, они шлют данные по сети.

проц грузит переключение контекста между процессами(тредами), плохая логика программы, кривые регулярные выражения, кривой select(), кривые запросы к БД и т.д.

это ж прописные истины
solar вне форума  
Старый 02.09.2009, 11:33   #29
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,870
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

окей, пробанем сокетами, авось будет лучше
Hector вне форума  
Старый 02.09.2009, 13:41   #30
elkipalki
Member
 
Регистрация: 25.03.2009
Сообщений: 36
Бабло: $2010
По умолчанию

Hector, а чем собственно чем мulticurl херня ?
elkipalki вне форума  
Старый 02.09.2009, 14:13   #31
dveredel
Читатель
 
Аватар для dveredel
 
Регистрация: 23.11.2007
Сообщений: 420
Бабло: $48745
По умолчанию

Я не Гектор, но отвечу от себя.

Я писал мультипоточный движок и на курле и на сокетах.

Минусы мультикурла:
- глючность и вылеты библиотеки при определенных условиях.
- глючные таймауты с коннектом через прокси (игнорирует устанавливаемое значение и использует внутреннее на 30+ секунд, особенно проблема всплывает с соксами)
- БЛОКИРУЕМЫЙ коннект (на 100% не уверен, но по наблюдениям и тестам так и есть)
- постоянные утечки памяти.
- невозможность принудительно закрыть соединение в процессе загрузки страницы (даже если вешать read handler, то из него курл не позволяет закрыть коннект)

Плюсы курла:
- готовая либа с полной реализацией ХТТП и ХТТПС
- относительная простота использования и логики написания
- внутренняя логика написана на си, соотв. скорость.
- встроенная поддержка всех типов прокси
-----------------------

Под сокетами мы понимаем чистые пхпшные обертки на сишными функциями, т.е. никаких fsockopen и стримов, поскольку в пхп НЕБЛОКИРУЮЩИЙ (асинхронный) коннект можно реализовать только на чистых сокетах.

Минусы сокетов:
- очень сложно-программируемая логика, требующая внимательности и полного понимания процесса.
- всю логику отсылки запросов и парсинг ответа приходится реализовывать самому (т.е. весь HTTP).
- если требуется HTTPS (на чистых сокетах, без стримов), то это практически анрил, из за отсутствии документации и нереального гемора при написании самому с нуля.
- при работе через соксы требуется знание протокола и отличие сокс4 от сокс5

Плюсы:
- скорость, скорость и еще раз скорость. грамотный сокетный движок шпарит так что мама не горюй и может забить весь канал который есть.
- возможность реализовать полностью асинхронный коннект.
- минимальное потребление ресурсов (опять же только при грамотном написании, со слипами, контролем за объемом данных и прочим)
- полный контроль над данными ответа (можно из ответа прочитать например первые N-байт и принудительно закрыть сокет) и запроса (нестандартные заголовки, нестандартный протокол и т.п.)

-------

Ну а, как писалось выше, форки и\или запуск копий скрипта - это верный пусть к полной загрузке сервака.
dveredel вне форума