bottleneck در مهندسی نرم افزار بدین معنی است که یک سیستم نرم افزاری که از چندین کامپوننت تشکیل شده است (برای مثال وب سرور و دیتابیس سرور و ...)، performance کل این سیستم بخاطر یکی از این کامپوننت ها پایین می آید. در این زمان می گویند که آن کامپوننت bottleneck سیستم است و اگر مشکل آن حل شود، performance کل سیستم بالا می رود.