Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

: Oracle Pet Store vs. .NET Pet Store

Posté par Nelis (page perso, ). Modéré le 05 mars 2002.
Je ne sais pas si vous vous souvenez, mais il y a quelques temps Microsoft avait publié un benchmark comparant l'application Pet Store(*) version Java et version .NET. Le benchmark avait été très critiqué à l'époque car le Java Pet Store n'a jamais été écrit pour être performant mais pour montrer comment utiliser les APIs de J2EE mais la version .NET avait au contraire été écrite pour être très rapide (au détriment du design du code). Quoi qu'il en soit la version .NET étaient vraiment plus rapide et avait moins de code.

Oracle vient de réécrire Java Pet Store pour qu'il soit performant et a refait un benchmark, les résultats sont étonnants ...

(*) Application de démo écrite par Sun utilisant une série de design pattern appliqués à J2EE.

> Lire la dépêche (29 commentaires, moyenne: 6,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Forward...

Posté par David Pradier (page perso, ) le 05/03/2002 à 11:20. (lien). Évalué à 7.

Impressionnant !!

Je forward ces benchs à mes collègues immédiatement. Prosélyte, moi ? Allons !

Quand même

Posté par Nicolas Roard (page perso, ) le 05/03/2002 à 12:37. (lien). Évalué à 28.

... on a beau ne pas être naif quand à l'honnêteté de Microsoft quand il s'agit de vendre leur techno, là, ils ont sacrèment abusé :


  • leur benchmark se base sur les chiffres qu'avait annoncé Oracle à l'époque, les deux applications ne tournent pas sur les mêmes OS/Hardware

  • Ils ont complètement réécrit leur appli pour qu'elle soit rapide, ce n'est pas un portage

  • Et en plus, ils ont même changés les requêtes SQL ! (plus de jointures, moins de données retournées, et les requêtes en procédures stockées !!)


Bref, comme mauvaise foi, Microsoft se pose là quand même : les deux applications comparés n'ont plus rien à voir, et le matos n'est même pas identique.

Les résultats, après optimisation par Oracle, sont assez savoureux ceci dit :

  • Sans cache sur Oracle Application Server et sans cache sur .NET : OAS est "juste" 18 fois plus rapide

  • Avec cache sur OAS et .NET : OAS est 22 fois plus rapide

  • ...et... OAS sans cache comparé à .NET avec cache : OAS est encore 7 fois plus rapide.



Une belle raclée. Reste à voir si les modifications apportées aux requêtes SQL par Oracle sont "honnêtes" elles...

Microsoft, Oracle, pas credibles...

Posté par ufoot (page perso, ) le 05/03/2002 à 13:21. (lien). Évalué à 13.

Notons quand meme qu'Oracle fournit son bench sous forme de PDF, alors que Microsoft le fournit en HTML.

Independemment de la conformitee du code HTML de Microsoft et du peu de chances qu'il a de sortir vivant d'un test du validateur HTML du w3c, il est important de souligner que sur le coup le bench de MS est beaucoup plus "lisible" que celui d'Oracle.

PDF n'est a ma connaissance pas le format recommande pour partager de l'info sur le net. HTML fait ca tres bien.

Desole pour le coup de gueule, mais ca commence a m'enerver ces documents PDF, .DOC qu'il faut telecharger et lire avec un lecteur plus ou moins proprietaire. OK il existe des lecteurs de documents PDF ou .DOC libres. Mais c'est gonflant d'avoir a installer un soft pour lire quelque chose qui serait passe tout seul en HTML. Alors, _oui_ j'ai xpdf installe mais _non_ je ne suis pas pres a lire le bench d'Oracle.

Et puis entre nous - et sans vouloir defendre MS - les produits d'Oracle sont aussi proprietaires que ceux de MS. Oracle a des supers clauses dans ces licenses qui interdisent la publication de benchs et sont assez restrictives pour n'avoir rien a envier a celles de MS. Ces 2 editeurs representent pour moi la meme chose, a savoir des editeurs de softs proprios qui n'ont qu'un objectif : generer de la creation de valeur pour leurs actionnaires.

Il y a fort a parier que sur une application de demo comme celle-ci, on puisse faire des benchs 30 fois plus performants en utilisant ModPerl/PostGreSQL, ou PHP/MySQL, ou Zope, ou n'importe quoi (a condition evidemment d'y mettre un peu de mauvaise foi, mais je doute que MS ou Oracle se soient genes sur ce coup-la). Etant donne que ces tests sont faits par les editeurs meme du produit, ils n'ont _aucune_ credibilite.

C'est comme d'essayer de demander a Alan Cox si le Hurd est meilleur que Linux. On peut obtenir une reponse mais elle n'a pas une grande valeur, vu que la personne est a la fois juge et parti. Ca ne veut pas dire que la reponse est fausse. Simplement, elle n'apporte rien au debat.

Tout comme ces benchs.

Et 40 fois moins rapide si tu fais le bench toi même

Posté par darkleon (page perso, ) le 05/03/2002 à 15:59. (lien). Évalué à 1.

Tout ces benchmark sont biaisés, ils ont été optimisés pour 1 type d'application.

A la base et c'est vrai pour tous les OS/Applications, le paramétrage est général pour que les performances soient homogénes quelque soit le type d'appli que tu lances dessus.

Mais là ils ont fait des réglages à mort, c'est la même différence qu'entre une voiture d'usine et une voiture préparée/bricolée qui peut avoir le double de puissance, mais le moteur sera plus fragile en utilisation longue.

Donc ces benchmark n'ont rien à voir avec ce que vous pouvez obtenir avec votre appli sans appeler un spécialiste (trés trés trés cher) oracle ou sqlserver. D'ailleurs, dans le document, oracle a surtout modifié le paramétrage de leur base de donnée. c'est la base de donnée qui méne la danse dans ce genre d'application.

Il vaut mieux récupérer les chiffres du premier benchmark, et vous aurez une idée plus réaliste des performances de votre application dans la vrai vie sans les optimisations de la mort qui tue des spécialistes (trés trés cher) d'oracle. Mais c'est vrai que quand ils passent il y a une amélioration.

De toute manière Oracle ils ne se font pas chier, ils te vendent la BD la plus rapide du monde (c'est ce qu'ils disent), tu leur dis "ça rame votre truc", et ils répondent maintenant que vous avez payé notre truc 150.000 euros, et bien vous allez payer un spécialiste à 3000 euros par jour pendant un mois pour que ça aille plus vite et c'est vrai que ça va booster, mais ça coute encore plus cher.

Donc les benchmark, c'est comme une clio (par exemple) 2l 16s échappement libre et tout le toutim pour les circuits GT, des performances alléchantes avec presque 300ch, mais quand tu achéte le produit tu te retrouves avec le modéle de base 1,2l 60 chevaux

M$ et les benchs

Posté par Cook Captain () le 05/03/2002 à 16:22. (lien). Évalué à 11.

Comme l'on deja signalé certains, les benchs accomodés ou accomodant, la plupart des sociétes y ont recours, mais il faut avouer que Micro$oft est LE spécialiste des benchs truqués (souvenez vous d'IIS), mais la, avec PetStore, M$ a carrément décroché le pompon.

Déja benchmarker une application de démo c'est trés fort. Mais en plus :
- modifier les requetes SQL pour retourner moins de données
- utiliser des procédures stockées
- changer les jointures dans les requetes

C'est de la malhonneteté pure et simple. J'aimerai bien savoir comment les ingés (que j'imagine honnetes) de M$ réagissent à ce genre de falsification intellectuelle. Si y en a un dans la salle, j'apprécierai de connaitre son point de vue.

Oracle se met à la hauteur de M$ et utilise les mêmes méthodes

Posté par Ludovic Boisseau () le 05/03/2002 à 17:43. (lien). Évalué à 4.

Résumons: d'un côté, on a M$ qui fait un bench histoire de montrer qu'il peut s'attaquer au monstre sacré qu'est Oracle. Forcément, pour que ça tienne la route, M$ réécrit tout le soft en C#, l'optimise et compare avec un soft dont le seul but était de montrer une API (et certainement pas de faire un comparatif de perfs). En effet, Oracle avait codé son appli avec plein de lignes de codes qui exploitent au maximum l'API J2EE sans forcément pondre un algo optimisé, puisque ce n'était pas le but.

Forcément, M$ sort vainqueur (sinon ils n'auraient pas publié leur bench) et écrase littéralement Oracle.

Oracle, voyant cela, ne peut pas rester silencieux et décide de répondre. Oracle réécrit son appli en optimisant à fond le truc (là, c'est le but, même si Oracle n'avoue qu'avoir peu modifié le soft), en diminuant le nombre de lignes et les appels à l'API J2EE. Pour couronner le tout, Oracle fait tourner son appli sur le premier foudre de guerre qui lui tombe sous la main (en soulignant que ces bécanes sont les mêmes que pour le premier test, et qu'elles sont moins performantes que celles utilisées par M$) :
_ les clients sont systématiquement des biproc à 2x360 ou 2x450 MHz tournant sous solaris 6,7 ou 8 (certainement des UltraSparcs) avec 512 Mo ou 1 Go de RAM
_ Du coté de la base de données, on passe en solaris 8 et quadripro à 400 Mhz chacun (UltraSparc aussi, je pense).

M$ ne détaille pas l'architecture sur laquelle il teste son soft, mais je ne sais pas si cela tient la route face à un UltraSparc (quoique, avec les dernieres version de P4 à 2GHz, ça doit commencer à booster correctement).

Bref, tout ça pour dire que même si M$ a fait le gros méchant, Oracle a bien fait de le remettre en place en employant les mêmes méthodes !

Une question naïve

Posté par Antoine Driard () le 12/03/2002 à 23:57. (lien). Évalué à 1.

Il est clair qu'il s'agit d'une bataille entre "grands", donc à grands coups d'annonces marketing. Il est parfois dur de discerner la mauvaise foi marketing et les annonces techniques. De plus, la question revient régulièrement et il semble les benchs ne veulent pas dire grand chose tant qu'ils ne sont pas faits dans une configuration spécifique, pour un type d'application spécifique.

Je me pose donc une question naïve. Alors pourquoi est-ce qu'Oracle ne publie pas le code source de sa version ? Comme Microsoft le fait. Ca permettrait à n'importe qui de tester les deux, de comparer. Comme ca, chacun respecte les licences qui empêchent de publier des benchs, mais peut quand même se faire sa propre idée.

Oui, je bosse chez Microsoft, et j'avais l'impression que publier les codes sources était plutôt gage de bonne foi (codes source de l'appli testée, mais également jusqu'au programme qui compte les lignes de source, pour que tout le monde soit bien d'accord sur ce qu'on compte ou pas). Je suis preneur de votre point de vue... sans doute différent, et idéalement constructif.

Revenir en haut de page