تست single request


#1

درود

نمونه تست هایی که روی چند زبان و فریم ورکش انجام دادم

  • scala + play

  • elixir + phoenix

:expressionless:


#2

اگر میشه توضیح بدین که منظور از این کار چیه و نتیجه این تست چه معنی داره


#3

واضحه اشاره کردم یه تست بنچمارک ثابت روی سه تا زبان و فریم ورک وبش هست نتایجشم در تصاویر هر کدوم ارایه شده گفتم شاید به اشتراک گذاشتنش مفید باشه


#4

مفید که هست، منظورم این بود که همین توضیح رو بدین چون ممکنه بعضیها با این نوع تست آشنا نباشند.
فقط یه سوال، این بنچمارک ها در prod هست یا dev؟


#5

هر سه رو به صورت ایجاد یه سولوشن بود روی سیستم خودم با منابع ثابت با پارامترهای ثابت روی سینگل ریکوست که نتیجه core در مقابل مورد های دیگه نا امید کننده بود
تازه اگر این تست به صورت مالتی ریکوست بود فاصله این بنچمارک با core خیلی زیاد می شد
در واقع این تست رو برای بچه هایی که در گروه روی موردهای های مختلف برای پلت فرم وب کار می کردن زدم حالا بعضی هاشون برنامه نویس اسکالا ، الیکسر و سی شارپ … اینا بودند


#6

متوجه هستم، چون این فریمورک ها در حالت prod و dev پرفرمنس متفاوتی دارند پرسیدم. مثلا فینکس در پراد خیلی با فینکس در dev تفاوت داره


#7

پرداکشن فونیکس زمین تا آسمون با دولپرش فرق می کنه!!
در صورت امکان یک گرافی + توضیح در مورد تست بدید ممنون می شم !! اصلا از تصاویر متوجه نشدم چی تست شده و هر کدوم چه زمانی چه تعدادی و … داشتند

قطعه کد تست شده چی هست ؟ اصلا شما پارادایم هر زبان و استاندارد اون رو رعایت فرمودید یا خیر. به صورت مثال php کار هم اولین روز بیاد روی elixir شروع می کنه به if/esle زدن.

اگر اطلاعات بیشتر بدید ممنون می شم جذب این موضوع شدم تازه وارد در زمینه هستم برای جذابه


#8

ببینید این یه تست استاندارد singel request هست طبق یه الگوری ثابت تو سایت زیر هم می تونید بنچمارک های مختلف رو ببینید

تصاویر خیلی واضحه در واقع تو این تست ما یه تعداد request ثابت (10000) تحت یه (50) concurrency level ثابت به هر سه مورد داده شده و بعد از اتمام دقیقا در تصاویر دقت کنید به شما نشون داده میشه
time taken test
requests per second
time per request
,…

در واقع من اومدم روی یه پروژه phoenix یه کانکشن به postgres دادم داده هایی رو هم add کردم بعد یه ریکوست رو به صورتی که در بالا عرض کردم بهش ارسال کردم و در مورد های دیگه هم به همین صورت این تست رو هم روی بانک mysql دوباره تست زدم که نتیجه اونم این بود که phoenix در ارتباط با postgres سرعت بالاتری داشت نسبت به mysql اما درایور خوبی برای mongo پیدا نکردم


#9

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