مقایسه asp.net و php از نظر سرعت - مقایسه php و asp.net

 چهارشنبه 30 مرداد 1392 - 11:10
 38
 3706
بدون امتیاز
مقایسه asp.net و php از نظر سرعت - مقایسه php و asp.net

مقایسه asp.net و php از نظر سرعت یکی از سوالات مطرح طراحان سایت است و اکثرا بر سر این موضوع باهم بحث میکنند. در حالیکه منابع علمی و مقالات مختلف سرعت asp.net و php را مقایشه کرده اند و نیازی به بحث کردن نیست. در مقاله ای که قبلا در این مورد در سایت طراحی سایت 24 منتشر کردم ویژگی های مختلف زبان php و فریم وردک asp.net را مقایسه کردم :

مقایسه asp.net و php

همانطور که در این مقاله هم به طور خلاصه توضیح داده شده است، به دلیل اینکه مرحله compile در وب سرور های php در زمان مشاهده صفحه صورت می گیرد این موضوع باعث کندی اجرای برنامه های نوشته شده با زبان php است. از طرف دیگر به دلیل اینکه کدهای خروجی asp.net به صورت Byte code هستند در زمان اجرای دستورات یک صفحه مرحله compile حذف میشود و همین موضوع باعث میشود با سرعت بسیار بیشتری اجرا شوند. در مقاله فوق چند سایت مرجع که طبق آزمایشات علمی سرعت زبان php و تکنولوژی asp.net را مقایسه کرده اند معرفی شده است و بر اساس آزمایشات انجام شده در لود اطلاعات بسیار بالا سرعت asp.net تا 10 برابر بیشتر از php است. تمام آزمایش ها در شرایط یکسان و آزمایشگاهی و توسط موسسات معتبر بین المللی انجام شده است و جای هیچگونه شکی را باقی نمیگذارد.

دیروز از طریق یکی از دوستان خوبم با سایتی آشنا شدم که به نوع خود بسیار جالب است. پروژه کدبازی در اینترنت تعریف شده و در حال توسعه است که در این پروژه کدهای php به بایت کد asp.net تبدیل شده و توسط IIS قابل اجرا هستند، هدف از این پروژه افزایش سرعت کدهای نوشته شده به زبان php است و در آزمایشات انجام شده توسط این شرکت حتی پیشنهاد شده است که اگر شما از سرور لینوکس استفاده میکنید می توانید با استفاده از فریمورک مونو که قابلیت اجرای برنامه های .net بر روی لینوکس را می دهد کدهای php خود را به دات نت تبدیل کرده و سپس آنها را اجرا نمایید و حتی در این صورت نیز سرعت بسیار بالاتری خواهید داشت!

اسم پروژه فوق phalanger هست و با استفاده از این تکنولوژی می توان تمام برنامه های php را تحت محیط دات نت و از طریق وب سرور IIS اجرا کرد. در ادامه دو نمونه از نتایج آزمایشات را آورده ام :

سرعت لود شدن وردپرس در php و asp.net

سرعت پاسخ وردپرس در php و asp.net

همانطور که مشاهده میکنید سرعت کدهای php که با استفاده از IIS و پس از تبدیل شدن به byte code دات نت اجرا شده اند بسیار سریعتر از وب سرورهای معمول php مانند آپاچی و ... هستند. سرعت اجرای کدهای تبدیل شده تا 4 برابر کدهای معمولی php در سرورهای لینوکس است.

در حال حاضر از بین سایت های پربازدید در دنیا یاهو بخش هایی از سایت خود را که با php نوشته شده بود به node.js تبدیل کرده است و تنها سایت پربازدیدی که در سیستم ابری از این زبان استفاده میکند سایت وردپرس است که به دلیل ماهیت وبلاگ گونه ای که دارد بازدید بالایی دارد. شرکت هایی مانند گوگل و... هم از زبان c++  برای تکنولوژی سمت سرور خود استفاده میکنند.

برای دریافت و مطالعه مقالات و آزمایشات انجام شده در این زمینه می توانید به سایت زیر مراجعه نمایید:

http://www.php-compiler.net

مطالب مرتبط
دیدگاه خود را با ما در میان بگذارید
امتیاز شما به این مقاله:





دیدگاه کاربران
aref
 ارسال شده در : یکشنبه 22 فروردین 1395

به هر حال ASP رو مایکروسافت راهبری میکنه!سایت زیبا, پربازدید و قدرتمندی مثل codeplex با asp نوشته شده!اما پی اچ پی به خاطر متن باز بودن طرفداران متعصب زیادی داره.

محمد کمالی
 ارسال شده در : شنبه 15 آذر 1393

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

رضا شیرازی
 ارسال شده در : یکشنبه 16 آذر 1393

پاسخ به محمد کمالی: بهتره اینقدر متعصب نباشید، اتفاقا نکته ای که گفتید درسته، در ایران تفاوتی از نظر مالی بین php و asp.net نیست بنابراین چون دات نت قدرتمندتر هست همه asp.net را انتخاب میکنند چون هم معماری بهتری داره و هم قدرت بسیار بالایی به برنامه نویس میده، اما در دنیا بحث کپی رایت و مباحث مالی وجود داره، هزینه لایسنس بالاست و به همین دلیل php استفاده میشه. البته در خارج از ایران هم عده ای هستند که کیفیت براشون مهم تر هست و به سراغ دات نت میرن، اما سهم بیشتر بازار برای php به دلایل مالی است نه فنی.

محمد کمالی
 ارسال شده در : شنبه 15 آذر 1393

سلاماینکه یک مقدار "در ایران" asp طرفدار داره به خاطر عدم رعایت کپی رایت و رایگان بودنش هست. پشت asp قدرتی مثل ماکروسافت هست اما پشت php چی ؟در دانشکده های ایران asp بیشتر تدریس میشه. اینه که asp کار فارق التحصیل زیاد میشه و اکثرا بیکار ...

مصطفی یوسفی
 ارسال شده در : یکشنبه 19 مرداد 1393

با سلام خدمت شما آقا رضاجناب جدای بحث مقایسه php و asp.net نظرتون راجع به CMS ها چیه؟ wordpress میتونه نیازهای یک سایت معمولی البته با امنیت بالا و سرعت خوب ( به نسبت asp.net ) رو برآورده کنه یا خیر؟توی سایتی که معایب wordpress رو عنوان کرده بود یک مورد رو امنیت ضعیفش در برابر هکرها و یک مورد هم ویژگی های ضعیف سئو رو عنوان کرده بود، آیا صحت دارن این ها؟درکل به نظرشما برای یک سایت معمولی از CMS ها بهتره که استفاده بشه یا asp.net ؟چه معایبی دارن CMSها (مخصوصا ورد پرس )و اینکه چه مشکلاتی ممکنه بوجود بیارنبرای توسعه دادنشون به مشکل بر میخوریم یا خیر؟ ممنون میشم پاسخ بدین

امین
 ارسال شده در : دوشنبه 22 اردیبهشت 1393

سلامجناب شیرازی یکی از دوستان، دلیل عدم استفاده از php رو عدم رعایت قانون کپی رایت در ایران عنوان میکرد و میگفت استفاده از asp حق الناسه !!! و یه جورایی ضرر زدن به مایکروسافت.واینکه مایکرسافت ممکنه روزی کاری کنه که همه کسانی که در ایران از asp استفاده میکنن به مشکل برخورد کنن.با این حرف چقدر موافقید؟

رضا شیرازی
 ارسال شده در : یکشنبه 28 اردیبهشت 1393

پاسخ به امین: موافق نیستم. البته در همه دنیا که حق کپی رایت وجود دارد نیز asp.net درصد قابل توجهی از سهم بازار را دارد، ضمن اینکه هزینه استفاده از آن به نسبت php و لینوکس و mysql بسیار بالاتر است. همین موضوع نشان می دهد که اگر ایران نیز مثل سایر کشورها به قانون کپی رایت بپیوندد سهم بازار آن تغییر نخواهد کرد. ضمن اینکه من مخالف هرگونه کپی برداری نرم افزار و عدم رعایت قانون کپی رایت هستم چه ایرانی باشد و چه خارجی.

صداقت
 ارسال شده در : شنبه 10 اسفند 1392

درود آقای شیرازییه سوال دارم اینه که اگه یه سایتی که با asp.net نوشته شده باشه در آینده که سایت بزرگ میشه و خیلی رشد میکنه ، هزینه سایت بالا نمیره چون شامل قانون کپی رایت نمیشهدوم اینکه ایا نمیشه یک سایت رو با هر دوزبان نوشت

حامد
 ارسال شده در : شنبه 12 بهمن 1392

یکی میتونه به من توضیح بده چرا بنظر میرسه دات نت سریعتره ؟ نمی خواد جواب بدید خودم توضیح میدم بخاطر سیستم کشینگ اونه و بخاطر همین تو بار اول خیلی کند کار میکنه در ضمن اگه بخواید ASP.net و PHP رو مقایسه کنید در واقع دارید دو سیستم مثل هواپیما و فضا پیما رو با هم مقایسه میکنید . این دو در واقع درسته در ظاهر هر دو هدف پرواز رو داره ولی در باطن برای دو هدف متفاوت طراحی شده همون طور که میدونید php یک زبان برنامه نویسی که برای لینوکس طراحی شده و اکثر وب سرور ها لینوکسی و کنترل پنل cpanel هستند ولی asp.net فریم ورک است و با زبان c# یا vb.net قابل گسترشه و فقط روی سرور ویندوز اجرا میشه که این خودش یک ضعفه !!!!! برای سرعت عوامل بیشماری وجود داره که باید بررسی بشه نمیشه بگید یه کد تبدیل بشه به bytecode بعد اجرا شد باید منطقی تر و در شرایط یکسانتر مثلا php ای که برنامه نویس کشینگ رو پیاده سازی کرده باشه و ساختار مناسب و یکسانی رو اجرا کرده باشه !!!! ما رو باشید که اینجا سر چه چیزایی جنگ راه انداختیم اگه php بد بود microsoft بمیومد برای iis کمپایلر php طراحی کنه !!!!!!!!!!!!!!!!!!!!

asasoal
 ارسال شده در : یکشنبه 29 دی 1392

سلام آقای شیرازی با تشکر از زحمات و مطالب مفیدتان که بی دریغ به کاربران سایت ارائه می دهید. اینکه کامپایل بر تفسیر به لحاظ سرعت برتری دارد درست است و کاملاً بدیهی و روشن. اما نکته مهم در اجرای asp.net بر روی ماشین مجازی چون {NET Framework.}است. زبان جاوا با همه قدرت و امکاناتش بدیل استفاده از ماشین مجازی به کندی معروف است. و نکته دیگر اینکه مایکروسافت با همه ادعا در مورد {NET Framework.} به عنوان ماشین مجازی هنوز در برخی از مواقع {NET Framework.} با تعریف درست یک ماشین مجازی فاصله دارد. مثلاً عدم پشتیبانی یک نسخه از ماشین مجازی از نسخه های ماقبل خود دلیلی بر این حرف است. که متاسفانه در فریم ورک مایکروسافت مشاهده می شود.

رضا شیرازی
 ارسال شده در : دوشنبه 30 دی 1392

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

حسین جهان بین
 ارسال شده در : یکشنبه 01 دی 1392

با سلام خدمت آقای مهندس شیرازی من همکار شما هستم . حدود 13 سال برنامه نویسی application انجام دادم . ولی الان میخوام یک برنامه تحت وب بنویسم . به نظر شما برای نوشتن یک برنامه تحت وب web app بین PHP و asp کدوم بهتره . design صفحات در asp خیلی سخته . ولی برعکس امکانات خوب سی شارپ وجود داره . ولی در PHP طراحی صفحات ساده تره ولی نوشتن پردازش های بانک مشکل تره . شما که در این زمینه تخصص دارین لطفا راهنمائی کنید . مرسی حسین جهان بین

رضا شیرازی
 ارسال شده در : یکشنبه 01 دی 1392

پاسخ به حسین جهان بین: سلام آقای جهانبین منظور شما را از اینکه طراحی صفحات در asp.net سخت است متوجه نشدم، این موضوع بیشتر برمیگرده به IDE که استفاده میکنید و ویژوال استودیو از این نظر فکرنمیکنم مشکلی داشته باشه با این حال برای طراحی قالب میتوانید از سایر IDE ها هم استفاده کنید. اینکه از زبان php استفاده کنید یا از پلتفرم asp.net به هدف شما برمیگردد، قطعا اگر به دنبال برنامه نویسی اختصاصی هستید دات نت پیشنهاد خیلی بهتری میتواند باشد و اگر به دنبال سیستم های اپن سورس هستید php از نظر هزینه / زمان مقرون به صرفه تر است.

soheil sck
 ارسال شده در : یکشنبه 26 آبان 1392

سلام بررسی php , asp .net شبیه بررسی مسی و رونالدوست نمیشه بگی کدوم بهتره ولی asp .net از نظر سرعت و امنیت به نظر من بهتر از php کار میکنه حال اینکه با php هم میشه امنیت رو زیاد کردهر دو عالی هستندمچکر از شما

رضا شیرازی
 ارسال شده در : شنبه 10 اسفند 1392

پاسخ به صداقت: چه کسی گفته که asp.net شامل قانون کپی رایت نمیشه؟! متاسفانه بسیاری از افراد به صورت دانسته و ندانشته سعی میکنند موضوع کپی رایت را بزرگ و غیر واقعی جلوه بدن. مگر تمام دنیا از asp.net استفاده نمیکنند؟ مگر قانون کپی رایت برای آنها اجرا نمیشود؟! نهایتا هم هزینه تهیه لایسنس ویژوال استودیو مبلغ قابل توجهی نیست برای یک سایت بزرگ که نگران این موضوع باشد.میشود یک سایت را با هر دو زبان نوشت، اما قطعا خروجی کار به هیچ وجه جالب از آب در نخواهد آمد.

سعید
 ارسال شده در : یکشنبه 05 آبان 1392

منم یه سایت دارم. aspx با vs طراحی کردم ولی داخل فایل منیجرش که میزام داخل پوشه مربوطه سایتم نوشته می اد. چی باید و چطوری نصب کنم روی سایتم نمی دونم سروم یا هاستم. ممنون

رضا شیرازی
 ارسال شده در : دوشنبه 06 آبان 1392

پاسخ به سعید: مطمئن نیستم که درست منظور شما رو متوجه شده باشم یا نه، اما فکرمیکنم سرور لینوکس دارید و مشکلتون به همین خاطر هست. باید سرور ویندوز تهیه بکنید.

امید شریعتی
 ارسال شده در : یکشنبه 07 مهر 1392

سپاس مطلب خوبی بود. موفق باشین

رضا شیرازی
 ارسال شده در : یکشنبه 31 شهریور 1392

پاسخ به م: هدف از اینکه من مقاله مقایسه asp.net و php از نظر سرعت را نوشتم صرفا بیان واقعیات علمی در این مورد بود و فکرنمیکنم که هرگز نگاه متعصبانه کمکی به پیشرفت و مشخص شدن حقایق بکنه، با وجود اینکه بخش هایی از حرفهای شما را کاملا قبول دارم اما علاقه ای ندارم که این سایت محلی برای بحث و جدل طرفداران دو زبان شود. موفق و پیروز باشید.

م
 ارسال شده در : شنبه 30 شهریور 1392

یه شوخی : کلا دنیا دو جور آدم داره. اونایی که دوس دارن دات نت نویس باشن و اونایی که خیال میکنن دوس ندارن دات نت نویس باشن!!!انصافا موشک رو با هواپیما مقایسه میکنی؟php زبون بدی نیس اما در حد دات نت هم نیست. انقدر دم و دستگاه داره دات نت که سرت گیج میره....این اتفاقا نکته مثبته که از مبتدی تا پیشرفته باهاش کار میکنن.من که وقتی درباره دات نت و گستردگیش تحقیق میکنم مخم سوت میکشه. دنیایی هست واسه خودش.

بهزاد
 ارسال شده در : ﺳﻪشنبه 26 شهریور 1392

موضوع فقط سرعت اجرا نیست، در زمان اجرا، عملا هر دو سرعت یکسانی دارن، چرا که برنامه نویس های حرفه ای برنامه های php را نوشته اند، ولی برنامه نویسان معمولی، برنامه های .net شون رو با اونها تست می کنند نتیجه اینه که سرعت اجرا شون تقریبا یکی میشهنکته دوم هم، سرعت پایین اجرای اولین بار برنامه های دات نت است----در مورد پشتیبانی، به نظرم وجود یک شرکت که به ازای درآمد پشتیبانی می کنه خیلی بهتر از چندین آدم است که در راه خدا! پشتیبانی می کنند، ====باگ ها، پی اچ پی آنقدر باگ دارد که نگو و نپرس!!!! اما در مورد asp.net شخصا تا به حال باگ خاصی ندیدم-----------یک چیز دیگر هم هست، سرعت توسعه برنامه های .net خیلی زیادتر است، چرا که هم کلی ابزار استاندارد داره و هم ویژوال استودیو فوق العاده است

 ارسال شده در : ﺳﻪشنبه 26 شهریور 1392

متن مقاله بالا درسته ولی من خودم دانت کار هستم و مشکلاتی هست.اول اینکه دانت انحصاری مال مایکروسافت عاقبت نداره .رو لینوکس اجرا نمبشه.بعدم کلا علم و تجربه ثابت کردن اوپن سورس خیلی بهتره.

رضا شیرازی
 ارسال شده در : ﺳﻪشنبه 26 شهریور 1392

پاسخ به آنونیموس: دوست عزیز، بحث این مقاله راجع به سرعت asp.net هست و نه مسائل دیگه. اتفاقا باگهای php و mysql و سیستم های اپن سورس اینچنینی بسیار بیشتر هستند و من به عنوان شخصی که 15 سال هست کار وب میکنم و با هر دو زبان آشنا هستم هیچ باگ قابل توجهی از دات نت تا به حال ندیدم.

آنونیموس
 ارسال شده در : دوشنبه 25 شهریور 1392

تا حالا به این فکر کردین که اگه یه باگ تو دات نت پیدا شه،باید منتظر بشینید تا مایکروسافت براش پچ بده بیرون ولی تو مفسر php خیلی نادر بوده که باگهایی به بزرگیه واسه دات نته مایکروسافت بیاد بیرون.هنوز اراکل پدینگ یکی از جالبترین روشهاست

جواد
 ارسال شده در : یکشنبه 24 شهریور 1392

من موندم که چه دلیلی داره یک پروژه بنویسن که کد php رو ببره رو dotNET؟! اگه واقعا سرعت ذات نت خیلی بیشتره خوب ملت برن با دات نت کد بنویسن و php رو بذارن کنار دیگه! دلیل این کار چی میتونه باشه. به هر حال هر کی php کار باشه CSharp هم میتونه راحت کار کنه!

رضا شیرازی
 ارسال شده در : دوشنبه 25 شهریور 1392

پاسخ به جواد: دلیل این موضوع این هست که برنامه های کدباز زیادی به php داریم که با این روش میشه سرعت اونها رو افزایش داد. مثلا وردپرس را تبدیل به دات نت کرد و با سرعت بالاتری اجرا بشه و...

علي دادگر
 ارسال شده در : دوشنبه 04 شهریور 1392

سلام رضا جان ؛ خوشحالم معرفي اين سايت توجهت رو جلب كرده . ميخواستم بدونم ما اگر بخوايم يك پروژه واقعي رو به روشي كه گفته شده تست كنيم آيا مجبوريم سرور اختصاصي بگيريم؟ قطعا راه ديگه اي نيست كه!!!

رضا شیرازی
 ارسال شده در : چهارشنبه 06 شهریور 1392

پاسخ به علي دادگر: درسته علی جان، آزمایش معمولا در شرایط یکسان و آزمایشگاهی برگزار میشه، یک کامپیوتر با مشخصات کاملا یکسان و همه شرایط برابر لازم هست تا یک آزمایش انجام بشه.

مرتضی
 ارسال شده در : یکشنبه 03 شهریور 1392

با سلام در مورد ابزار می خواستم بگم بله ابزار زیادی جهت اندازه گیی سرعت وجود دارد وجود داره که یکیش را می تونید از سایت redgate دانلود کنید . http://www.red-gate.com/supportcenter/Content?p=ANTS%20Performance%20Profiler&c=ANTS_Performance_Profiler/help/6.2/app_getting_started.htm&toc=ANTS_Performance_Profiler/help/6.2/toc.htmنکته بعد اینکه در مورد اینکه چرا وب سایت PHP سریعتر از ای اس پی می باشد این است که معمولا افرادی که سریعا ای اس پی یاد میگیرن به دلیل راحتی کار بیشتر با ابزاری های سرورساید کار می کنند. بلکه یک برنامه نویس وب باید ابتدا با معماری وب آشنا باشد تا به موقع تشخیص دهد که چه زمانی از قسمت کلاینت و چه زمانی سمت سرور کار کند. خلاصه منظورم اینه که بیشتر وب سایت هائی که با ای اس پی نوشته می شه اگر سرعتش کنده یکی از دلیلاش توسعه دهنده یا همون برنامه نویسسش است نا پلت فرم.

رضا شیرازی
 ارسال شده در : یکشنبه 03 شهریور 1392

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

جعفر
 ارسال شده در : پنجشنبه 31 مرداد 1392

من فکر کردم شما وردپرسید ... الان متوجه شدم از ASP.NET استفاده می کنید

جعفر
 ارسال شده در : چهارشنبه 30 مرداد 1392

سلام جالبه اما چطوری میشه تستش کرد ؟ شما خودتون اقدام کردین ؟

رضا شیرازی
 ارسال شده در : پنجشنبه 31 مرداد 1392

پاسخ به irblues: دلیل اینکه استفاده جهانی php بیشتر از دات نت هست به خاطر قانون کپی رایت و رایگان بودن php است و نه قدرت آن. من شخصا تجربه 3 سال برنامه نویسی حرفه ای با php را دارم و سایت های زیادی با php نوشته ام اما نهایتا چند سالی است که تصمیم گرفتیم دیگه php کار نکنیم.

irblues
 ارسال شده در : چهارشنبه 30 مرداد 1392

خب معلومه شمایی که از asp استفاده میکنی، از php بد میگی!!، بیشتر سایتهای دنیا از php استفاده میکنند شما به جای مقاله تحلیلی بیشتر داری به چالش میکشی و یک طرفه صحبت میکنی