В инженерии узкое место — это явление, при котором производительность или мощность всей системы строго ограничивается одним компонентом. Компонент иногда называют узким местом . Этот термин метафорически происходит от горлышка бутылки, где скорость потока жидкости ограничивается горлышком.
Формально узкое место находится на критическом пути системы и обеспечивает наименьшую пропускную способность. Разработчики систем обычно избегают узких мест, а также много усилий направляют на их обнаружение и настройку. Узким местом может быть, например, процессор , канал связи , программное обеспечение для обработки данных и т. д.
В компьютерном программировании выявление узких мест (иногда называемых «горячими точками» — разделами кода, которые выполняются наиболее часто, т. е. имеют наибольшее количество выполнений) называется анализом производительности. Сокращение обычно достигается с помощью специализированных инструментов, известных как анализаторы производительности или профилировщики . Цель состоит в том, чтобы заставить эти отдельные участки кода работать как можно быстрее, чтобы повысить общую эффективность алгоритма .
В сети связи иногда желательна максимальная и минимальная справедливость сети, обычно в отличие от базовой политики «первым пришел - первым обслужен» . При максимальной и минимальной справедливости поток данных между любыми двумя узлами максимизируется, но только за счет более или одинаково дорогих потоков данных. Другими словами, в случае перегрузки сети на любой поток данных влияют только меньшие или равные потоки.
В таком контексте узким местом для данного потока данных является канал, который полностью используется (насыщен ) , и из всех потоков, совместно использующих этот канал, данный поток данных достигает максимальной скорости передачи данных во всей сети. [1] Обратите внимание, что это определение существенно отличается от общепринятого значения узкого места . Также обратите внимание, что это определение не запрещает одному каналу быть узким местом для нескольких потоков.
Распределение скорости передачи данных является максимально-минимальным справедливым тогда и только тогда, когда поток данных между любыми двумя узлами имеет хотя бы одно узкое место.