Я только что закончил разработку веб-краулера, который по существу позволяет пользователям сканировать свой сайт и информирует их об ошибках на их сайте. Однако мое приложение очень ресурсоемко. это рубиновое приложение, использующее rails, mongo, несколько драгоценных камней и запускающее сканирование в фоновом режиме с использованием отложенного задания. Тестируя краулер на моем Mac с процессором Intel Core 2 Duo с тактовой частотой 2,4 ГГц и 4 ГБ оперативной памяти, я могу сканировать только 5 веб-сайтов одновременно со средней скоростью сканирования 500 страниц в час. Если я пытаюсь сканировать больше, чем 5 за раз, процесс просто прекращается, и сканирование не выполняется. При сканировании 5 веб-сайтов одновременно мой процессор загружается на 95% - 100% все время, и я использую только около 600 МБ оперативной памяти.
Я ищу сервер, и мой бюджет составляет менее 1000 долларов. так что мой вопрос; Как вы думаете, будет ли лучше получить сервер с большим количеством ядер с меньшей частотой ГГц или сервер с меньшим количеством ядер и большей частотой ГГц?
Я изучил множество вариантов, таких как amazon aws, выделенные серверы, несколько небольших VPS и т. Д. И я считаю, что для меня было бы наиболее рентабельно купить один или два сервера и поставить их в центр обработки данных. У меня есть доступ к половине шкафа, который я могу получить через друга по цене значительно ниже рыночной. Я просто не знаю, как лучше потратить свои деньги, я буду благодарен за любое понимание.
Похоже, ваше приложение нуждается в лучшем дизайне и не имеет соответствующего параллелизма, если вы на самом деле каким-то образом не визуализируете эти страницы, и даже тогда я думаю, что вы сможете превысить 8 в секунду, если вы отключите загрузку от окончательной визуализации - интерактивность не является приоритетом.
Лучше всего обеспечить надлежащий параллелизм в вашем приложении и получить оборудование, которое обеспечит максимальное количество операций в секунду. Это почти всегда означает больше ядер процессора. Базовый расчет должен быть ядром * ГГц = оценка.
Тем не менее, некоторые типы процессоров также могут иметь значение.
Извините, я не пользователь Mac, поэтому я думаю о диспетчере задач Windows, который показывает использование каждого ядра - если у вас есть что-то подобное, доступное для вас - проверьте, видите ли вы, что оба ядра исчерпаны, тогда да, вам лучше получить больше ядер.
Если вы видите, что одно ядро перегружено, а другое работает в режиме ожидания, то для вас важнее ГГц.