Oracle Pet Store vs. .NET Pet Store

Posté par (page perso) . Modéré par Fabien Penso.
Tags :
0
5
mar.
2002
Java
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.

Aller plus loin

  • # Forward...

    Posté par . Évalué à 7.

    Impressionnant !!

    Je forward ces benchs à mes collègues immédiatement. Prosélyte, moi ? Allons !
    • [^] # Re: Forward...

      Posté par . Évalué à -7.

      Mais qui croire à ce petit jeu la ?
      • [^] # Re: Forward...

        Posté par . Évalué à 10.

        personne.

        les bench ne sont valables que dans les memes conditions que celles de leur réalisation.

        en clair, ce que disent les bench est faux chez toi.

        pour les db, en changeant de requettes, de bases, de hardware, de reseau .... tu donnes l'avantage a l'un ou a l'autre.
        donc a moins d'utiliser les memes requetes sur les memes données et avec le meme materiel sur le meme reseau, ce résultat est simplement "indicatif" et non reproductible chez toi.


        maintenant, une difference de x18 ou x22, ca merite quand meme explication ... il y a forcement un loup soit dans la méthode soit un bug dans .Net qu'oracle c'est dépeché de mettre a profit :-)

        (quand on voit le bench réalisé par MS, on se dit qu'il faut vraiment pas prendre les resultats de bench au pied de la lettre).
      • [^] # Re: Forward...

        Posté par . Évalué à 8.

        heu, PostgreSQL ?
    • [^] # Re: Forward...

      Posté par (page perso) . Évalué à 10.

      Oui c'est pas mal...
      Faut dire que depuis Oracle ils ont laissé tomber leur ancienne techno OAS contre le serveur d'application Orion (anciennement Open Source, peut-être encore pour certaines portions), c'est vachement plus rapide leur truc. Et il est clair que M$ ne peut pas venir jouer contre Oracle sur la base de données, et compris pour le midddleware.
      Méfions nous cependant de super-menteur... à menteur, menteur et demi ;-)

      Quelque liens :
      Orion : http://www.orionserver.com/(...)

      Orion / Oracle 9iAS :http://www.theserverside.com/reviews/forum.jsp?forum_id=18(...)
  • # Quand même

    Posté par (page perso) . Évalué à 10.

    ... 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...
    • [^] # Re: Quand même

      Posté par (page perso) . Évalué à 7.

      C'est clair que niveau mauvaise foi ils avaient ils avaient fait fort cette fois là ... Ce qui m'énerve c'est que ce contre-benchmark va passer +- inaperçu et la plupart des gens ne vont retenir que le benchmark de MS ...
    • [^] # Re: Quand même

      Posté par (page perso) . Évalué à 10.

      Ne vas pas croire que le bench d'Oracle soit beaucoup plus objectif (un peu peut etre mais pas plus).

      Tout ca ca me rapelle le coup de la compression mpeg4 entre AMD et INTEL au moment de la sortie des P4 : Un bench sort sans optimisation d'architecture il favorise AMD, on rajoute les SSE il favorise Intel, on rajoute l'équivalent AMD il favorise AMD, on recode l'outil pour tirer mieux parti de l'archi P4 il favorise INTEL, on recode pour favoriser AMD il favorise AMD ...

      ca peut durer longtemps mais je ne suis pas sur que on ai un bench objectif, en tout cas ici je ne crois ni celui de MS ni celui d'oracle, mais ca fait quand même du bien d'avoir des démentis et contre bench, ca permet tout de meme de le montrer à ceux qui croient le premier communiqué venu (oui, meme ceux de MS).
      • [^] # Re: Quand même

        Posté par (page perso) . Évalué à 10.

        Je suis d'accord avec toi, un benchmark venant d'une des parties en question sera rarement (jamais ?) objectif. Par contre dans cette histoire, celui de MS était bcp plus que "pas objectif", il comparait deux applications totalements différentes (elles n'avaient pas les même objectifs). En fait c'était de la désinformation pure ...
        • [^] # Re: Quand même

          Posté par . Évalué à 10.

          "En fait c'était de la désinformation pure ...
          Ah bon ?
          M$ fait autre chose parfois ?

          PS : TOUS leurs benchmarks sont honteusement truqués.
          • [^] # Re: Quand même

            Posté par . Évalué à -7.

            Ouaip, tous nos benchmarks sont truques, nos produits sont completement a chier et on ment non-stop sur nos produits.

            En fait les gens achetent de la merde, l'utilisent et ne s'en rendent meme pas compte.

            Qu'est ce qu'ils sont cons les gens quand meme, heureusement il y a des lumieres ici qui savent tout mieux que tout le monde, ce qui est dommage par contre, c'est que les gens sont tellement cons, qu'ils ne font meme pas attention a ces lumieres qui hurlent que MS ne fait que de la merde.

            Ou alors peut-etre que ces lumieres ne sont pas si lumineuses que ca...
      • [^] # Re: Quand même

        Posté par . Évalué à 9.

        Et l'utilisateur dans tout ca il est content ...

        Y'a un soft super optimise ( maintenant ) pour P4 et AMD ... c'est pas bo la vie quand le marketing il a besoin de bench qui vont bien :)

        RuZed
    • [^] # Bench sans éléments de comparaison...

      Posté par . Évalué à 3.

      Sauf qu'il n'est pas très claire que les Benchs Oracle aient été faits sur du matériel identique à celui de M$. Quant à l'OS, Oracle a utilisé Solaris...
  • # Microsoft, Oracle, pas credibles...

    Posté par (page perso) . Évalué à 10.

    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.
    • [^] # Re: Microsoft, Oracle, pas credibles...

      Posté par . Évalué à 9.

      Pardon je pense qu'un browser HTML n'est pas une application externe!!!! (Bon tu dis peut etre ca car d'apres microsoft c'est integre a l'OS). Le pdf apporte vraiment un plus par rapport au HTML a de nombreux niveaux (aller rien que l'impression par exemple), et est lisible sur toutes les platformes que je connais.
      • [^] # Re: Microsoft, Oracle, pas credibles...

        Posté par (page perso) . Évalué à 10.

        Surtout, le PS/PDF as des spécifications ouvertes, ce qui as permis de coder des lecteurs autres que ceux d'Adobe.
      • [^] # Re: Microsoft, Oracle, pas credibles...

        Posté par (page perso) . Évalué à 9.

        > Le pdf apporte vraiment un plus par rapport au HTML a de nombreux niveaux
        Peut-etre, mais en l'occurence, quand tu publie une info sur le net, c'est pratique quand c'est du HTML. Le type qui surfe et balance des requetes HTTP, tu peux legitimement esperer qu'il dispose d'un soft qui sait interpreter le HTML... Le PDF, tu sais pas.

        PDF est lisible sur toutes les plates-formes que tu connais, peut-etre, mais il reste proprietaire. Si Adobe decide que tu n'as plus le droit d'ecrire (et meme de lire) un PDF sans t'aquitter d'une license Acrobat, ils peuvent le faire. Adobe peut decider d'interdire xpdf. Tu pourras argumenter: "ca n'est pas dans leur interet!". Et tu aurais raison. Mais si le PDF avait un succes plus grand, peut-etre seraient-ils tentes de recuperer des royalties.

        D'ailleurs, l'exemple du MP3 est la pour le prouver. Maintenant que le format est largement repandu et est devenu un standard de facto, les detenteurs des droits voudraient une part du gateau. Heureusement qu'on a Ogg Vorbis...

        Le HTML n'a pas ces restrictions, au moins tant que le W3C ne part pas completement en vrille, ce qui n'est certes pas gagne.

        Entre nous, j'ai craque et je viens de le lire le doc PDF d'Oracle. Franchement, 6 pages et quelques graphiques qui se battent en duel, ca se faisait sans probleme en HTML 3.2.

        Le PDF, c'est bien pour l'impression? A ce moment la il suffit de proposer l'info en HTML, et d'avoir a cote, en plus, un PDF representant la meme info, pour imprimer. Mais pour lire en ligne, HTML, ca roulaize grave.
        • [^] # Re: Microsoft, Oracle, pas credibles...

          Posté par . Évalué à 4.

          Adobe peut decider d'interdire xpdf.

          C'est les softs permettant de créer des pdf qu'ils pourraient peut-etre interdire. Pas les softs pour lire. (en Europe au moins).

          D'ailleurs, l'exemple du MP3 est la pour le prouver.

          Il montre surtout que c'est la création qui est "brevetable" (et donc encore invalide en France).
          Et si certains le défendent pour les algos du MP3, ce n'est sans doute pas possible pour du PDF.

          Franchement, 6 pages et quelques graphiques qui se battent en duel, ca se faisait sans probleme en HTML 3.2.

          Oui, mais le pdf est ouvert et il y a des visualiseurs libres sur toutes les plateformes. Bref aucune raison de préférer le Html. Si tu veux fournir une page web tu fais du html, si tu veux fournir un document tu fais du pdf (par exemple).

          Et il n'y a aucune comparaison possible avec les .doc qui eux posent des problèmes d'interprétations et surtout ne sont pas prévus pour l'échange (trop d'infos inutiles).

          Le PDF, c'est bien pour l'impression? A ce moment la il suffit de proposer l'info en HTML, et d'avoir a cote, en plus, un PDF representant la meme info, pour imprimer.

          Avoir les deux aurait été mieux.
          Avoir le PDF plutot que le HTML, là non, ça revient au meme.
      • [^] # Re: Microsoft, Oracle, pas credibles...

        Posté par . Évalué à 0.

        est lisible (le pdf) sur toutes les platformes que je connais.

        parce que ... c'est pas le cas pour le html ???
    • [^] # Re: Microsoft, Oracle, pas credibles...

      Posté par . Évalué à 4.

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

      Le PDF est un standard de fait pour la publication de document, c'est facilité par le fait que ses specs sont publiques. Moi aussi j'aime bien le HTML, mais le PDF est très pratique pour avoir tout en un (texte et graphiques), et pour l'impression. Le HTML n'est pas trop fait pour de l'impression précise, et si on veut récupérer un article avec les images, il faut tout récupérer "à la main" et éventuellement refaire les liens.
      Le PDF n'est pas un format de partage au sens où une fois qu'il est produit, il n'est pas fait pour être modifié.

      C'est comme d'essayer de demander a Alan Cox si le Hurd est meilleur que Linux.

      Il existe des gens de bonne foi et qui savent évaluer d'autres choses que ce qu'ils font eux-mêmes. C'est faire peu de cas de l'objectivité que peuvent avoir certains.
  • # Et 40 fois moins rapide si tu fais le bench toi même

    Posté par (page perso) . É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 . Évalué à 10.

    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.
    • [^] # Re: M$ et les benchs ou comment les affaires vont !

      Posté par . Évalué à 5.

      Il ne s'agit pas de technique. Enfin, pas tout à fait. Les ingénieurs de MS ont leur a dit de faire un bench super positif pour .NET.
      Et il font leur boulot.
      C'est du MARKETING pas de la métrologie.
      La courbe qui les interessent, toutes les majors de l'industrie informatique, c'est le vecteur de croissance des ventes après une opération de publicité dont le benchmark est l'un des moyens.

      Imagine le DSI qui veut installer un truc .NET, dans son dossier y met en bonne place le compte rendu du benchmark.
      ça aide à faire passer l'investissement.

      D'où l'importance d'une info indépendante et critique (dans l'acception sens critique)
    • [^] # Re: M$ et les benchs

      Posté par . Évalué à -6.

      Le point de vue est le suivant:

      T'as un soft qui fait le travail X.

      Objectif: Faire le travail X de la maniere la plus performante possible avec peut-etre quelques contraintes(genre l'ecrire en C# car le dept marketing en a besoin).

      Resultat: Tu ecris ce soft, il fait ce qu'il dit qu'il fait.

      Quand aux bench truques de MS, j'aimerais bien savoir en quoi ils sont truques.
      • [^] # Re: M$ et les benchs

        Posté par . Évalué à 6.

        Le problème c'est que l'application .NET n'a pas conservé certaines contraintes.
        Le bidule publié par microsoft prétend "Microsoft .NET 28 times faster than J2EE" or s'ils ont modifié les requêtes SQL par exemple, on peut pas décement prétendre que le différentiel de performance soit significatif des défauts ou des qualités respectives des implémentations de .NET et J2EE (ce que fait le document de microsoft, avec une mauvaise foi évidente, donc).
        Cela dit Oracle qui a publié un benchmark au départ avec une application qui n'étaient pas du tout réalisée dans cet esprit, et qui en remet une couche avec son nouveau test c'est n'importe quoi aussi.
        Le hardware et l'OS sont pas les même et en allant chercher le maximum d'utilisateurs, il appliquent leur tactique habituelle - et éprouvée - qui consiste à se placer là ou la base de donnée du concurrent s'écroule pour l'humilier, même si l'application en question serait jamais placée dans cette situation (6000 connections simultanées sur un magasin d'animaux en ligne, c'est vachement réaliste).
        Bref tout ça c'est du marketing en dessous de la ceinture et pour savoir si .NET est plus efficace de J2EE ou l'inverse, on attendra un autre test plus sérieux (et de préférence indépendant...).
        • [^] # Re: M$ et les benchs

          Posté par . Évalué à -1.

          Ben la on est d'accord, quoique je changerais "marketing en dessous de la ceinture" en "marketing", ca c'est toujours comme ca que ca marche entre les grosses boites, c'est pas pire que d'habitude.

          Et effectivement, les seuls tests ayant une signification(et meme la, de portee limitee au scenario teste) sont les tests independants qui couvrent des scenarios reels d'utilisation.
  • # Oracle se met à la hauteur de M$ et utilise les mêmes méthodes

    Posté par . É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 . É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.

Suivre le flux des commentaires

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