- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Написал на перле программу, которая запрашивает достаточно много внешних данных через get().
Число параллельно исполняемых запросов внешних данных управляется в программе. При отладке заметил что на уровне 6-7 одновременных запросов наступает ограничение производительности. В этом режиме внешний трафик примерно 3 Мбит/с , если попытаться выполнять более 10 запросов, то внешний трафик падает до 2 Мбит/с и в такой же мере понижается общая производительность программы.
Кто-нибудь знает где искать узкое место? Может это что-то с портами? Может еще с чем?
Общая нагрузка на процессор не более 10%, памяти предостаточно.
Написал на перле программу, которая запрашивает достаточно много внешних данных через get().
В перле много модулей, и добрая половина из них имеет метод/функцию get. О котором модуле речь?
если попытаться выполнять более 10 запросов, то внешний трафик падает до 2 Мбит/с и в такой же мере понижается общая производительность программы.
А источник данных-то один и тот же? Может он и не справляется с отдачей?
В перле много модулей, и добрая половина из них имеет метод/функцию get. О котором модуле речь?
Модуль LWP::Simple
А источник данных-то один и тот же? Может он и не справляется с отдачей?
Источники данных разные, подавялющее большинство из них имеют отдачу более 10 Мбит/с.
Модуль LWP::Simple
Источники данных разные, подавялющее большинство из них имеют отдачу более 10 Мбит/с.
А как распараллеливается скрипт - fork или threads?
А как распараллеливается скрипт - fork или threads?
Проще. Запуском отдельных .pl модулей, каждый из которых содержит get() и предварительную обработку. Окончательная стыковка (линковка) данных в главном модуле. Обмен данными через файлы.
Ощущение, что сам скрипт у вас ни причем. Может в диске дело? Вообще, трудно сказать, не зная всей конфигурации. 3 Мбит/c - это порядка 30 Мбайт в сек. Вот у меня сейчас sata диск в системе пишет на тесте со скростью от 12 до 20 Мбайт в сек - ну комп не очень новый.
Можно попробовать прогнать тест закачек на Ram-диск, если условия позволяют, а потом уже глядеть на возможные сетевые проблемы.
... 3 Мбит/c - это порядка 30 Мбайт в сек....
3 Мбит/c это примерно 300 Кбайт/с - скорость совсем смешная для любого диска :)
Ну да, протупил под вечер. Тогда сеть смотрите, попробовать десять wget-ов одновременно запустить по этим же адресам и посмотреть результат. Сам LWP - просто честно сосет трафик из соединения, без выкрутасов, там ничего не поймать.
Ну да, протупил под вечер. Тогда сеть смотрите, попробовать десять wget-ов одновременно запустить по этим же адресам и посмотреть результат. Сам LWP - просто честно сосет трафик из соединения, без выкрутасов, там ничего не поймать.
Десять каких wget-ов ?
SPQ, обычных теперь уже классических программ wget из обычного shell.
КАЖДЫЙ из 10 источников разный?
На какой платформе запускаете ? Не забываем про ограничения сокетов в openvz и ограничения на полуоткрытые соединения в "клиентских" windows.
КАЖДЫЙ из 10 источников разный?
На какой платформе запускаете ? Не забываем про ограничения сокетов в openvz и ограничения на полуоткрытые соединения в "клиентских" windows.
Да , все 10 разные и все 10 весьма быстрые в отдаче.
Запускаю под денвером в win xp .
Как посмотреть ограничения сокетов и ограничения на полуоткрытые соединения ? Можете дать ссылку на мануал ?