Инструменты пользователя

Инструменты сайта


ru:project-optimization

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
ru:project-optimization [2013/01/15 10:25]
adminsama
ru:project-optimization [2013/01/16 15:26]
rostonix
Строка 16: Строка 16:
   - [[ru:​screenshot-search|Поиск по скриншоту]]. Эта фича тратит много оперативной памяти. Но очень полезна :)   - [[ru:​screenshot-search|Поиск по скриншоту]]. Эта фича тратит много оперативной памяти. Но очень полезна :)
  
-Процессор+===== Процессор ​=====
 Каждый поток в ZennoPoster строит DOM модель,​ рендерит картинку,​ выполняет JS, обрабатывает события,​ обрабатывает анимацию и т.д. все это требует ресурсов процессора. Также процессор нагружается при периодической перезагрузке инстансов. Каждый поток в ZennoPoster строит DOM модель,​ рендерит картинку,​ выполняет JS, обрабатывает события,​ обрабатывает анимацию и т.д. все это требует ресурсов процессора. Также процессор нагружается при периодической перезагрузке инстансов.
-Есть несколько способов экономии процессора:​ +Есть несколько способов экономии процессора:​\\ \\ 
-1) Отключение обработки ненужных элементов:​ флеш, картинки,​ скрипты и все что не нужно. Обратите внимание,​ если сайт с хорошей защитой,​ то это может повлиять на бан аккаунтов. Т.е. регистрация пройдет,​ но созданный аккаунт вызовет подозрения и в дальнейшем может быть забанен.  +  ​- ​Отключение обработки ненужных элементов:​ флеш, картинки,​ скрипты и все что не нужно. Обратите внимание,​ если сайт с хорошей защитой,​ то это может повлиять на бан аккаунтов. Т.е. регистрация пройдет,​ но созданный аккаунт вызовет подозрения и в дальнейшем может быть забанен.\\ \\ 
-2) В настройках программы есть возможность регулирования кол-ва потоков на одной базе. Увеличив этот параметр,​ вы немного экономите память и процессор,​ но появляются дополнительные задержки при эмуляции мыши и клавиатуры. Про эмуляцию читайте дальше. +  ​- ​В настройках программы есть возможность регулирования кол-ва потоков на одной базе. Увеличив этот параметр,​ вы немного экономите память и процессор,​ но появляются дополнительные задержки при эмуляции мыши и клавиатуры. Про эмуляцию читайте дальше.\\ \\ 
-3) IntelliSearch и эмуляция. IntelliSearch увеличивает расход ресурсов процессора (в 2-3 раза), но помогает быстрее создавать проекты. Использовать его или нет, решайте сами. Эмуляция мыши и клавиатуры тоже немного увеличивает расход процессора и создает эффект,​ описанный в (2). Но иногда без нее просто нельзя создать аккаунт. Также эмуляция при регистрации аккаунта понижает вероятность бана аккаунта в будущем при дальнейшем его использовании. +  - [[ru:​intelisearch|IntelliSearch]] и [[ru:​mouse-keyboard-emulation|эмуляция]]. IntelliSearch увеличивает расход ресурсов процессора (в 2-3 раза), но помогает быстрее создавать проекты. Использовать его или нет, решайте сами. Эмуляция мыши и клавиатуры тоже немного увеличивает расход процессора и создает эффект,​ описанный в (2). Но иногда без нее просто нельзя создать аккаунт. Также эмуляция при регистрации аккаунта понижает вероятность бана аккаунта в будущем при дальнейшем его использовании.\\ \\ 
-4) Программное распознавание капчи при использовании модулей из CapMonster тоже расходует процессор. Сколько времени одного ядра процессора нужно для распознавания каптчи написано в CapMonster при тестировании модуля. На самом деле, даже если вы тратите 10 секунд ядра процессора (хотя такого не бывает,​ обычно это меньше четверти секунды) на распознавание каптчи,​ это все равно дешевле,​ чем отправлять капчу в сервисы ручного распознавания. +  ​- ​Программное распознавание капчи при использовании модулей из CapMonster тоже расходует процессор. Сколько времени одного ядра процессора нужно для распознавания каптчи написано в CapMonster при тестировании модуля. На самом деле, даже если вы тратите 10 секунд ядра процессора (хотя такого не бывает,​ обычно это меньше четверти секунды) на распознавание каптчи,​ это все равно дешевле,​ чем отправлять капчу в сервисы ручного распознавания.\\ \\ 
-5) Поиск по картинке тратит и ресурсы процессора тоже. Но все равно остается очень полезной фичей :)+  - [[ru:​screenshot-search|Поиск по скриншоту]] ​тратит и ресурсы процессора тоже. Но все равно остается очень полезной фичей :)
  
-Время потока 
-Обратите внимание на этот параметр. Во время распознавания капчи в сервисах ручного распознавания происходит простой проекта около 15 секунд (пока работники сервисов распознают вашу капчу). За это время процессор практически не работает для этого потока. Благодаря этому (если в проекте есть такое действие) общее кол-во потоков,​ которое можно запустить на одной машине резко увеличивается. ​ 
-Т.е. вы можете запустить 30 потоков,​ на которых ваш проект все время открывает web страницы без распознавания каптч (обычный парсер,​ например). И это займет все ресурсы процессора. ​ 
-Или 150 потоков с проектом (регистратор аккауната),​ в котором есть распознаванием капчи через сервисы. И это займет всю оперативную память. 
-Аналогично с подтверждением регистрации по email, когда поток ждет письмо. В этом случае тоже происходит простой потока. 
  
-Интернет канал +===== Время потока ===== 
-Здесь все просто. Вы открываете web страницу - при этом она скачивается с сервера и все картинки,​ flash, скрипты и т.д., которые есть на ней. Если вы чистите кэш, то все скачивается постоянно,​ если нет - то потребление этого ресурса сильно понижается. +Обратите внимание на этот параметр. Во время распознавания капчи в сервисах ручного распознавания происходит простой проекта около 15 секунд (пока работники сервисов распознают вашу капчу).\\ За это время процессор практически не работает для этого потока.\\ Благодаря этому (если в проекте есть такое действие) общее кол-во потоков,​ которое можно запустить на одной машине резко увеличивается.  
-Обычно кэш нужно чистить,​ без очистки кэша web ресурс поймет,​ что вы уже заходили на него, даже если вы используете proxy.+Т.е. вы можете запустить 30 потоков,​ на которых ваш проект все время открывает web страницы без распознавания каптч (обычный парсер,​ например). И это займет все ресурсы процессора.\\ Или 150 потоков с проектом (регистратор аккауната),​ в котором есть распознаванием капчи через сервисы. И это займет всю оперативную память.\\ Аналогично с подтверждением регистрации по email, когда поток ждет письмо. В этом случае тоже происходит простой потока. 
 + 
 +===== Интернет канал ​===== 
 +Здесь все просто. Вы открываете web страницу - при этом она скачивается с сервера и все картинки,​ flash, скрипты и т.д., которые есть на ней. Если вы чистите кэш, то все скачивается постоянно ​при работе проекта, если нет - то потребление этого ресурса сильно понижается. ​\\ 
 +Обычно кэш нужно чистить,​ без очистки кэша web ресурс поймет,​ что вы уже заходили на него, даже если вы используете proxy.\\
 Интернет канал может быть широким,​ тем не менее, ограничивать работу программы из-за малого кол-ва разрешенных открытых соединений,​ о которых читайте далее. Интернет канал может быть широким,​ тем не менее, ограничивать работу программы из-за малого кол-ва разрешенных открытых соединений,​ о которых читайте далее.
  
-Открытые соединения +===== Открытые соединения ​===== 
-Что это такое можно узнать у гугла, а сколько таких соединений поддерживает ваша сеть можно узнать у проксичекера. В нем есть тест канала и его онлайн мониторинг.+Что это такое можно узнать у гугла, а сколько таких соединений поддерживает ваша сеть можно узнать у [[ru:​proxychecker:​about|проксичекера]]. В нем есть тест канала и его онлайн мониторинг.
 На поток с установленной прокси нужно 2 соединения. Без прокси - до 32. На поток с установленной прокси нужно 2 соединения. Без прокси - до 32.
 Обычно соединения урезаны домашними провайдерами,​ но чаще модемами,​ обычно доступно около 300, дальше модем просто перестает отвечать на запросы,​ в то время как выделенные сервера поддерживают тысячи (15000 на серверах от hetzner.de) Обычно соединения урезаны домашними провайдерами,​ но чаще модемами,​ обычно доступно около 300, дальше модем просто перестает отвечать на запросы,​ в то время как выделенные сервера поддерживают тысячи (15000 на серверах от hetzner.de)
 Учитывайте,​ что проксичекер использует соединения. От 1 соединение на поток проксичекера. Учитывайте,​ что проксичекер использует соединения. От 1 соединение на поток проксичекера.
  
-В итоге. +===== В итоге ​===== 
-Каждый проект может требовать разное кол-во ресурсов. Один может использовать 15 MB оперативной памяти на поток, другой 1 GB, аналогично с ресурсами процессора - все зависит от задач. ​+Каждый проект может требовать разное кол-во ресурсов. Один может использовать 15 MB оперативной памяти на поток, другой 1 GB, аналогично с ресурсами процессора - все зависит от задач.\\
 При создании программы мы в первую очередь экономили ваше время, все остальное легко настраивается и масштабируется. При создании программы мы в первую очередь экономили ваше время, все остальное легко настраивается и масштабируется.
  
-Самый быстрый и экономный по памяти проект это: +===== Настройка кол-ва потоков по умолчанию ​===== 
-С отключенными flash, картинками,​ скриптами. +В настройках ZennoPoster можно поставить максимальное кол-во потоков,​ которые могут будут одновременно запущены. Есть рекомендуемое значение потоков,​ основанное на приблизительной оценке мощности вашего компьютера.\\ 
-Без использования эмуляции и IntelliSearch. +Если вы прочитали предыдущие пункты,​ то вам уже ясно, что кол-во потоков очень сильно зависит от проекта и подбирается вручную индивидуально для ваших задач. Для этого просто плавно прибавляется кол-во потоков,​ пока один из ресурсов компьютера не будет исчерпан.\\ 
-С включенной синхронизацией с файлом при использовании списков и таблиц. +Нужно учесть один нюанс: расход процессора можно немного превысить,​ т.е. если у вас он загружен на 100% увеличение потоков на 10-15% практически ничего не изменит,​ а главное,​ не ухудшит. Просто потоки будут ждать некоторое время освобождения этих ресурсов.\\ 
-Без распознавания каптч через сервисы и без подтверждения регистрации по email. +Оперативная память,​ наоборот,​ не должна забиваться полностью,​ всегда лучше оставлять 10-30%. Если она кончится,​ это может привести к падению ZennoPoster и всех остальных программ на вашем компьютере.\\
-Без поиска по картинке. +
- +
-Настройка кол-ва потоков по умолчанию. +
-В настройках ZennoPoster можно поставить максимальное кол-во потоков,​ которые могут будут одновременно запущены. Есть рекомендуемое значение потоков,​ основанное на приблизительной оценке мощности вашего компьютера. +
-Если вы прочитали предыдущие пункты,​ то вам уже ясно, что кол-во потоков очень сильно зависит от проекта и подбирается вручную индивидуально для ваших задач. Для этого просто плавно прибавляется кол-во потоков,​ пока один из ресурсов компьютера не будет исчерпан. +
-Нужно учесть один нюанс: расход процессора можно немного превысить,​ т.е. если у вас он загружен на 100% увеличение потоков на 10-15% практически ничего не изменит,​ а главное,​ не ухудшит. Просто потоки будут ждать некоторое время освобождения этих ресурсов.  +
-Оперативная память,​ наоборот,​ не должна забиваться полностью,​ всегда лучше оставлять 10-30%. Если она кончится,​ это может привести к падению ZennoPoster и всех остальных программ на вашем компьютере.+
  
-Скорость как у сокетов +===== Скорость как у сокетов ​===== 
-Наши недобросовестные конкуренты (не будем показывать пальцем :) утверждают,​ что их программа может работать со скоростью сокетов,​ если отключить загрузку flash, скриптов,​ картинок и т.д.  +Наши недобросовестные конкуренты (не будем показывать пальцем :) утверждают,​ что их программа может работать со скоростью сокетов,​ если отключить загрузку flash, скриптов,​ картинок и т.д.\\ 
-На самом деле это не так. Браузер никогда не будет работать со скоростью прямых http запросов. Прямые запросы работают в 50-100 раз быстрее. Вы можете убедиться в этом, запустив наш проксичекер на выделенном сервере в 15000 потоков. +На самом деле это не так. Браузер никогда не будет работать со скоростью прямых http запросов. Прямые запросы работают в 50-100 раз быстрее. Вы можете убедиться в этом, запустив наш ​[[ru:​proxychecker:​about|проксичекер]] на выделенном сервере в 15000 потоков. 
-При тестировании на серверах hetzner.de на 15000 потоках кончились соединения,​ больше не поддерживает их сетевое оборудование,​ причем процессора и оперативной памяти легко хватило бы и на 50000.+При тестировании на серверах hetzner.de на 15000 потоках кончились ​свободные ​соединения,​ больше не поддерживает их сетевое оборудование,​ причем процессора и оперативной памяти легко хватило бы и на 50000.
  
  
ru/project-optimization.txt · Последние изменения: 2015/07/14 15:51 (внешнее изменение)