- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Опять флудеры уводят интересное обсуждение в непонятную сторону
Если multicurl обязателен...
Он не обязателен. Мне просто нужно выкачивать 1000 страниц в 30 секунд, минимально обрабатывать и класть в базу пару байт. У меня MySQL как-то плохо жила при 50 потоках на чтение и запись в одну и туже таблицу. А что будет при параллельном запуске 1000 скриптов... 😒
Слава Шевцов, а innodb уже попробовали? и не забыли как для таблиц innodb важен правильный выбор primary key?
Надо найти программиста, который напишет на нормальном языке программирования нужную Вам программу и для ее работы не надо будет огромных ресурсов.
Слава Шевцов, а innodb уже попробовали? и не забыли как для таблиц innodb важен правильный выбор primary key?
Вот из-за "не забыли" я пользуюсь только MyISAM - там мне всё понятно, прозрачно и быстро. Обычно удаётся разделять таблицы на те, в которые в основном пишутся данные и те, из которых они в основном читаются. Хотя может в этом случае придётся на InnoDB перелезть 😒
Слава Шевцов добавил 19.12.2008 в 16:37
Надо найти программиста, который напишет на нормальном языке программирования нужную Вам программу и для ее работы не надо будет огромных ресурсов.
Борис, Вы правильно пишете. Именно так и будет. Но чтобы программист написал что-то дельное, надо сначала разобраться в самой задаче, разобраться в вопросе стоимости поддержки и последующих доработок, написать дельное ТЗ и только потом что-то заказывать на нормальном (подходящем к задаче, а не программисту) языке. Вы как думаете? Или всё это отдать программисту-технарю?
Слава Шевцов, насколько я вижу, вам нужен innodb просто обязательно. только параметры innodb подкрутить.
поведение первичных ключей innodb на самом деле просто копирует поведение больших коммерческих субд. я имею ввиду, что первичный ключ должен быть простой и монотонно возрастать при массивной вставке данных.
Он не обязателен. Мне просто нужно выкачивать 1000 страниц в 30 секунд, минимально обрабатывать и класть в базу пару байт. У меня MySQL как-то плохо жила при 50 потоках на чтение и запись в одну и туже таблицу. А что будет при параллельном запуске 1000 скриптов... 😒
Есть у нас граббер к одной онлайн игрушке ( http://abazaba.ru/travian ), один поток может обрабатывать до 15к запросов за 10 минут, 2 потока может обрабатывать до 20к запросов за 10 минут, страницы до 10кб размером, скачивается - идет разбор регуляркой - идет запись в БД. На обычном курле, не на мульти. С пингами там правда очень бодро, сайты для граббинга по ИП запрашиваем, что бы на резолвинг не тратиться... да и находятся грабящиеся сайты то ли в том же ДЦ, то ли в соседнем здании. Но были бы больше пинги, поставили бы просто больше потоков, не принципиально. Сервера был вот такой http://www.hetzner.de/hosting/produkte_rootserver/ds3000-ce/ . Работал полгода, недавно "проапгрейдили" до вдс (50% ресурсов) на таком ttp://www.hetzner.de/hosting/produkte_rootserver/ds8000/ полет нормальный.
Никак не могу понять, что за сервер нужен. Требуется на PHP5 с multi-curl скачивать страницы в 1000 потоков размером по 30-50 Кб. Никаких прокси нет. Пинг минимальный, но могут попадаться временно притормозившие сайты. На скачанных страницах ищется через strpos ключевое слово и после этого страницы уничтожаются, а флаг проверки кладётся в MySQL на внешнем сервере. Сколько нужно памяти и что за машинка?
Вот из-за "не забыли" я пользуюсь только MyISAM - там мне всё понятно, прозрачно и быстро. Обычно удаётся разделять таблицы на те, в которые в основном пишутся данные и те, из которых они в основном читаются. Хотя может в этом случае придётся на InnoDB перелезть 😒
Слава Шевцов добавил 19.12.2008 в 16:37
Борис, Вы правильно пишете. Именно так и будет. Но чтобы программист написал что-то дельное, надо сначала разобраться в самой задаче, разобраться в вопросе стоимости поддержки и последующих доработок, написать дельное ТЗ и только потом что-то заказывать на нормальном (подходящем к задаче, а не программисту) языке. Вы как думаете? Или всё это отдать программисту-технарю?
Исходя из того, что Вы сказали выше - Вы уже решили что язык будет пхп5, а метод мультикурл.
Но честно говоря, мы бы подумали о несколько другом программерском решении задачи. Даже если речь о пхп.
Вместо курла, использовали бы сокеты напрямую. А мультизапросы делали бы через pcntl-fork, а не через курл-мульти.
Возможно вместо запуска кучи потоков для избежания пинго-ожидания, поставили бы таймаут на запрос небольшой, и если запрос не выполнен, то переходим к следующему запросу, а "не успевший" ставим в конец очереди, с бОльшим таймаутом.
Что бы сэкономить на написании в базу, "временные" результаты или собирали бы в переменную (а в конце скрипта писали бы скопом в базу) или поставили бы мемкэшед (и писали бы данные туда, а потом, иногда выгружали бы в базу, уже другим скриптом).
задача не сложная. здесь нужен грамотный сетевой программист. ему стоит сказать - нужно в параллельном режиме скачивать страницы X и делать с ними Y. желательная производительность Z страниц в секунду. но это стоит денег и маловероятно, что подходящие спецы будут здесь или на каком-нить фрилансе окусываться.
Борис, Вы правильно пишете. Именно так и будет. Но чтобы программист написал что-то дельное, надо сначала разобраться в самой задаче, разобраться в вопросе стоимости поддержки и последующих доработок, написать дельное ТЗ и только потом что-то заказывать на нормальном (подходящем к задаче, а не программисту) языке. Вы как думаете? Или всё это отдать программисту-технарю?
Разобраться в задаче действительно надо. Как без этого можно вообще говорить о задаче? :)
curl+php вижу совсем не оптимальной связкой для высоких нагрузок, программа на c, работающая с соединениями через какой-либо поллинг (того же select для 1000 одновр. соединений вполне хватит), будет работать в разы быстрее и потреблять в разы меньше ресурсов. Знающим человеком решается быстро.
Работайте с неблокирующими сокетами. Та же параллельная выкачка, только геморройнее: обрабатывать редиректы и хедеры отделять, и куки. Но может, вам это не надо.
800 параллельных нормально работают на не очень мощной машине. Думаю, число только от мемори зависит.