Domanda

Denaro, personale, abilità e preferenza per l'open source o la pubblicità sono neutrali .

Prendiamo il meglio dei migliori programmatori (per amor di argomenti) e pensiamo a questo:

Cosa avrà un rendimento complessivo migliore:

  • PHP & amp; MySQL

o

  • ASP.Net & amp; SQL Server

( Non voglio risposte distorte, cerco solo prestazioni e velocità ).

È stato utile?

Soluzione

Sono il ragazzo di PHP (che fa anche .NET) che dirà: A parità di condizioni (abilità del programmatore con la piattaforma scelta, hardware, larghezza di banda, ecc.) ASP.NET con SqlServer sarà più veloce di PHP con MySQL (in fase di esecuzione). Non c'è modo all'inferno che un linguaggio interpretato possa battere un linguaggio compilato a velocità di runtime.

Vorrei coniare la domanda: " importa " e non posso rispondere a quello per te. ma nel mio caso, e la maggior parte che ho incontrato la risposta era un no definitivo. Trovo che di solito la differenza nella velocità non elaborata nel codice (ben progettato) sia trascurabile, sebbene ovviamente YMMV.

La scelta dipende principalmente dalla risposta alla domanda: " quando vuoi essere veloce? "

  1. durante la scrittura del codice
  2. durante l'esecuzione del codice
  3. durante il debug del codice
  4. tutto quanto sopra

L'unico caso in cui PHP avrebbe battuto ASP.NET il più delle volte è 1; durante la scrittura del codice Esistono due casi in cui ASP.NET vince a mani basse; 2 e 3, codice di esecuzione e debug.

Se desideri il più veloce in assoluto, la risposta sarà indefinita fino a quando non sapremo il tempo trascorso in ognuna di 1, 2 e 3 utilizzando entrambe le piattaforme.

Altri suggerimenti

ASP.NET viene compilato (e utilizza un runtime piuttosto efficace con JIT e Garbage Collector all'avanguardia) mentre PHP è un linguaggio di script interpretato. Andrò con .NET su questo. Inoltre SQL Server (2005+) è molto meglio di MySQL per roba di database seria

Ho visto rapporti che mostrano mysql per essere più veloce per alcuni scenari semplici (cioè mettere su una singola tabella, ottenere da una singola tabella). Ma la differenza di velocità non sarà enorme. La mia esperienza è che qualsiasi lentezza percettibile in un sito Web è dovuta a uno dei (1) hardware insufficiente per il db (ad esempio semplicemente non abbastanza I / O su disco o RAM sufficiente) o (2) complessità delle esigenze del database (relative alla contesa necessaria per cosa vuoi fare). Quindi i semplici scenari in cui mysql eccelle non sono suscettibili di essere la principale preoccupazione per evitare un sito lento. Il mio punto di vista è che è piuttosto banale aggiungere ulteriori server front-end, quindi asp.net o php non contano molto. È generalmente abbastanza difficile ridimensionare dal lato del database (può essere fatto, ma con una complessità molto maggiore).

Ho lavorato su entrambi e quindi ho esaminato questo aspetto e la risposta è davvero "non importa".

Dal punto di vista dell'utente, si impiega più tempo a mettere in coda le richieste HTTP di quanto non si impieghi nell'esecuzione del codice, che si tratti di PHP / MySql o ASP.NET/MSSQL. Se avessi un sito Web scritto in una di quelle lingue, sarebbe quasi sempre più economico aumentare le specifiche del server per ottenere prestazioni piuttosto che riscrivere in un'altra lingua.

Nella mia esperienza, sebbene .NET DOVREBBE essere più veloce, pagine PHP simili sono più reattive e sono praticamente identiche dal punto di vista funzionale (siti CMS molto semplici con pagine e prodotti in un database). Sviluppo entrambi, quindi ho visto molti siti in entrambi.

il design delle tue applicazioni e il livello di abilità delle persone avranno il maggiore impatto sulle prestazioni

Per le applicazioni web probabilmente non importa quando si tratta di scegliere PHP o ASP.NET poiché entrambi trascorreranno la maggior parte del tempo ad aspettare. ASP.NET viene compilato ed eseguito sul CLR mentre PHP viene interpretato e ha la cache bytecode che accelera notevolmente l'esecuzione.

MySQL e MSSQL sono difficili da dire. La maggior parte dei siti Web molto grandi funzionano su MySQL. Facebook, Yahoo, Google, Digg, Twitter hanno tutti contenuti in esecuzione su MySQL. A meno che tu non faccia alcune cose di business intelligence in cui hai bisogno di funzionalità specifiche per MSSQL, non lo userei. È molto costoso e non ci sono benefici comprovati nelle prestazioni.

Puoi ottenere ottime prestazioni da entrambe le combinazioni. ASP.NET: compilato, può essere eseguito più velocemente man mano che viene compilato.

Comunque ci sono alcuni buoni php che hanno dei buoni addon di cache, che in realtà salvano il bytecode php generato. Un'altra cosa da considerare per php è che la maggior parte della sua libreria è in realtà scritta in C ed è compilata. Con php hai molto meno codice, che è in esecuzione - nessun framework, oggetti richiesta / contesto / risposta e istanza di alberi di controllo. PHP complessivo può essere eseguito molto velocemente.

Vorrei scegliere ASP.NET per un'applicazione Web aziendale e php per un sito Web pubblico.

Per i database - mysql può essere un po 'più veloce di MSSQL per alcuni scenari, ma entrambi sono molto buoni.

Non otterrai alcun numero. Ma se vuoi davvero dei numeri ti suggerisco di provare entrambi e misurare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top