یک مقایسه جالب برای سرعت و عملکرد ASP.NetCore نسبت به Laravel

یک مقایسه جالب برای سرعت و عملکرد ASP.NetCore نسبت به Laravel

این روزها پلتفرم‌های متعددی در صنعت برنامه نویسی پا به عرصه گذاشتند. برخی فریم ورک های وابسته و برخی مستقل هستند. برخی ساختار جدید و انقلابی و برخی نقش تسهیل کننده دارند.

اما در این بین، 2 پلتفرم یا به عبارتی بهتر فریم ورک ASP.NetCore و Laravel بیشتر مورد استقبال قرار گرفتند و شاید یکی از مهمترین دلایل این استقبال بی نظیر ساده سازی فرایندها نسبت به زبان‌های اصلی چون PHP و ASP.Net می‌باشد. ساختارها در این دو فریم ورک جدید بسیار ساده سازی شده و در عین حال سرعت و کیفیت اجرای پروژه بیش از پیش ارتقا یافته است.

توجه نمایید در این مقاله نمی‌خواهیم به جزییات و ویژگی‌های این دو فریم ورک محبوب بپردازیم چراکه در مقاله‌های پیشین به آن پرداخته شده است:

Net Core. آغاز تحولی شگرف در برنامه نویسی
لاراول فریم ورک PHP با قابلیت های فراوان

اما در این مقاله خیلی کوتاه یک مقایسه بین دات نت کور و لاراول در سرعت اجرای پردازه‌ها و اپلیکیشن انجام می‌دهیم. نتیجه شاید برای شما هم قابل تامل باشد! پس در ادامه با ما همراه باشید…

سرعت کدامیک بیشتر است؟

در این آزمایش ما به شما نشان می‌دهیم کدامیک از فریم ورک‌های لاراول و دات نت کور سرعت بیشتری دارد. یک API ساده طراحی کردیم و در هر یک از دو مورد به مرحله تست و اجرا قرار دادیم.

در این API ساده چند خط از دیتابیس MySQL خوانده شده و سپس با فرمت json نمایش داده می‌شود.

شرایط آزمایش:

نسخه مورد استفاده برای این آزمایش به شرح زیر می‌باشد:

ASP.NetCore 2.1
Laravel 5.6 و PHP 7.2

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

زیاد شما را منتظر نمی‌گذاریم نتایج اولیه به صورت یک نمودار ساده تصویری به شرح زیر می‌باشد. برنده با اختلاف بسیار زیاد، ASP.NetCore است!

مقایسه سرعت و عملکرد لاراول و دات نت کور

حالا بیایید نحوه و نتیجه اجرای درخواست‌های همزمان API در هر یک از دو فریم ورک را با جزییات بیشتری مورد بررسی قرار دهیم:

ASP.NetCore

ab -n 100 -c 10 http://localhost:8080/api/books

خروجی فرمان:

Concurrency Level:      10
Time taken for tests:   0.117 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      29200 bytes
HTML transferred:       15300 bytes
Requests per second:    854.91 [#/sec] (mean)
Time per request:       11.697 [ms] (mean)
Time per request:       1.170 [ms] (mean, across all concurrent requests)
Transfer rate:          243.78 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:     7   11   2.2     11      21
Waiting:        7   11   2.2     10      21
Total:          7   11   2.1     11      21

Laravel

ab -n 100 -c 10 http://127.0.0.1/api/books

خروجی فرمان:

Document Path:          /api/books
Document Length:        155 bytes
Concurrency Level:      10
Time taken for tests:   0.780 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      40600 bytes
HTML transferred:       15500 bytes
Requests per second:    128.21 [#/sec] (mean)
Time per request:       77.995 [ms] (mean)
Time per request:       7.799 [ms] (mean, across all concurrent requests)
Transfer rate:          50.83 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:    36   71  13.7     66     112
Waiting:       36   71  13.7     66     112
Total:         36   71  13.7     66     112
سرعت میانگین اجرای پردازه‌ها در لاراول 0.780 ثانیه و در دات نت کور حدود 0.117 ثانیه می‌باشد. چه جالب! سرعت اجرای پردازه‌ها و نمایش نتیجه در دات نت کور حدود 6.5 برابر سریعتر از لاراول می باشد!اختلاف زیادی هست؟! نه؟

نتیجه گیری

ما که شگفت زده شدیم! اصلا قابل تصور نبود آن هم با این مقدار اختلاف سرعت!

اما سرعت فقط یکی از معیارهای مهم در توسعه یک پلتفرم و انتخاب زبان یا فریم ورک برنامه نویسی است. اگر شما در استفاده از یکی از این موارد مردد هستید ما سرعت آن‌ها را به شما نشان دادیم حال می‌توانید دیگر موارد تاثیر گذار در اپلیکیشن خود را مورد بررسی و مقایسه قرار دهید. عواملی چون: انعطاف پذیری، مصرف منابع، قابلیت‌های فنی و …

اگر انتخاب شما لاراول بود، هاست لینوکس را با قابلیت پشتیبانی از لاراول برای شما تدارک دیده‌ایم:

هاست لینوکس با قابلیت پشتیبانی از لاراول

اگر انتخاب شما دات نت کور بود، هاست مخصوص این فریم با سرعت بسیار بالا و قابلیت های فراوان توسط های‌ساپورت ارایه شده است:

هاست دات نت کور با قابلیت پشتیبانی از دات نت کور 5 و سایر موارد

البته شما هم می‌توانید در بخش دیدگاه‌ها تجربیات خود را در استفاده از این دو فریم ورک و زبان برنامه نویسی به اشتراک بگذارید. قطعا ارزشمند خواهد بود 🙂

درباره نویسنده
سجاد ابراهیمی
سجاد سالهاست که در حوزه وب هاستینگ و مدیریت سرور فعالیت می کند، او عاشق طبیعت، کوه نوردی و طراحی گرافیک هست و سعی می کند به عنوان هماهنگ کننده در های‌ساپورت بهترین ها را برای کاربران فراهم کند.
2 دیدگاه برای “یک مقایسه جالب برای سرعت و عملکرد ASP.NetCore نسبت به Laravel
  1. مهدی نادریان - 12 خرداد, 1399 at 11:20 ب.ظ

    یک عیب که در این آزمایش وجود داره استفاده از لاراول نسخه 5.6 هست که الان دیگه تقریباً ساپورتی نداره و منسوخ شده. باید از لاراول نسخه 6 تا آخرین نسخه اش یعنی لاراول 7 استفاه می شد. مطمئناً در نتایج کار تاثیر گذاری بیشتری داشت.

    پاسخ
    • سجاد ابراهیمی - 12 خرداد, 1399 at 11:45 ب.ظ

      از مشارکت شما متشکریم.
      البته که همینطور است. هر دو پلتفرم نسخه‌های جدید ارایه کردند. آخرین نسخه Laravel در حال حاضر 7.x و همینطور ASP.Netcore برابر 3.1.4 هست که سرویس‌های HiSupport در هر دو مورد مجهز به نسخه‌های جدید هستند.

      پاسخ

دیدگاه خود را ارسال کنید