2009-03-28 10 views
65

मेरे पास एक सहकर्मी के साथ एक दोस्ताना तर्क चल रहा है, और मेरी व्यक्तिगत राय यह है कि एक एएसपी.नेट-एमवीसी संकलित वेब एप्लिकेशन अधिक कुशलतापूर्वक/एक ही परियोजना से तेज़ है जो PHP में लिखा जाएगा। मेरा दोस्त असहमत है।कोड निष्पादन की गति: एएसपी.नेट-एमवीसी बनाम PHP

दुर्भाग्य से मेरे पास कोई ठोस डेटा नहीं है जिसका उपयोग मैं अपने तर्क का बैक अप लेने के लिए कर सकता हूं। (न ही वह करता है)

इसके लिए, मैंने Google को कोशिश करने के लिए उत्तर देने का प्रयास किया और उसे गलत साबित करने के सबूत मिलते हैं, लेकिन अधिकांश समय बहस उस प्लेटफॉर्म में बदल जाती है जो लागत, सुरक्षा, सुविधाओं, आदि ... इस तर्क के लिए मैं वास्तव में उसमें से किसी के बारे में परवाह नहीं करता हूं।

मैं पता है कि ढेर अतिप्रवाह समुदाय सामान्य रूप में वेबसाइटों के कच्चे गति/कुशलता कि ठीक उसी पीएचपी के साथ विकसित की वेबसाइट बनाम MVC के साथ ASP.NET में विकसित कर रहे हैं के बारे में सोचता चाहते हैं?

क्या किसी के पास दो प्रौद्योगिकियों के प्रदर्शन की तुलना में वास्तविक दुनिया परिदृश्यों में कोई व्यावहारिक उदाहरण है?

(मैं आप इस से कुछ के लिए बहुत अच्छी तरह से पता है एक अप्रासंगिक और शायद बेवकूफ तर्क हो सकता है, लेकिन यह एक तर्क है, और मैं अभी भी ठीक से लोगों को जवाब अतः यहाँ सुनना पसंद करेंगे)

+32

यदि आपको पता नहीं है, तो StackOverFlow ASP.NET MVC पर बनाया गया है। तो यहां एएसपी.नेट एमवीसी का उपयोग कर एक भयानक परियोजना का एक अच्छा उदाहरण है। –

उत्तर

63

यह बनाने के लिए एक कठिन तुलना है क्योंकि संबंधित ढेर में अंतर का मतलब है कि आप एक ही चीज़ को अलग-अलग कर रहे हैं और यदि आप उन्हें तुलना के उद्देश्य के लिए भी करते हैं तो यह एक बहुत यथार्थवादी परीक्षण नहीं है।

PHP, जो मुझे पसंद है, हर अनुरोध के साथ लोड किए गए सबसे बुनियादी रूप में है, जिसका अर्थ है और फिर त्याग दिया गया है। यह इस संबंध में सीजीआई की तरह है (जो कि आश्चर्यजनक नहीं है कि यह लगभग 15 वर्ष पुराना है)।

अब पिछले कुछ वर्षों में प्रदर्शन में सुधार करने के लिए विभिन्न अनुकूलन किए गए हैं, विशेष रूप से एपीसी के साथ ओपोड कैशिंग, उदाहरण के लिए (इतना है कि एपीसी PHP 6 का मानक हिस्सा होगा और अब एक वैकल्पिक मॉड्यूल नहीं है)।

लेकिन अभी भी PHP स्क्रिप्ट मूल रूप से क्षणिक हैं। सत्र जानकारी (सामान्य रूप से) फ़ाइल आधारित और पारस्परिक रूप से अनन्य (session_start() सत्र_commit() या स्क्रिप्ट समाप्त होने तक उसी उपयोगकर्ता सत्र तक पहुंचने वाली अन्य स्क्रिप्ट को अवरुद्ध करती है) जबकि यह ASP.NET में नहीं है। सत्र डेटा के अलावा, यह एएसपी.NET (या उस मामले के लिए जावा, जो एएसपी.नेट बहुत अधिक समान है) में अनुप्रयोग संदर्भ में रहने वाली वस्तुओं के लिए काफी आसान (और सामान्य) है।

यह एक महत्वपूर्ण अंतर है। उदाहरण के लिए, PHP में डेटाबेस का उपयोग (का उपयोग कर mysql, mysqli, पीडीओ, आदि) क्षणिक (होते हुए भी लगातार कनेक्शन) जबकि नेट/जावा लगभग हमेशा ORM चौखटे और की तरह बनाने के लिए लगातार कनेक्शन पूल का उपयोग करें और यह की चोटी पर निर्माण करेगा रहा है, कैश जिसके लिए किसी भी विशेष अनुरोध से परे हैं।

एक बाईटकोड व्याख्या मंच के रूप में, ASP.NET सैद्धांतिक रूप से तेजी से होता है, लेकिन पीएचपी क्या कर सकते हैं सीमा इतनी अधिक है के रूप में ज्यादातर लोगों के लिए अप्रासंगिक हो रहे हैं। इंटरनेट पर शीर्ष 20 देखी गई साइटों में से 4 उदाहरण के लिए PHP हैं। विकास, मजबूती, पर्यावरण को चलाने की लागत, आदि की गति ... जब आप किसी भी सैद्धांतिक गति अंतर से पैमाने पर करने शुरू कहीं अधिक महत्वपूर्ण हो जाते हैं।

मन नेट आदिम प्रकार, प्रकार की सुरक्षा और चीजें हैं जो कोड तेजी से पीएचपी चला सकते हैं कर देगा के इन प्रकार है कि में भालू। यदि आप कुछ हद तक अनुचित परीक्षण करना चाहते हैं, तो दोनों प्लेटफार्मों में एक मिलियन यादृच्छिक 64 बिट पूर्णांक की सरणी को सॉर्ट करें। एएसपी।नेट इसे मार देगा क्योंकि वे आदिम प्रकार हैं और सरल सरणी PHP के सहयोगी सरणी से अधिक कुशल होंगे (और PHP में सभी सरणी आखिरकार सहयोगी हैं)। प्लस पीएचपी 32 बिट ओएस पर मूल 64 बिट पूर्णांक नहीं होगा, इसलिए इसके लिए काफी हद तक पीड़ित होगा।

यह भी इंगित किया जाना चाहिए कि एएसपी.नेट पहले से संकलित है जबकि PHP को ऑन-द-फ्लाई (ऑपोड कैशिंग को छोड़कर) का अर्थ है, जो एक अंतर डाल सकता है लेकिन इस संबंध में PHP की लचीलापन एक अच्छी बात है । अपने सर्वर को उछाल दिए बिना स्क्रिप्ट को तैनात करने में सक्षम होना बहुत अच्छा है। बस इसे छोड़ दें और यह काम करता है। प्रतिभाशाली। लेकिन अंत में यह कम प्रदर्शनकारी है।

आखिरकार मुझे लगता है कि आप बहस कर रहे हैं कि वास्तव में एक अप्रासंगिक विवरण क्या है।

+4

"एक बाइटकोड व्याख्या मंच, एएसपी.नेट के रूप में" - जावा या .NET के लिए कोई व्याख्या नहीं है। एक 2-चरण संकलन है: 1-स्रोत कोड बाइटकोड/आईएल, 2-बाइटकोड/आईएल देशी कोड में। अंत में केवल मूल कोड निष्पादित किया जाता है। –

+7

उत्कृष्ट और अंतर्दृष्टि तुलना। लेकिन मुझे एक बात बतानी है "... इस संबंध में PHP की लचीलापन एक अच्छी बात है। आपके सर्वर को उछाल दिए बिना स्क्रिप्ट को तैनात करने में सक्षम होना बहुत अच्छा है।" कोड परिवर्तन जारी करने के लिए आपको निश्चित रूप से ASP.NET में अपने सर्वर को उछालने की आवश्यकता नहीं है। – Tion

+0

@Tion मैं कुछ अन्य ढांचे की तुलना में एएसपी.नेट गर्म तैनाती से कम परिचित हूं लेकिन जावा में उदाहरण के लिए आप जेएसपी फाइलों में ड्रॉप कर सकते हैं और * कभी-कभी * कक्षाएं फिर से लोड कर सकते हैं लेकिन कई मामलों में आपको बस पुनरारंभ करने की आवश्यकता होती है। यह तुलना कैसे करता है? – cletus

18

मेरे (गैर-हार्डबेंमार्क किए गए) अनुभव में Asp.Net निश्चित रूप से कच्चे गति के संदर्भ में PHP (और कुछ क्षेत्रों में पार हो सकता है) प्रतिस्पर्धा कर सकता है। लेकिन दूसरी भाषा पसंद संबंधित प्रश्नों का एक बहुत निम्न कथन (इस मामले में) है मान्य (मेरी राय में) के साथ इसी तरह:

  • वहाँ धीमी गति से कर रहे हैं, में भाषा एक्स गाड़ी साइटों (यह PHP या ASP हो। नेट)
  • वहाँ महान, में भाषा एक्स तेजी से साइटों (यह हो PHP या Asp.Net) कर रहे हैं

मैं क्या कहने की कोशिश कर रहा हूँ:() डेवलपर की प्रतिभा समग्र गति अधिक प्रभावित करती है दो के बीच एक विकल्प (लगभग कुछ हद तक हद तक समकक्ष) प्रौद्योगिकियों के बीच।

वास्तव में, एक 'समग्र गति' तुलना बहुत अधिक समझ में नहीं आती है क्योंकि दोनों एक-दूसरे से किसी अन्य तरीके से पकड़ सकते हैं जब तक कि आप एक बहुत विशिष्ट विशेषज्ञ आला (जिसे आपने हमें सूचित नहीं किया है))।

1

मैं आपसे सहमत हूं (कि एएसपी.नेट एमवीसी तेज है), लेकिन क्यों न अपने दोस्त के साथ दोस्ताना दांव नहीं बनाते और परिणाम साझा नहीं करते? एक MySQL डेटाबेस से व्युत्पन्न एक बहुत ही सरल डायनामिक पृष्ठ बनाएं, और पृष्ठ को कई बार लोड करें।

उदाहरण के लिए, एक अनुक्रमिक प्राथमिक कुंजी युक्त 1,000,000 पंक्तियों के साथ एक तालिका बनाएं, और फिर दूसरे कॉलम में एक यादृच्छिक # बनाएं। आपकी प्रत्येक साइट जीईटी में प्राथमिक कुंजी स्वीकार कर सकती है, पास की गई कुंजी के आधार पर यादृच्छिक # पुनर्प्राप्त कर सकती है, और कुछ प्रकार के गतिशील रूप से जेनरेट किए गए HTML में यादृच्छिक # प्रदर्शित करती है।

मुझे परिणाम जानना अच्छा लगेगा ... और यदि आपके पास कोई ब्लॉग या समान है, तो बाकी दुनिया भी होगी (यह प्रश्न हर समय पूछेगा)।

यदि आप नियमित एएसपी में भी इस साधारण छोटे ऐप का निर्माण कर सकते हैं तो यह बेहतर होगा। बिल्ली, अगर परीक्षण अच्छी तरह से डिजाइन किया गया था, तो भी मैं इन परिणामों के लिए आपको भुगतान करता हूं। गंभीरता से - बस अपनी रुचि व्यक्त करें और मैं आपको अपना ई-मेल भेजूंगा।

+0

के बारे में क्या यह वास्तव में एक अच्छा विचार है। मैं बस कोशिश कर सकता हूँ। – 7wp

3

आम तौर पर एएसपी.Net PHP से दिए गए हार्डवेयर पर बेहतर प्रदर्शन करेगा। एएसपी.नेट एमवीसी अभी भी बेहतर कर सकता है (यहां ऑपरेटिव शब्द हो सकता है)। अधिकांश प्लेटफ़ॉर्म को एंटरप्राइज़ विकास के साथ दिमाग में बनाया गया है। टेस्टेबल कोड, चिंताओं को अलग करना आदि। एएसपी.Net में बहुत सारे ब्लोट पेज के भीतर ऑब्जेक्ट स्टैक (नेस्टेड कंट्रोल) से आता है। प्री-कंपाइलिंग यह बेहतर प्रदर्शन करता है, लेकिन यह एक महत्वपूर्ण मुद्दा हो सकता है। एमवीसी वेबफॉर्म आधारित व्यू इंजन (अन्य उपलब्ध हैं) का उपयोग करके कम घोंसले की अनुमति देता है।

जहां वेब अनुप्रयोगों में सबसे बड़ी मंदी दूरस्थ सेवाओं, विशेष रूप से डेटाबेस दृढ़ता होती है। PHP को कनेक्शन पूलिंग, या इन-मेमोरी सत्र स्थिति के लाभ के बिना प्रोग्राम किया गया है। इसे memcached और अन्य, अधिक प्रदर्शन सेवा परतों (.Net के लिए भी उपलब्ध) के साथ दूर किया जा सकता है।

यह वास्तव में साइट/एप्लिकेशन के विनिर्देशों के लिए आता है। यह साइट काफी मामूली हार्डवेयर पर एमवीसी को अच्छी तरह से चलाने के लिए होती है। PHP के तहत एक समान साइट अपने वजन के नीचे गिर जाएगी। विचार करने के लिए अन्य चीजें। आईआईएस बनाम अपाचे बनाम लाइटएचटीटीपी आदि। ईमानदारी से PHP बनाम एएसपीनेट कच्चे प्रदर्शन मतभेदों से कहीं अधिक है। PHP बड़े पैमाने पर बड़े, जटिल अनुप्रयोगों को एएसपीएनटी एमवीसी के रूप में अच्छी तरह से उधार नहीं देता है, यह इतना आसान है ... यह किसी और चीज की तुलना में वीएस + एससीसी के साथ और अधिक करना है।

5

किसी भी अनुकूलन के बिना, एक .net संकलित ऐप निश्चित रूप से php से "तेज" चलाएगा। लेकिन आप सही हैं कि यह एक बेवकूफ और अप्रासंगिक तर्क है क्योंकि वास्तविक दुनिया पर इसका कोई अधिकार नहीं है।

1

यह नोट करने की आवश्यकता है कि .NET एमवीसी बनाम PHP, .NET (वेब ​​फॉर्म) बनाम PHP नहीं है। मेरे पास तथ्य नहीं हैं, लेकिन सामान्य भावना है कि PHP वेबसाइटें .NET वेब फ़ॉर्म साइट्स से तेज़ी से चलती हैं (और मैं केवल .NET करता हूं)। संकलित बनाम पीएचपी के बावजूद .NET वेब फॉर्म आमतौर पर धीमे होते हैं क्योंकि प्रत्येक < एएसपी के लिए एचटीएमएल प्रस्तुत करने के लिए .NET इंजन द्वारा स्वत: जेनरेट किया गया कोड का सभी हिस्सा: नियंत्रण> आप डिज़ाइन मोड पर उपयोग करते हैं। PHP के साथ गति में प्रतिस्पर्धा करने के लिए एक .NET वेब फ़ॉर्म प्राप्त करना एक पूर्ण ओडिसा है जो EnableViewState = false को सेट करने के साथ शुरू होता है, और runat = सर्वर के साथ हर HTML नियंत्रण का उपयोग कर समाप्त हो सकता है ... पागल हो?

अब, एमवीसी एक अलग कहानी है, मैंने .NET MVC2 का उपयोग करके दो वेबसाइटें बनाई हैं और महसूस करना अच्छा है, अब आप गति महसूस कर सकते हैं! और कोड किसी भी PHP वेबसाइट के रूप में साफ है। तो, अब, एमवीसी आपको PHP के रूप में स्वच्छ कोड लिखने की अनुमति देता है, और एमवीसी को PHP के विरुद्ध संकलित किया गया है, यह केवल एक चीज का नेतृत्व कर सकता है, एमवीसी PHP से तेज़ है ... समय साबित होगा, जब सामान्य ज्ञान "एमवीसी वेबसाइट्स चलाता है PHP से तेज़ "तो हम आज यहां जो कहते हैं उसके बारे में हम सही होंगे।

देखें/आप /!

+1

मुझे एक ही भावना है। – Nestor

10

मैं कहेंगे ASP.net

विचारणीय बातें:

  • ASP.net पूर्व संकलित है
  • ASP.net आमतौर पर सी # में लिखा है, जो पीएचपी की तुलना में तेजी पर अमल करना चाहिए

माना जाता है कि अंतर बहुत मामूली हैं। दोनों के लिए फायदे हैं, मुझे लगता है कि PHP को तैनात करना बहुत आसान है और केवल आईआईएस नहीं बल्कि किसी भी सर्वर पर चलाया जा सकता है। हालांकि मैं एएसपीनेट एमवीसी का बहुत शौकिया हूं।

26

एएसपी.नेट तेजी से चलता है। एएसपी.नेट विकास तेजी से है। तेजी से कंप्यूटर खरीदे, और यह आनंद अगर आप गंभीर व्यवसाय वेब अनुप्रयोगों

ASP.NET कोड बहुत तेजी से कार्यान्वित पीएचपी की तुलना करते हैं, जब यह रिलीज मोड में builded है, अनुकूलित किया है, कैश की गई आदि आदि लेकिन, वेबसाइटों के लिए (फेसबुक जैसे बड़े खिलाड़ियों को छोड़कर), यह कम महत्वपूर्ण है - पृष्ठ प्रतिपादन समय का सबसे अधिक समय डेटाबेस तक पहुंच और क्वेरी कर रहा है।

डेटाबेस को जोड़ने में एएसपी.नेट बहुत बेहतर है - एएसपीनेट में हम आम तौर पर LINQ का उपयोग करते हैं जो SQL सर्वर डेटाबेस में संग्रहीत प्रक्रियाओं में हमारे ऑब्जेक्ट क्वेरी का अनुवाद करता है। डेटाबेस के साथ कनेक्शन लगातार है, एक वेबसाइट के लिए, पुन: कनेक्ट करने की कोई आवश्यकता नहीं है।

PHP, तुलना में एसक्यूएल सर्वर कनेक्शन को अनुरोध के बीच नहीं रख सकता है, यह कनेक्ट होता है, डीबी से डेटा लेता है और नष्ट करता है, डेटाबेस को दोबारा जोड़ने पर अक्सर पेज प्रतिपादन समय का 20-30% होता है।

प्रत्येक अनुरोध पर PHP में भी संपूर्ण वेब एप्लिकेशन कॉन्फ़िगरेशन पुनः लोड किया गया है, जहां एएसपीनेट में यह स्मृति में बनी रहती है। यह आसानी से बड़े, एंटरप्राइज़ फ्रेमवर्क जैसे सिम्फनी/सिम्फनी 2 में देखा जा सकता है, बहुत से प्रतिपादन समय सिम्फनी आंतरिक प्रक्रिया है, जहां एएसपीनेट इसे एक बार लोड करता है और बेकार काम के लिए अपना सर्वर बर्बाद नहीं करता है।

एएसपी.नेट आवेदन स्मृति में कैश में ऑब्जेक्ट रख सकता है - php में आपको इसे फाइलों में लिखना होगा, या memcache की तरह हैक का उपयोग करना होगा। memcache का उपयोग समेकन और खतरे की समस्याओं के साथ बहुत काम कर रहा है (फाइलों में कैश को संग्रहित करने में भी इसकी समस्याएं होती हैं - प्रत्येक अनुरोध अपाचे सर्वर के नए धागे को शुरू करता है और कई अनुरोध एक समय पर काम कर सकते हैं - आपको उन लोगों के बीच सहमति के बारे में सोचना होगा सूत्र, यह विकास में बहुत समय लेने के लिए और हमेशा नहीं काम करते हैं क्योंकि php भाषा में किसी भी म्युटेक्स तंत्र नहीं है, तो आप किसी भी तरह से महत्वपूर्ण अनुभाग नहीं कर सकते हैं)।

अब विकास की गति के बारे में कुछ: एएसपी.नेट के पास पर्यावरण के साथ स्थापित दो वेब फ्रेमवर्क (वेबफॉर्म और एमवीसी) हैं, जहां PHP में आपको ओपन-सोर्स फ्रेमवर्क प्राप्त करना होगा। Php में asp.NET की तरह कोई मानक ढांचा नहीं है।

एएसपी.नेट भाषा इतनी समृद्ध है, मानक पुस्तकालय में बहुत आम समस्याओं के समाधान हैं, जहां PHP मानक पुस्तकालय ... नग्न है ... वे एक नामकरण सम्मेलन नहीं रख सकते हैं।

.NET के प्रकार हैं, जहां PHP गतिशील है, इसलिए इसका मतलब स्रोत कोड के बारे में कोई नियंत्रण नहीं है जब तक आप इसे चलाते या यूनिट परीक्षण लिखते हैं।

नेट महान आईडीई जहां पीएचपी आईडीई के औसत या औसत-अच्छे हैं है सिम्फोनी में

पीएचपी मचान कमांड लाइन जब एएसपी से निकाल दिया जाता है (PHPStorm अभी भी वी.एस. + ReSharper या यहाँ तक कि इसके बिना की तुलना में बहुत खराब है)। नेट मचान को पर्यावरण में एकीकृत किया गया है।

यदि आपके पास धीमी कम्प्यूटर है (एक कोर 2,2ghz), एएसपीनेट पेज विकसित करना दर्दनाक हो सकता है क्योंकि आपको स्रोत कोड के किसी भी बदलाव पर अपनी परियोजना को दोबारा जोड़ना है, जहां PHP कोड तुरंत ताज़ा हो जाता है।

PHP भाषा वाक्यविन्यास सी # वाक्यविन्यास की तुलना में इतना अधूरा, असंगत और नग्न है। सी # में मजबूत प्रकार और कई लचीली भाषा सुविधाएं आपके विकास को तेज कर सकती हैं और आपके कोड को कम छोटी गाड़ी बना सकती हैं।

+0

शीश, LINQ का जिक्र करते हुए सब कुछ कहता है। नियमित LINQ एक नियमित foreach से अधिक नहीं है/अगर यह ठीक काम करता है लेकिन यह लचीलापन बलिदान के दौरान कोड की कुछ पंक्ति को बचा सकता है। लेकिन, ज्यादातर समय, हम LINQ से SQL (ज्यादातर नफरत) के बारे में बात करते हैं, यह छोटी परियोजनाओं के लिए ठीक है लेकिन यह किसी भी जटिल के लिए बेकार है। एक सरल और encapsulated डीएओ एक जटिल LINQ से क्लीनर तरीका है। और यह .NET और PHP के लिए मान्य है। उदाहरण के लिए (डीएओ परत के बाद), उपयोगकर्ता ऑब्जेक्ट प्राप्त करने के लिए सी #: उपयोगकर्ता = UserDAO.Get (id_user) को कॉल करने के लिए इतना आसान है; और php $ उपयोगकर्ता = $ UserDAO-> प्राप्त करें ($ id_user); – magallanes

+4

@magallanes LINQ LINQ प्रदाता के कार्यान्वयन के आधार पर, नियमित रूप से foreach/से अधिक है। उदाहरण के लिए इकाई फ्रेमवर्क की जांच करें। कोई टाइप के साथ एक सरल समझाया डीएओ प्रश्नों जाँच क्योंकि डेवलपर याद सुबह की कॉफी रास्ता क्लीनर नहीं है संभावित एसक्यूएल इंजेक्शन के साथ,, IMO विपरीत – Luis

+0

@Luis बिल्कुल कोई इस बात का खंडन नहीं है, हालांकि, यह है कि LINQ एसक्यूएल के लिए (किसी भी ORM की तरह) अधिकांश मामलों में पर्याप्त ओवरहेड जोड़ता है और प्रदर्शन पर नकारात्मक प्रभाव डालता है। स्टैक ओवरव्लो बिंदु में एक मामला है, जिसने बहुत सारे LINQ का उपयोग किया है, लेकिन फिर प्रदर्शन कारणों से इसे बहुत अधिक समर्थन दिया है और इसे अपने घर के माइक्रो-ओआरएम के साथ बदल दिया है। – Craig

6

मैं मुश्किल कोड संख्या और वास्तविक परीक्षण दो प्लेटफार्मों की तुलना दोनों लिनक्स और विंडोज बक्से पर किए गए के साथ एक ब्लॉग पर ठोकर खाई। मुझे कहना होगा कि मैं एएसपीनेट विकल्प के साथ जाता हूं।

http://naspinski.net/post/AspNet-vs-php--speed-comparison.aspx

11

मैं प्रदर्शन परीक्षण किया है।

कार्यक्रम: 10000000 नंबर

का योग

enter image description here

enter image description here

को देखते हुए उत्पादन साबित करता है कि php धीमी है कि सी #

+3

PHP के लिए एचएचवीएम का उपयोग करने पर प्रदर्शन अंतर क्या होता है ? दोनों परीक्षणों के लिए कोड कैसा दिखता है? – Drellgor

+5

सटीक होने के लिए, सी #/.NET ने PHP के मुकाबले इस परीक्षण 42 * बार * तेज प्रदर्शन किया। – Craig

+1

ठीक सर्वर आकार ASPX 285Bytes और Php 49Bytes तो, इस मामले में उपयोगकर्ता एक धीमी कनेक्शन के साथ लगता है कि क्या होगा अगर soon.see परिणाम का उत्पादन करेगा? या साइट पर आने वाले उपयोगकर्ता के इंटरनेट बिल के बारे में सोचें? – aimme

-2

सी ++ ... अभी लड़ाई PHP और के बीच हो जाएगा ASP.NET। PHP आसानी से उपयोग पर जीत जाएगा, एएसपी.नेट प्रदर्शन पर जीत जाएगा (विंडोज सर्वर पारिस्थितिक तंत्र में)। PHP के साथ शुरू होने वाली बहुत सी बड़ी वेबसाइटें सी ++ में स्नातक की गई हैं।

-3

मैं दोनों प्रौद्योगिकियों (एएसपी.Net सी # और PHP5) पर एक डेवलपर विशेषज्ञ हूं। साल और काम कर रहे हैं और उन्हें वास्तविक उत्पादन वातावरण में की तुलना के वर्षों के बाद ये मेरे छापों हैं:

सभी की
  • सबसे पहले, नहीं कर सकते उन्हें बनाने को जोड़ने का एक पाश को महत्व देता 1.000.000 तुलना, यह एक असली मामला नहीं है।

  • एक वास्तविक उत्पादन env की तुलना में उनके विकास पर्यावरण में उनकी तुलना समान नहीं है। उदाहरण: विकास में एएसपी.Net डिफ़ॉल्ट रूप से आईआईएस का उपयोग नहीं करता है, एक आंतरिक विकास सर्वर का उपयोग करें जिसमें विभिन्न अनुकूलन हैं। देव में, कोई सहमति नहीं है।

तो मेरी राय बगल में है:।

  • लूपिंग 1.000.000 बार ग # तेजी से होने जा रहा है (कोई भावना)

  • कोई वास्तविक पेज में सेवा, कि डीबी एक्सेस, छवियों को दिखाता है, फॉर्म आदि है .... एएसपी.Net PHP से धीमा है।

  • एएसपीएक्स पृष्ठों का वजन PHP से x10 भारी है, इसलिए यह अंतिम उपयोगकर्ता को पृष्ठ प्राप्त करने के लिए और अधिक समय का इंतजार कर रहा है।

  • एएसपीएक्स PHP से विकसित करने के लिए धीमा है, यह महत्वपूर्ण है क्योंकि अंत में पैसा है। हम एएसपी.Net की तुलना में PHP में 35% तेजी से विकसित करते हैं, क्योंकि हर बार संकलन और पुन: प्रारंभ करने के कारण आप smthg को देखना चाहते हैं।

  • बड़ी परियोजनाओं में, लंबी अवधि में एएसपी.Net त्रुटियों से बचने के लिए बेहतर है और एक जटिल आर्किटेक्चर है।

  • विंडोज सर्वर, आईआईएस, के कारण .... अंत में आपको PHP की तुलना में एएसपी पर समान मात्रा में उपयोगकर्ताओं को पकड़ने के लिए एक शक्तिशाली सर्वर की आवश्यकता है। उदाहरण: हम एएसपीनेट के साथ 20,000 समवर्ती उपयोगकर्ताओं और PHP में सेवा करते हैं, वही सर्वर लगभग 30,000 उपयोगकर्ताओं को प्राप्त कर सकता है।

एकमात्र महत्वपूर्ण बात यह नहीं है कि कौन सा लूपिंग तेज है। बात यह है कि जब वेबसाइट वास्तविक है और उत्पादन में है, तो वे कितने उपयोगकर्ता पकड़ सकते हैं, पृष्ठ कितना भारी है (उपयोगकर्ताओं से भारी == अधिक प्रतीक्षा समय, सर्वर का अधिक नेट चार्ज, सर्वर का अधिक डिस्क शुल्क, अधिक मेमोरी चार्ज सर्वर)। समरूपता के साथ चेकिंग समय आज़माएं और आप देखेंगे।

उम्मीद है कि यह मदद करता है।

+4

जब तक आप कुछ उचित मीट्रिक या वास्तविक लेखों के कुछ लिंक प्रदान नहीं करते हैं, तब तक मैं यह कह सकता हूं कि इस जवाब के जवाब में यह है: मेरे अनुभव के अनुसार (जिसमें वेब एप्लिकेशन के 15 साल और व्यावहारिक रूप से PHP से लेकर किसी भी रनटाइम में अनुप्रयोग सर्वर विकास शामिल है पायथन से .NET तक) PHP अब तक का सबसे धीमा रनटाइम है। क्या आप संभवतः एएसपी.नेट एमवीसी के साथ एएसपी को भ्रमित कर सकते हैं? चूंकि सवाल वास्तव में PHP में विकसित वेब ऐप्स की तुलना करने के बारे में था (और मुझे विश्वास है कि इसमें एक PHP एमवीसी फ्रेमवर्क का उपयोग करने की धारणा शामिल है, लेकिन यह आवश्यक नहीं है) और वेब ऐप्स एएसपी.नेट एमवीसी में विकसित किए गए हैं। –

+0

इस 'उत्तर' को पोस्ट करने के लिए धन्यवाद, यह निश्चित रूप से मूल्यवान जानकारी जोड़ता है और अन्य क्षेत्रों को विचाराधीन माना जाता है।लोगों को यह एहसास नहीं है कि उन्हें जवाब देने के बजाय नमक के अनाज के साथ कोई प्रतिक्रिया लेनी चाहिए। –

संबंधित मुद्दे