در بررسی یک مورد (case study) در بحث ارزیابی کارایی سیستم، میخواهیم دو الگوریتم فراخوانی از راه دور در شبکه (remote pipes (rpipe) و remote procedure calls (rpc)) را بروی سیستم بررسی و تست کنیم.
rpc یک فرآیند فراخوانی است که فرآیند در سمت سرور ریموت انجام میشود.
rpipe مانند pipe است اما سرور بروی دستگاه ریموت خروجی میگیرد.
همانند مواردی که در رویکرد سیستماتیک گفته شد، در ابتدا هدف یا اهداف را مشخص میکنیم.
هدف: مطالعه کاراریی برنامهها با استفاده از rpipeها و rpcها است.
تعریف سیستمی که قصد داریم آن را ارزیابی کنیم: سیستم مورد ارزیابی شامل کاربر، سرور و شبکه است. قسمت اصلی یا کلیدی channel است و فقط بخشی از کاربر و سرور که channel را مدیریت میکند مورد نظر است. در این قسمت تلاش برای محدود کردن اثر اجزای خارج از سیستم بروی ارزیابی است.
تعریف سرویسها: سرویسهای متنوعی وجود دارد که میتواند از طریق rpc یا rpipe انجام شود. انتقال داده یکی از سرویسهای متداول است. انتقال دادهها را به دو صورت دادههای بزرگ و کوچک طبقه کنید.
انتخاب متریکها: متریکها را فقط برای تصحیح عملیات محدود کنید (بدون خطا یا شکست). نرخ یا میزان سرویس و منابع مصرف شده را مورد مطالعه قرار دهید:
الف) زمان سپری شده در هر فراخوانی
ب) حداکثر نرخ فراخوانی در واحد زمان
پ) زمان محلی پردازنده به ازای هر فراخوانی
ت) زمان ریموت به ازای هر فراخوانی
ث) تعداد بایتهای ارسال شده در هر فراخوانی
لیست کردن پارامترها: در این قسمت تمامی پارامترهایی که میتواند در ارزیابی کارایی تاثیر گذار باشد، مانند سرعت پردازنده محلی و ریموت، سرعت شبکه، سربار سیستمعامل، بار ورودی و … را لیست میکنیم.
انتخاب فکتورهای کلیدی: پس از لیست کردن پارامترها فکتورهای مهم را انتخاب میکنیم. مواردی مانند نوع channel (rpipe یا rpc بودن channel)، سرعت شبکه LAN یا WAN بودن ارتباط، اندازه، تعداد فراخوانی شامل 11 مقدار 8، 16، 32، …، 1024. تمام دیگر پارامترها را ثابت در نظر میگیریم و تلاش میکنیم ارزیابی را در زمانی که بار شبکه کم باشد انجام دهیم.
انتخاب تکنیک ارزیابی: از آنجایی که سیستم واقعی و یا نمونههای واقعی از سیستم وجود دارد به سراغ اندازهگیری (measurement) میرویم و از مدلسازی تحلیلی بر اساس دادههای اندازهگیری شده برای تایید اندازهگیری و مقادیر خارج از محدوده آزمایش استفاده میکنیم.
انتخاب بار ورودی: برنامه مصنوعی درخواستهای مشخص شده channel را ایجاد میکند و منابع مصرف شده و نتایج ثبت میشود. از درخواستهای channel تهی (null) برای دریافت منابع پایه از طریق ورود به سیستم استفاده میکنیم.
طراحی تست و بررسی: برای محاسبه تمامی حالتهای ارزیابی (سناریوهای تست) باید تمام ترکیبات فکتورهای کلیدی (2 channel, 2 network speeds, 2 sizes , 11 numbers of calls) را در هم ضرب کنیم: 2x2x2x11 = 88 experiments
آنالیز داده: برای تعیین کمیت سه فکتور اول از تحلیل واریانس استفاده خواهد شد و بررسی میشود که آیا متفاوتند. برای تعیین کمیت اثرات n فراخوانی متوالی از رگرسیون استفاده خواهد شد و بررسی میشود که عملکرد خطی است یا نمایی.