Подскажите оптимальный язык для моего софта

Menro

web, seo, email, hack
Регистрация
27 Янв 2008
Сообщения
689
Реакции
138
Добрый день!
Заказал разработку программы (многопоточный чекер сайтов) у своего (так скажем) программиста.
Он делает прекрасный софт на Delphi, и до сего момента, у меня не было никаких нареканий.
Но в случае с этим софтом, мне кажется, что язык не подходящий, возможно я ошибаюсь.

Задача софта:

1. Обходить ежедневно около 2- миллионов доменов и парсить оттуда нужную мне информацию.
2. Складывать результата парсинга в базу.

Сейчас я запустил софт в 500 потоков, программист мне сказал, что Delphi не рекомендует такое количество потоков, рекомендует не более 25 потоков.
Я думаю так: чем больше потоков, тем быстрее софт должен обойти список сайтов, прав я или нет?

Когда запускаю софт в 500 потоков, он начинает великолепно работать первые минут 40, а потом скорость его работы снижается, прожорливость ресурсов несколько увеличивается...Вот я не пойму, то ли мне мучить его дальше, и пытаться доработать то, что есть, или искать другие варианты, а может вообще 25 потоков - это край для любого софта?

Может у кого-то есть работы с большими объёмами сайтов? Что лучше выбрать?
 
Когда запускаю софт в 500 потоков, он начинает великолепно работать первые минут 40, а потом скорость его работы снижается, прожорливость ресурсов несколько увеличивается...
Вероятная причина - софт использует всю доступную ему память. После чего начинаются зависоны и тормоза.
Варианты решения проблемы:
1. Использовать 64-битный язык программирования для того, чтобы софт мог использовать всю память.
2. После пункта первого, соответственно, озадачиться наличием нужного количества памяти на компе, где запускается программа.
3. Мониторить потребление памяти софтом и в случае, если он "съедает" всю доступную память, ограничивать количество потоков.
 
Парсеры лучше писать на Python, Perl или в крайнем случае на PHP. Трубо Паскакаль как-то не то.
 
Спасибо!
Действительно проблема с памятью.
Я поставил работать софт в 50 потоков, небольшой запас памяти остаётся на сервера, но при этом, скорость работы увеличилась в 2 раза.
То есть получается, что большое количество потоков не всегда ведёт к увеличению скорости работы (хотя тут я как понял многое зависит и от железа в том числе). Но сейчас я имею скорость 8 000 000/24 часа и меня это устраивает вполне.
 
Хороший хостинг и парсер в виде скрипта запускаемого кроном будет лучшим решением. БД на том же хостинге.
Для запуска ПО в сети с хорошими ресурсами обратите внимание на услуги от азур и амазон
 
Python. А еще лучше использовать готовые решения - на рынке есть.
 
пусть изучает ваш программист GC и будет счастье...
 
Да нормально и Делфи с етой задачей справиться.
 
Парсер на дельфи - это не то, что нужно. Лучше всего python - это родная стихия языка. В том числе и с многопоточностью проблем не будет
 
или на плюсах, но это дороже будет
 
Назад
Сверху