نمایش نتایج 1 تا 4 از 4

نام تاپیک: ابزار تست کارایی سیستم

  1. #1
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    مثل بچه آدم... نه تو ويندوزم نه تو روت لينوكس... "مشهد"
    پست
    8

    Question ابزار تست کارایی سیستم

    سلام. وقت بخیر.
    من با یه سری ابزارهای تست مثل jmeter و javamelody مقداری کار کردم. اطلاعات خوبی در اختیارم گذاشتن.
    حالا من میخوام بدونم ابزاری هست که مشخصا کلاس های پشت صحنه رو لاگ بگیره؟
    به عبارت دیگه هدف من اینکه اگه یه متدی داشته باشم که یک کوئری اجرا کنه و یه پروسسی رو داده ها بزنه زمان صرف شده در این متد رو نمودار کنه و بتونم بفهمم برنامه بیشتر کجاها داره زمان صرف میکنه...

    حالا ابزاری به این شکل موجوده یا باید داخل برنامه خودم لاگ بگیرم؟

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: ابزار تست کارایی سیستم

    حالا ابزاری به این شکل موجوده یا باید داخل برنامه خودم لاگ بگیرم؟
    این دو ابزار همونطور که خودتون هم گفتید، برای تست کلی سیستم خوبه.

    اما برای بررسی عملکرد هر متد، من چیزی پیدا نکردم به این صورت که بتونه از بیرون عملکرد متدها رو بررسی کنه. یا مثلا کد رو به صورتی تغییر بده که این اطلاعات رو حین اجرا استخراج کنه.

    هر چند مورد دوم امکان پذیر به نظر میاد ولی ابزار آماده ای برای اینکار پیدا نکردم.

    هر چند میشه برای هر متد تایم ها رو در حد نانوثانیه در نظر گرفت، اما دستکاری همه متدها در صورتی که پروژتون بزرگ باشه، کار سختیه.
    به هر حال نقاط مشکوک رو شناسایی کن، یک کلاس جمع آوری اطلاعات درست کن و زمان ها رو اندازه گیری کن و در نهایت تعداد دفعات call شدنشون و مدت زمان اجراشون رو خواهی داشت.

    راستی نمیتون annotation ای تعریف کنی که اینکار رو ساده تر بتونی انجام بدی؟ مثلا کنار هر متد بنویسی (زیاد خودم کار نکردم، نمیدونم پیچیدگی تعریف چنین annotation ای به چه صورته)

  3. #3
    کاربر جدید
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    مثل بچه آدم... نه تو ويندوزم نه تو روت لينوكس... "مشهد"
    پست
    8

    نقل قول: ابزار تست کارایی سیستم

    سلام. بسیار عالی. ممنون
    آره. منم اکثر چیزایی که دیدم به سبک همینی که شما گفتین بوده. یعنی میان با استفاده از تایم بررسی میکنن و زمان CPU رو گزارش میده. پیشنهاد خوبیه. اون کلاسایی که فکر میکنم گلوگاه پروسه هست نسبتا کمه... یعنی پروژه فعلا اونقدر بزرگ نیست.

    اما در مورد annotation فکر میکنم کار پیچیده میشه. چون به خودی خود کاری نمیکنه. صرفا یه جور markup هستش. بعد باز باید بیام خودم دستی توی کد با reflection این متدا رو اسکن کنم و کارای دیگه... میشه. اما بنظر راحتتر نمیشه!

    ولی یه نکته ای دیدم تو junit که میشه به متد تست timeout داد.
    https://github.com/junit-team/junit4...eout-for-tests

    کار مسخره ای هست بنظرم ولی خب میشه یه زمان میانه در نظر بگیرم و متدای مورد نظر رو تست کنم ببینم کدوم متدا بیشتر به تایم اوت میخوره... ولی خب چیز بهتری بنظرم نمیرسه

    بازم ممنون

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: ابزار تست کارایی سیستم

    ولی یه نکته ای دیدم تو junit که میشه به متد تست timeout داد.
    https://github.com/junit-team/junit4...eout-for-tests
    به کارت نمیاد. ممکنه یک متد زمان کمی رو صرف کنه و به timeout کوتاه حتی نرسه. اما تعداد دفعات فراخوانی اون متد زیاد باشه.

    برای همین، همونطور که در پست قبل گفتم تعداد call شدن و زمانشون مهمه. اگر تعداد فراخوانی ها زیاد باشه، به نظرم بهتره به جای ذخیره کردن اطلاعات هر فراخوانی، اطلاعات زیر به ازای هر متد در یک لیست تهیه کنی:
    ["نام پکیج.نام کلاس.نام متد" | تعداد دفعات اجرا | کمترین زمان اجرا | متوسط زمان اجرا | بیشترین زمان اجرا]

تاپیک های مشابه

  1. ابزار تست کدها از نظر سرعت اجرا و بهینه بودن و ....
    نوشته شده توسط captain_hamid در بخش PHP
    پاسخ: 21
    آخرین پست: پنج شنبه 20 آذر 1393, 12:20 عصر
  2. پاسخ: 11
    آخرین پست: پنج شنبه 10 فروردین 1391, 18:11 عصر
  3. ابزار تست در سی شارپ
    نوشته شده توسط amindiary در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 13 خرداد 1387, 09:39 صبح
  4. ابزار تست و اشکال زدایی
    نوشته شده توسط razebaran در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: سه شنبه 31 اردیبهشت 1387, 12:19 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •