Конвейерные системы могут становиться причиной высокой нагрузки на сервер по нескольким причинам:
- Ошибки в реализации конвейерной обработки. 2 Чтобы конвейерная обработка работала, ответы должны возвращаться в том порядке, в котором они были запрошены. 2 Если несколько запросов отправляются параллельно, и обработка первого запроса занимает больше времени (например, обработка изображения большего размера), то ответы будут не в порядке. 2
- Проблемы с производительностью. 2 Даже если сервер должным образом поддерживает конвейерную обработку, могут возникнуть проблемы с производительностью, поскольку все последующие запросы должны ждать завершения первого (блокировка начала строки). 2
Кроме того, при конвейерной обработке могут возникать конфликты, которые препятствуют выполнению очередной команды из потока команд в предназначенном для неё такте и снижают реальную производительность конвейера. 1