Skip to content

alexlighting/multithreadProcessor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Модуль для анализа производительности веб-серверов

Описание задания

Необходимо разработать модуль для анализа производительности веб-серверов. Приложение должно обработать большой список URL-адресов, имитируя отправку HTTP-запросов и замеряя время их выполнения. Необходимо создть программу на Go, которая:

  • Принимает список URL-адресов (можно задать в коде как слайс строк либо генерировать его программно).
  • Параллельно обрабатывать каждый URL с помощью функции-заглушки, которая имитирует HTTP-запрос (time.Sleep со случайной задержкой).
  • Собирает результаты обработки (URL, статус «обработан», время выполнения).
  • Выводит агрегированный отчёт по всем обработанным URL-адресам.

Ключевые требования:

  • Для распараллеливания обработки URL должен использоваться паттерн Fan-out.
  • Для сбора результатов от всех рабочих горутин (воркеров) должен использоваться паттерн Fan-in.
  • Количество одновременно работающих воркеров должно быть ограничено (реализация Worker Pool).
  • Программа должна корректно дожидаться завершения всех задач и выводить итоговый отчёт.
  • Используйте каналы и методы синхронизации для исключения гонок данных.

Результат работы

Ниже представлен пример вывода приложения

Результаты мониторинга:
01      http://untuo.org Down 400m 
02     http://irdak.info Down 700m
03     https://njddi.org Up   400m
04     https://whmtga.ru Down 900m
05    https://ejevq.info Down 1.3s
06     https://qebecl.ru Down 1.4s
07        http://gnq.org Down 700m
08   https://ynzhpzx.org Up     1s
09        http://udnb.ru Up   1.2s
10     https://lxush.net Up   300m
11    http://wfyryx.info Down 500m
12      http://ohxgfa.ru Up   900m
13       http://hwb.info Up   1.5s
14    http://unaqvq.info Up   600m
15      https://kemi.net Up   300m
16       https://ads.com Down 1.9s
17    https://bggyax.org Down 1.8s
18   https://zkefqxk.com Down 1.4s
19       http://pztn.com Up   1.6s
20   https://twrsqdk.net Down 1.4s
21   https://obuohvr.net Down 1.6s
22   https://vttztra.com Down 1.6s
23     http://kkmiof.org Down 1.3s
24  https://tbrpvkg.info Down 1.4s
25    https://exqkrns.ru Down 1.4s
26    https://ccjivug.ru Up   200m
27     http://aefwmzv.ru Down 1.7s
28    https://appxx.info Up     1s
29      http://jukri.org Down 500m
30    https://ilgxhj.org Down 1.9s
Итого проверено - 30 хостов, доступно - 36%, средняя задержка 1.093333376s

About

Модуль для анализа производительности веб-серверов (паттерны Fan-In, Fan-Out, Worker pool), параллельное выполнение и синхронизация горутин

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages