ASP.Net (C #) & amp; SQL Server - ou - PHP & amp; MySQL pour la performance? [fermé]

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

  •  22-07-2019
  •  | 
  •  

Question

L'argent, le personnel, les compétences et la préférence pour l'open source ou commercial sont neutres .

Prenons le meilleur des meilleurs programmeurs (par souci d'argumentation) et réfléchissons à ceci:

Qu'est-ce qui donnera de meilleurs résultats globaux:

  • PHP & amp; MySQL

ou

  • ASP.Net & amp; SQL Server

( Je ne veux pas de réponses biaisées, mais simplement de la performance et de la rapidité ).

Était-ce utile?

La solution

Je suis le type PHP (qui fait également .NET) qui va dire: Toutes choses étant égales par ailleurs (compétences du programmeur avec la plate-forme choisie, matériel, bande passante, etc.) ASP.NET avec SqlServer va être plus rapide que PHP avec MySQL (au moment de l'exécution). Il n’existe aucun moyen pour un langage interprété de battre un langage compilé à la vitesse d’exécution.

Je voudrais poser la question suivante: "est-ce important" et je ne peux pas répondre à cette question pour vous. mais dans mon cas, et la plupart des choses que j'ai rencontrées, la réponse était un non catégorique. Je trouve qu’en général, la différence de vitesse brute dans le code (bien conçu) est négligeable, même s’il est bien sûr YMMV.

Le choix dépend principalement de la réponse à la question: "quand voulez-vous être rapide?"

  1. lors de l'écriture du code
  2. en cours d'exécution du code
  3. lors du débogage du code
  4. toutes les réponses ci-dessus

Le seul cas où PHP bat ASP.NET le plus souvent est 1; en écrivant du code Il existe deux cas où ASP.NET gagne haut la main; 2 et 3, code en cours d’exécution et de débogage.

Si vous voulez la combinaison la plus rapide, la réponse sera indéfinie tant que nous ne connaîtrons pas le temps passé dans chacune des étapes 1, 2 et 3 sur les deux plates-formes.

Autres conseils

ASP.NET est compilé (et utilise un runtime assez efficace avec un JIT et Garbage Collector à la pointe de la technologie) alors que PHP est un langage de script interprété. Je vais aller avec .NET sur celui-ci. De plus, SQL Server (2005+) est bien meilleur que MySQL pour les bases de données sérieuses

J'ai vu des rapports montrant que mysql était plus rapide pour certains scénarios simples (c'est-à-dire mis dans une seule table, obtenez une seule table). Mais la différence de vitesse ne sera pas énorme. Mon expérience est que toute lenteur perceptible sur un site Web est due à un (1) matériel insuffisant pour la base de données (par exemple, simplement pas assez d’E / S disque ou assez de RAM) ou (2) à la complexité des besoins en base de données (liée au conflit nécessaire pour ce que vous voulez faire). Ainsi, les scénarios simples dans lesquels MySQL excelle ne sont probablement pas la principale préoccupation pour éviter un site lent. Mon point de vue est qu'il est assez trivial d'ajouter des serveurs frontaux supplémentaires, donc asp.net ou php n'a pas vraiment d'importance. Il est généralement assez difficile de faire évoluer la base de données (cela peut être fait, mais avec une complexité beaucoup plus grande).

J'ai travaillé sur les deux et j'ai donc examiné la question et la réponse est vraiment "peu importe".

Du point de vue de l'utilisateur, la mise en file d'attente des requêtes HTTP prend plus de temps que l'exécution du code, qu'il s'agisse de PHP / MySql ou ASP.NET/MSSQL. Si vous avez un site Web écrit dans l'une de ces langues, il serait presque toujours plus économique d'augmenter les caractéristiques du serveur pour obtenir des performances que de le réécrire dans un autre langage.

D'après mon expérience, même si .NET DEVRAIT être plus rapide, les pages PHP similaires sont plus réactives et fonctionnellement identiques (sites CMS très simples avec des pages et des produits dans une base de données). Je développe les deux et j'ai donc vu beaucoup de sites dans les deux.

la conception de votre application et le niveau de compétence de ses utilisateurs auront le plus grand impact sur les performances

Pour les applications Web, le choix de PHP ou ASP.NET n'a probablement aucune importance, car ils passeront le plus clair de leur temps à attendre. ASP.NET est compilé et s’exécute sur le CLR, tandis que PHP est interprété et possède une mise en cache de code-octet qui accélère considérablement l’exécution.

MySQL et MSSQL sont difficiles à dire. La plupart des très grands sites Web fonctionnent sur MySQL. Facebook, Yahoo, Google, Digg, Twitter ont tous des éléments fonctionnant sous MySQL. À moins que vous ne fassiez des travaux de business intelligence pour lesquels vous avez besoin de fonctionnalités spécifiques à MSSQL, je ne les utiliserais pas. C'est très cher et il n'y a aucun avantage prouvé en performance.

Vous pouvez obtenir de très bonnes performances avec les deux combinaisons. ASP.NET - compilé, peut fonctionner plus rapidement lorsqu’il est compilé.

Cependant, il existe de bons ajouts de php, de bons ajouts à la mise en cache, qui sauvegardent en réalité le bytecode de php généré. Autre chose à considérer pour php ist que la majeure partie de sa bibliothèque est en fait écrite en C et compilée. Avec php, vous avez beaucoup moins de code qui tourne - pas de framework, d’objets requête / contexte / réponse et d’instanciation des arbres de contrôle. Dans l’ensemble, php peut fonctionner très vite.

Je choisirais ASP.NET pour une application Web d'entreprise et php pour un site Web public.

Pour les bases de données - mysql peut être un peu plus rapide que MSSQL pour certains scénarios mais les deux sont très bons.

Vous n'obtiendrez aucun chiffre. Mais si vous voulez vraiment des chiffres, je vous suggère d'essayer les deux et de les mesurer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top