حلقه‌گیر

حلقه‌گیر  ابزاری منبع باز برای تست عملکرد نرم‌افزار است که به زبان برنامه‌نویسی C نوشته شده‌است.

امکانات 
curl-loader قادر به شبیه‌سازی رفتار برنامه هزاران مشتری HTTP / HTTPS و FTP / FTPS است که هرکدام آدرس IP مختص خود را دارند. بر خلاف سایر ابزارها، curl-loader از پشته‌های پروتکل مشتری واقعی C- نوشته شده، یعنی پشته‌های HTTP و FTP از libcurl و TLS / SSL از opensl استفاده می‌کند و رفتار کاربر را با پشتیبانی از طعم‌های ورود و تأیید هویت شبیه‌سازی می‌کند.

ویژگی‌های اصلی آن عبارتند از:

حداکثر ۲۵۰۰–۱۰۰۰۰۰ مشتری و بارگیری مجازی بیشتر در حال اجرا است، همه از یک فرایند لودر منحصر به فرد. تعداد واقعی مشتریهای مجازی ممکن است چندین برابر بیشتر باشد که عمدتاً توسط حافظه محدود می‌شوند. هر مشتری مجازی ترافیک را از آدرس IP «منبع» شخصی خود یا آدرس IP «مشترک» که توسط همه مشتریها به اشتراک گذاشته شده‌است، یا از آدرسهای IP مشترک شده توسط برخی مشتریها در جایی که مجموعه محدودی از آدرسهای IP مشترک به اشتراک گذاشته شده‌است، بارگیری می‌کند. مورد استفاده توسط یک دسته از مشتریها.
 جمع‌آوری تعداد مشتریان مجازی هنگام بارگیری در حالت اتوماتیک یا دستی انجام می‌شود.
 آدرس‌های IPv4 و IPv6 و URI.
 HTTP 1.1. GET , POST , PUT , DELETE , HEAD شامل عملیات بارگذاری پرونده.
 ورود به سیستم احراز هویت کاربر HTTP با روشهای POST یا GET + POST. نام کاربری و رمزعبور منحصر به فرد قابل تنظیم برای هر مشتری مجازی و همچنین رشته‌های ارسال شده با قابلیت تنظیم (فرم‌های پسین) گزینه‌ها هستند. گزینه دیگر بارگیری برای کاربران دارای اعتبار از یک فایل متنی توکن است.
 فرم HTTP POST / GET تا ۱۶ نشانه پر شده از یک فایل متنی توکن.
 logoff کاربر HTTP با POST , GET + POST یا GET (کوکی‌ها). logoff POST با رشته ارسالی تنظیم شده (فرمهای بعد)
 داده‌های چند فرم HTTP POST-ing مانند RFC1867؛
 HTTP Web و احراز هویت پروکسی (پاسخ HTTP 401 و ۴۰۷) با Basic, Digest (RFC2617) و NTLM؛
 تغییر مسیرهای 3xX HTTP با تعداد نامحدود تغییر مسیرها.
 کوکی‌های HTTP و انبارهای DNS؛
 FTP منفعل و فعال، بارگذاری FTP.
 سفارشی سازی کامل هدرهای HTTP / FTP درخواست مشتری؛
 نرخ انتقال حداکثر برای هر بار بارگیری یا عملیات بارگیری مشتری بر اساس پایگاه‌های اینترنتی؛
 احتمال واکشی URL؛
 TCP اتصالات استفاده مجدد یا استقرار مجدد در هر URL پایگاه؛
 تعداد نامحدود پیکربندی URLها. مخلوط کردن آدرسهای HTTP، HTTPS، FTP و FTPS در یک پیکربندی دسته ای واحد (طرح آزمایش).
 تایمرهای ایجاد اتصال برای هر URL.
 نظارت و اجرای تایمر تکمیل URL برای هر مشتری؛
 تایمرهای بین / بعد از «خواب» URL، از جمله تایمرهای تصادفی که از فاصله زمانی قابل تنظیم گرفته می‌شوند.
 ورود به سیستم با فعالیت‌های ردیابی برای هر مشتری
 ورود به پاسخ (هدرها و بدنها) به پرونده‌ها.
 پیکربندی دسته‌ای از قبل پخته شده (طرح آزمون) نمونه؛
 وضعیت بار در کنسول و با خروجی به پرونده؛
 وضعیت و آمار برای هر مشتری مجازی که در پرونده ثبت شده‌اند.

هدف از پروژه curl-loader ارائه یک راه حل قدرتمند و انعطاف‌پذیر تست عملکرد نرم‌افزار منبع آزاد راه حل سمت مشتری به عنوان یک جایگزین واقعی برای Spirent Avalanche و IXIA IxLoad است. Curl-loader به‌طور معمول با سرور nginx یا Apache Apache به عنوان سمت سرور کار می‌کند.

این ابزار توسط دکتر رابرت ایاکوباشویلی و مایکل موزر تهیه و نگهداری می‌شود.

جستارهای وابسته 
 تست عملکرد نرم‌افزار
 مهندسی عملکرد
 تست نرم‌افزار

منابع

پیوند به بیرون 
 
ابزارهای آزمایش بار