ASP.Net (C#) و SQL Server -أو - PHP & MySQL على الأداء ؟ [مغلقة]

StackOverflow https://stackoverflow.com/questions/839807

  •  22-07-2019
  •  | 
  •  

سؤال

المال الموظفين والمهارة الأفضلية تجارية مفتوحة المصدر أو محايد.

دعونا نلقي أفضل من أفضل المبرمجين (على الحجج ساكي) و نفكر في هذا:

ما سوف أداء أفضل بشكل عام:

  • PHP & MySQL

أو

  • ASP.Net & SQL Server

(أنا لا أريد منحازة إجابات فقط أبحث عن الأداء و السرعة).

هل كانت مفيدة؟

المحلول

أنا PHP الرجل (أن يفعل أيضا .NET) التي هي على وشك أن أقول:كل شيء يجري على قدم المساواة (مبرمج المهارة مع اختيار منصة الأجهزة, عرض النطاق الترددي, الخ.) ASP.NET مع SqlServer سيكون أسرع من PHP مع MySQL (في وقت التشغيل).لا توجد طريقة في الجحيم تفسير اللغة يمكن أن تغلب لغة مترجمة في وقت التشغيل السرعة.

أود أن عملة السؤال:"لا يهم" و لا استطيع الاجابة على هذا واحد بالنسبة لك.ولكن في حالتي ، ومعظم لقد واجهت الجواب كان definate لا.أجد أن عادة الفرق في السرعة الخام في (مصممة بشكل جيد) رمز negligable ، على الرغم بالطبع YMMV.

الاختيار يعتمد في الغالب على الإجابة على السؤال:"عندما تريد أن تكون السرعة؟"

  1. أثناء كتابة الكود
  2. أثناء تشغيل التعليمات البرمجية
  3. في حين تصحيح التعليمات البرمجية
  4. كل ما سبق

الحالة الوحيدة حيث PHP سيهزم ASP.NET معظم الوقت هو 1;أثناء كتابة الكود هناك نوعان من الحالات حيث ASP.NET يفوز اليدين باستمرار ، 2 و 3 و تشغيل و تصحيح التعليمات البرمجية.

إذا كنت تريد أسرع عموما ، سيكون الجواب غير معروف حتى نعرف الوقت الذي يقضيه في كل من 1 و 2 و 3 باستخدام كل المنابر.

نصائح أخرى

يتم تجميع ASP.NET (ويستخدم وقت تشغيل فعال جدًا مع JIT وGarbage Collector) بينما PHP هي لغة برمجة نصية مفسرة.سأختار .NET في هذا الشأن.بالإضافة إلى أن SQL Server (2005+) أفضل بكثير من MySQL لأشياء قاعدة البيانات الجادة

لقد رأيت تقارير تظهر أن mysql أسرع في بعض السيناريوهات البسيطة (على سبيل المثال.ضعها في طاولة واحدة، واحصل عليها من طاولة واحدة).لكن فرق السرعة لن يكون هائلاً.تجربتي هي أن أي بطء ملحوظ في موقع الويب يرجع إلى أحد (1) الأجهزة غير الكافية لقاعدة البيانات (على سبيل المثال.ببساطة لا يوجد ما يكفي من القرص الإدخال / الإخراج أو ذاكرة الوصول العشوائي الكافية) أو (2) تعقيد احتياجات قاعدة البيانات (المتعلقة بالتنافس الضروري على ما تريد إنجازه).لذا فإن السيناريوهات البسيطة التي يتفوق فيها mysql من غير المرجح أن تكون مصدر قلق كبير لتجنب المواقع البطيئة.وجهة نظري هي أنه من التافه جدًا إضافة خوادم أمامية إضافية، لذا فإن asp.net أو php لا يهم كثيرًا حقًا.من الصعب عمومًا التوسع في جانب قاعدة البيانات (يمكن القيام بذلك، ولكن بتعقيد أكبر بكثير).

لقد عملت على كليهما ولذا فقد بحثت في هذا بالفعل وكانت الإجابة حقًا هي "لا يهم".

من وجهة نظر المستخدم، يتم قضاء المزيد من الوقت في انتظار طلبات HTTP أكثر من الوقت الذي يتم إنفاقه في تنفيذ التعليمات البرمجية، سواء كانت PHP/MySql أو ASP.NET/MSSQL.إذا كان لديك موقع ويب مكتوبًا بإحدى تلك اللغات، فسيكون من الأرخص دائمًا تقريبًا زيادة مواصفات الخادم للحصول على الأداء بدلاً من إعادة كتابته بلغة أخرى.

في تجربتي، على الرغم من أن .NET يجب أن يكون أسرع، إلا أن صفحات PHP المشابهة أكثر استجابة وهي متطابقة إلى حد كبير من الناحية الوظيفية (مواقع CMS بسيطة جدًا تحتوي على صفحات ومنتجات في قاعدة بيانات).لقد قمت بتطوير كليهما، لذلك رأيت الكثير من المواقع في كليهما.

سيكون لتصميم التطبيق الخاص بك ومستوى مهارات الأشخاص التأثير الأكبر على الأداء

بالنسبة لتطبيقات الويب، ربما لا يهم عندما يتعلق الأمر باختيار PHP أو ASP.NET حيث أن كلاهما سيقضيان معظم الوقت في الانتظار.يتم تجميع ASP.NET وتشغيله على CLR بينما يتم تفسير PHP ويحتوي على تخزين مؤقت للكود الثانوي مما يؤدي إلى تسريع التنفيذ بشكل كبير.

من الصعب معرفة MySQL وMSSQL.تعمل معظم المواقع الكبيرة جدًا على MySQL.تحتوي كل من Facebook وYahoo وGoogle وDigg وTwitter على أشياء تعمل في MySQL.ما لم تقم ببعض أشياء ذكاء الأعمال حيث تحتاج إلى ميزات محددة لـ MSSQL فلن أستخدمها.أنها مكلفة للغاية وليس هناك فائدة مثبتة في الأداء.

يمكنك الحصول على أداء جيد جدًا من كلا المجموعتين.ASP.NET - تم تجميعه، ويمكن أن يعمل بشكل أسرع أثناء تجميعه.

ومع ذلك، هناك بعض php الجيدة التي تحتوي على بعض الإضافات الجيدة للتخزين المؤقت، والتي تحفظ بالفعل كود php الثانوي الذي تم إنشاؤه.الشيء الآخر الذي يجب مراعاته بالنسبة لـ php هو أن معظم مكتبتها مكتوبة بالفعل بلغة C ويتم تجميعها.باستخدام PHP، يكون لديك عدد أقل بكثير من التعليمات البرمجية قيد التشغيل - لا يوجد إطار عمل وكائنات طلب/سياق/استجابة وإنشاء مثيل لأشجار التحكم.يمكن تشغيل PHP بشكل عام بسرعة كبيرة.

سأختار ASP.NET لتطبيق ويب خاص بالشركة وphp لموقع ويب عام.

بالنسبة لقواعد البيانات - يمكن أن يكون mysql أسرع قليلاً من MSSQL في بعض السيناريوهات ولكن كلاهما جيد جدًا.

لن تحصل على أي أرقام.ولكن إذا كنت تريد الأرقام حقًا، أقترح عليك تجربة كلا الأمرين وقياسهما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top