Accueil Bases de données L'application s'exécute lentement? le temps d'être précis

L'application s'exécute lentement? le temps d'être précis

Anonim

Par Techopedia Staff, 31 août 2016

À retenir : l' animatrice Rebecca Jozwiak discute des problèmes de dépannage et d'efficacité des bases de données avec les analystes Eric Kavanagh et Dez Blanchfield ainsi qu'avec Bill Ellis d'IDERA.

Vous n'êtes actuellement pas connecté. Veuillez vous connecter ou vous inscrire pour voir la vidéo.

Rebecca Jozwiak: Mesdames et messieurs, bonjour et bienvenue à Hot Technologies de 2016. Le sujet d'aujourd'hui, "Application s'exécutant lentement? Il est temps d'être précis". Et ne connaissons-nous pas tous trop bien les problèmes qui peuvent survenir lorsque les choses tournent lentement? Voici Rebecca Jozwiak, je remplace Eric qui joue un nouveau rôle ici, aujourd'hui. Oui, cette année est chaude et, vous savez, en ce qui concerne la technologie, comme je l'ai dit, la seule chose que vous ne voulez vraiment pas, c'est un fonctionnement lent, n'importe quelle partie de votre système. Et juste pour utiliser un exemple de consommateur, je veux dire si vous avez un restaurant, peu importe la qualité de la nourriture, si le service est lent, vous n'allez probablement pas finir par y retourner. Maintenant, il est facile, en quelque sorte, dans un restaurant de comprendre pourquoi quelque chose tourne lentement. Peut-être que la cuisine est à court de personnel ou qu'il y a eu un dysfonctionnement avec certains équipements, ou peut-être que le personnel d'attente est un peu paresseux, et c'est assez facile à identifier et à réparer.

Mais quand vous pensez à un centre de données, c'est une histoire complètement différente. Cela peut être un problème de réseau, une mauvaise requête qui bloque les choses, les performances des applications ou un câble défectueux peut même causer des problèmes. Et le dépannage avec ce type de complexité peut être, au mieux, difficile au mieux. C'est le genre de ce dont nous allons parler aujourd'hui. Et nous avons, comme je l'ai dit, Eric Kavanagh en tant qu'analyste aujourd'hui. Nous avons Dez Blanchfield, notre scientifique des données, et Bill Ellis de l'IDERA, qui va parler de la solution de son entreprise qui aide à la gestion des performances des applications. Et avec ça, je vais passer le ballon à Eric. Eric, la parole est à vous.

Eric Kavanagh: Très bien, ça sonne bien, les amis. Et c'était une grande analogie, en fait, parce que vous avez parlé des difficultés ou de la facilité avec laquelle le dépannage peut être accompli et vous vous y attelez. Les problèmes de performances résultent toujours d'une sorte de problème qui se trouve dans le réseau. Je veux dire, cela pourrait être aussi simple que du matériel ancien par exemple, mais le résultat est que toute situation comme celle-ci nécessite un dépannage. C'est de cela que je vais parler aujourd'hui. Et allons-y et sautons sur les diapositives ici.

Et les ennuis arrivent. Dépannage - c'est amusant pour les gens qui l'aiment, c'est la bonne chose. Si vous trouvez quelqu'un qui aime faire du dépannage, accrochez-vous à cette personne, procurez-lui des outils pour faire le travail, parce que vraiment de bonnes choses si vous pouvez trouver quelqu'un qui peut aller au fond de quelque chose et faire avancer les choses. Mais l'essentiel est que le dépannage est problématique et il l'a toujours été et le sera toujours, et si vous commencez à parler de dépannage, ce que vous cherchez vraiment, c'est l'analyse des causes profondes. Quelle est la cause du problème?

Eh bien, si vous vous asseyez et réfléchissez une seconde aux jours de l'ordinateur central, il y avait toutes sortes de problèmes qui pouvaient survenir. Et à l'époque, vous deviez avoir des gens qui connaissaient vraiment leurs affaires, car il n'y avait même pas de bons outils pour faire le dépannage, donc vous deviez vraiment connaître votre invite de commande, et nous en parlerons dans une seconde. Et j'ai en fait oublié de mettre une de mes diapositives préférées, je vais la chercher pendant que nous sommes sur le plateau aujourd'hui, peut-être pendant la présentation de Dez. Mais je voulais montrer, pour tous ceux qui ne l'ont pas vu, l'une des émissions de télévision britanniques les plus drôles jamais, elle s'appelle "The IT Crowd". Et en termes de dépannage, l'Irlandais, qui est l'un des deux informaticiens de toute l'entreprise dit toujours la même chose chaque fois qu'un appel commence: «Avez-vous essayé de l'éteindre et de le rallumer?» Alors, essayez de l'éteindre et de le rallumer. Vous seriez étonné de voir combien de fois cette simple chose peut résoudre certains problèmes.

Ceux d'entre vous qui ont fait du dépannage à la maison, peut-être avec vos parents ou amis, probablement pas avec vos enfants parce qu'ils ont tendance à savoir quoi faire, éteignez-le et rallumez-le. Mais peu importe, le dépannage n'est pas facile, il ne sera jamais facile, mais nous allons parler aujourd'hui de certaines des choses que vous pouvez faire pour le rendre plus facile. Donc, l'invite de commande - oui, en effet, je suis assez vieux pour me souvenir des premiers jours de l'informatique où tout ce que vous aviez était l'invite de commande pour faire DIR, Enter. C'est ce que cela verrait, un répertoire de fichiers et se sentirait positif d'avoir fait une commande, non? Dez, bien sûr, notre data scientist, il sait utiliser l'invite de commande. Et si vous pouvez utiliser l'invite de commande, c'est génial car la plupart d'entre nous, les simples mortels, utilisent une sorte d'interface graphique, une interface utilisateur graphique, mais il y a toujours quelque chose, il y a toujours une déconnexion entre l'interface graphique et la ligne de commande en dessous. Et juste pour vous donner un exemple aléatoire, si vous voulez savoir combien de code certains des programmes de base cuisent dans les documents ces jours-ci, allez dans la dernière version de Microsoft Word, tapez "bonjour le monde" puis "enregistrez sous HTML. "Et puis ouvrez ce document résultant dans un éditeur de texte, et vous verrez probablement des pages et des pages de balises. C'est ce qu'on appelle le ballonnement de code, et le ballonnement de code n'est pas vraiment bon pour le dépannage, juste pour être franc.

Bien sûr, le client-serveur est arrivé et c'était génial. Et d'une certaine façon, nous retournons dans cette direction, mais pensez à la complexité de la situation, maintenant où est le problème, est-ce sur le client, est-ce sur le serveur, est-ce le réseau? Où est-ce? Ces sites qui ne pensent qu'aux virus, et quand un virus peut entrer dans un réseau, que peut-il se passer? Cela peut aller n'importe où. Les violations de données sont folles ces jours-ci. Ils provoquent des problèmes de performances. Nous avons eu des pirates russes que nous pouvons identifier par l'adresse IP. Nous sommes à peu près sûrs qu'ils sont russes, ou qu'ils sont très proches, ou qu'ils sont très intelligents ukrainiens ou polonais ou même américains, utilisant des procurations. Mais des pirates informatiques sont venus sur notre petit site ancien, Inside Analysis, au fil des ans et ont causé toutes sortes de problèmes. Les trucs ne fonctionnent plus, vous ne pouvez pas faire avancer les choses. Les trucs qui fonctionnaient ne fonctionnent pas. Comment le sais-tu? Comment savez-vous ce que c'est? Tout comme un autre exemple ici, est un environnement très complexe, il est très difficile d'entrer dans les mauvaises herbes et de vraiment comprendre comment les choses se passent et fonctionnent pour nous, surtout si vous obtenez tout un tas de plug-ins. Les trucs peuvent devenir fous assez rapidement. Je prends une longueur d'avance sur moi-même.

J'ai jeté ici, méfiez-vous toujours de la mise à niveau. Les mises à niveau me font toujours peur. Certainement des systèmes d'exploitation. Je me souviens de l'époque où Microsoft suggérait effectivement que vous puissiez mettre à niveau votre système d'exploitation de cette version à cette version. Eh bien, j'ai essayé plusieurs fois, et cela n'a jamais, jamais fonctionné. N'oubliez pas que plus un environnement est grand et complexe, plus la situation deviendra lourde. Et puis il y a la virtualisation. Pensez à ce que VMware a fait au service informatique. Il a révolutionné l'informatique, mais il a également créé cette couche d'abstractions. Si vous avez une abstraction de couche à ce niveau fondamental, c'est un tout nouveau jeu de balle, c'est une toute nouvelle boule de cire et vous devez vraiment réévaluer ce que vous faites, et tous les anciens outils ont dû changer. Et maintenant, bien sûr, c'est le cloud, non? Pour le client, le cloud est génial, car il est très simple, l'interface utilisateur est assez simple, mais bien sûr, vous n'avez pas vraiment beaucoup de contrôle sur le cloud. Mais pour les gens qui sont dans les coulisses, il y a beaucoup de choses qu'ils doivent savoir et comprendre ces jours-ci. L'environnement est devenu beaucoup, beaucoup plus complexe. Et certainement avec le commerce électronique, et vous pensez à tout l'argent que les trades donnent de nos jours. C'est pourquoi vous ne me trouverez pas de sitôt en faveur d'une société sans espèces. L'essentiel ici est que la situation devient de plus en plus problématique de jour en jour.

Et maintenir des performances optimales impliquera toujours un élément de dépannage. Peu m'importe ce que l'on vous dit, il n'y a pas d'outil parfait, il n'y a pas de solution miracle et il n'y en aura jamais parce que - dans une autre perspective intéressante ici - nous apprenons encore à parler le silicium. Nous apprenons toujours à comprendre comment fonctionne même le réseautage au niveau le plus fin. Si vous regardez un logiciel de gestion de systèmes, il devient assez bon de nos jours. Mais quand même, vous regardez des lignes qui montent et qui descendent et vous regardez des représentations de la réalité, cela va prendre une personne qui sait ce qui se passe pour assembler les indices que vous pourriez regarder avec les outils optimaux pour pouvoir comprendre ce qui fonctionne et ce qui ne fonctionne pas et c'est beaucoup d'essais et d'erreurs, juste pour être franc. Sur ce, je vais céder la parole à Dez Blanchfield, puis nous entendrons Bill Ellis de IDERA, qui va nous faire honte de ses connaissances. Avec ça, Dez, emportez-le.

Dez Blanchfield: Hé, merci Eric. Je vous remercie. Conduit bien dans ma petite séquence. Mon titre, «Performance Art», je pense est extrêmement approprié dans le contexte de ce dont nous discutons aujourd'hui, car à bien des égards, lorsque nous pensons à la performance, nous pensons à la danse, à la musique et à d'autres choses créatives. Et franchement plus souvent qu'autrement, si nous résolvons des problèmes et dans des environnements informatiques et des systèmes commerciaux à très grande échelle, il y a en effet un élément de l'art et souvent de l'art noir, car la situation dans mon expérience depuis plus de 25 ans est que le les piles d'applications modernes, augmentent très rapidement la complexité à un rythme que nous n'avons jamais vu auparavant. Et nous avons vraiment du mal à suivre et il y a des organisations comme Uber par exemple, et peu importe, et l'équipe de développement de Pokémon Go, je veux dire qu'elles connaissent une croissance et une complexité et une augmentation de la complexité à des taux qui sont juste astronomiques. Il n'y a même pas de livres écrits à ce sujet parce que nous n'avions pas conçu ce niveau de croissance. Mon point de vue est que la définition de base d'une pile d'applications s'est transformée de façon exponentielle et je vais expliquer pourquoi je pense que c'est le cas, puis conduire au défi à relever, que mes bons amis d'IDERA semblent avoir une solution à résoudre .

Très brièvement, nous les connaissons tous, mais juste pour les récapituler, vous savez, au début, nous avions ce que j'appelle, l'architecture d'application, la version 1.0. C'était un ordinateur serveur, dans ce cas l'ordinateur central avec un tas de terminaux connectés, il était relativement facile de diagnostiquer les problèmes si vous ne voyiez rien sur le terminal - vous pouviez localiser le câble entre le terminal puis l'ordinateur serveur, et il s'agissait soit d'un câble nul, soit d'un connecteur ou d'un problème s'il n'était pas lié au terminal, et vous voyez des choses à l'écran, il était assez facile de comprendre que les éléments à l'origine des problèmes étaient dans le machine elle-même. Et vous pouviez lentement diagnostiquer où se trouvait la pile depuis le matériel jusqu'à la couche logicielle et l'interface utilisateur. Dans ce que j'appelle la version 1.1, nous l'avons rendue un peu plus complexe. Nous avons placé des appareils au milieu pour pouvoir mettre en place plus de terminaux. Et ils étaient une sorte d'appareil de communication et souvent c'étaient des multiplexeurs et des multiplexeurs et ils devaient soit fonctionner sur une ligne dédiée ou une ligne commutée et donc vous aviez un ordinateur central à un endroit éloigné - il pourrait être interétatique ou international - et un appareil connectés via une liaison SMA ou une sorte de connectivité WAN et ces terminaux fonctionnent toujours de la même manière. Mais vous aviez un peu plus de complexité car vous deviez déterminer si le problème se situait entre les terminaux et le périphérique de communication ou le périphérique de communication et le mainframe. Mais la pile est restée relativement similaire dans le mainframe.

La version 1.2, un peu plus complexe encore parce que maintenant nous avons ajouté plus de périphériques, nous avons ajouté des imprimantes et d'autres choses, et nous avons regroupé ces choses, et je pense à un processeur frontal qui traiterait tous les problèmes des périphériques localement, les imprimantes et les terminaux et ainsi de suite avec l'ordinateur central cette extrémité distante. Un peu plus de complexité. Mais encore une fois, le thème cohérent du mainframe était les applications s'exécutant localement, de sorte que la résolution des problèmes est restée assez similaire dans la pile des applications. Et puis nous avons eu des gens compétents qui ont trié les problèmes avec les terminaux et les imprimantes et les contrôleurs de cluster. Mais ensuite nous avons compliqué les choses et nous avons construit des réseaux et tout à coup le même type d'architecture introduit une couche réseau. Tout à coup, nous avons eu un commutateur réseau et les postes de travail étaient beaucoup plus complexes. Et cette version de l'architecture, nous avions souvent des applications d'interface utilisateur graphique sur le poste de travail. Non seulement nous avions un serveur exécutant la pile d'applications, mais nous avions également une autre pile d'applications fonctionnant localement, et bien sûr le même modèle de base d'appareils se connectant à un serveur. Ensuite, nous avons fait un bond en avant vers le modèle le plus récent de ce que j'appelle 2.1, c'est là que nous avons pris cette pile d'applications et nous l'avons rendue beaucoup plus complexe, beaucoup plus difficile à diagnostiquer. Et nous avons introduit beaucoup plus d'appareils en front-end, sur les navigateurs Web, les PC et les appareils mobiles, etc. Et ici, la pile d'applications a alors commencé à plonger un peu plus profondément dans l'intégration en tant que système d'exploitation et hyperviseur.

Cette image ici sur le côté droit, nous avons la pile entière, y compris l'infrastructure réseau, les serveurs de stockage, les machines virtuelles, le système d'exploitation, puis les trois niveaux traditionnels des applications de ferronnerie de base de données, etc., à l'avant droit. Le diagnostic des problèmes d'application et des problèmes de performances sur ce modèle est devenu beaucoup plus difficile. Il y a tellement plus de pièces mobiles et essayer de fouiller dans cette pile était juste, vous savez, devenu un cauchemar et vous deviez impliquer des compétences et une organisation supplémentaires pour y faire face. Ce n'était plus seulement votre équipe d'application, tout à coup, vous aviez maintenant des gens de l'infrastructure, vous aviez des spécialistes des bases de données, travaillant uniquement sur des bases de données et rien d'autre - contrairement à un programmeur de systèmes qui connaissait bien les bases de données. Nous avons maintenant un scénario où les services informatiques doivent faire face à une complexité beaucoup plus large de «en tant que service» et où le monde vient d'exploser et où nos problèmes de résolution de problèmes sont devenus, de cauchemar à quelque chose de presque intolérable. à certains égards.

Et cela est arrivé comme une échelle résoluble, nous essayons de fournir des services à. La version 3 de ce que je considère comme la pile d'applications - elle l'a présenté comme un modèle de service, où le modèle traditionnel sur le côté gauche, la pile informatique d'entreprise, où tout devait être géré de notre côté en tant que consommateur et fournisseur de services - à partir de la base de données de sécurité des applications, des systèmes d'exploitation, du stockage des services de virtualisation, des centres de données de mise en réseau - nous devions tout gérer, mais nous y avions accès et nous pouvions donc étendre nos capacités et nos compétences techniques et approfondir à travers cette pile et nous pourrions trouver des choses. Mais au fur et à mesure que le service d'infrastructure et le service de plate-forme et le modèle de service logiciel sont apparus, tout à coup, notre accès à l'infrastructure principale, notre accès aux plates-formes et l'outil à partir duquel nous avons fourni des services nous ont été en quelque sorte retirés. Lorsque nous avons commencé à consommer des services d'infrastructure, nous n'avions vraiment à notre disposition que les quatre premiers éléments du système d'exploitation, de la base de données, de la pile d'applications environnementales de sécurité et plus. Tout en dessous était de la magie noire. Et cela devient encore plus intéressant lorsque vous passez au service de plate-forme, car vous gérez également la pile d'applications.

Lorsque vous accédez à un logiciel en tant que service, et un modèle traditionnel de celui-ci est le webmail ou les services bancaires par Internet, tout ce que vous avez est l'accès à un navigateur Web, donc essayer de diagnostiquer ce qui se cache derrière est intolérable, certainement. Et je l'ai divisé en fuseaux horaires, en tranches de temps ou en zones de temps si vous le souhaitez ou en générations, en ce que de gauche à droite, nous sommes passés d'une sorte d'avant les années 2000 et de la pile traditionnelle où nous avions accès à l'ensemble de l'environnement et nous pourrions explorer cela. Mais au fil du temps, cela est devenu de plus en plus complexe. Du début des années 2000 au milieu des années 2000, de la fin de 2000 à nos jours, où nous sommes passés du service d'infrastructure, du service de plate-forme, du service logiciel, à présent, nous parlons essentiellement d'un service aux entreprises. Et la complexité a considérablement augmenté. Il y a tellement plus de pièces mobiles. Mais la disponibilité des compétences devient de plus en plus difficile et de plus en plus difficile à utiliser. Trouver des personnes avec les bonnes compétences avec le bon accès aux bons outils pour entrer et plonger dans cette pile et découvrir où quelque chose tourne lentement. S'agit-il de mon ordinateur portable ou de mon bureau, de mon téléphone ou de ma tablette, de ma connectivité sur 3 ou 4G, ou de ma liaison dédiée avec l'ADSL ou le RNIS, quoi que ce soit? Ou même par ligne commutée, bien que ce soit de moins en moins le cas de nos jours. Le serveur Web est-il à l'extrémité, est-ce quelque chose à l'intérieur du serveur Web? Est-ce le serveur d'application? S'agit-il de la mémoire et du disque des performances du processeur et du réseau à l'intérieur du serveur d'applications? La base de données fonctionne-t-elle là-dedans?

Et vous pouvez imaginer, vous dessinez très rapidement cette image de la complexité qui commence à se développer un peu comme une image de big bang, de cette bulle sans cesse croissante dans laquelle nous essayons de passer nos bras et d'avoir les compétences pour plonger et les connaissances et les moyens de disséquer et de séparer. Et nous sommes maintenant à une époque où, vous savez, les êtres humains ne peuvent pas faire face à l'échelle physique, même si vous avez la capacité de séparer l'environnement de la base de données et de séparer cette base de données et de plonger dans le détail dans cette base de données. Le nombre de bases de données que vous devez gérer maintenant augmente rapidement. Tout est désormais alimenté par une base de données. De nos jours, très peu d'applications ne sont pas alimentées par une base de données. Et les types de bases de données se développent également rapidement. Ce n'est plus seulement les bases de données SQL traditionnelles, parfois son SQL, parfois son non-SQL, parfois c'est une base de données graphique, parfois c'est une base de données de documents. Et il y a tous ces différents types de fonctions que ces différents types de bases de données ont et, par conséquent, chacun d'eux a des défis de performance différents et des critères de performance différents. Les bases de données de journalisation et les bases de données de documents fonctionnent très, très différemment et remplissent une fonction différente d'une base de données SQL traditionnelle conforme ACID et conforme ANSI 92. Et les types de choses que nous y stockions.

Nous sommes à un point, dans mon esprit, où - et je pense qu'Eric y a fait allusion - que les êtres humains ont du mal à suivre la complexité de ce que nous construisons et la vitesse à laquelle nous construisons, et nous sommes maintenant au point où la seule façon pour nous de gérer cette infrastructure, et la seule façon de surveiller et d'explorer les problèmes auxquels nous sommes confrontés, sont avec des outils et les bons types d'outils. Et puis invariablement, la bonne génération d'outils. Des outils qui comprennent réellement l'infrastructure principale. Il ne suffit plus de lancer un moniteur SQL ou un outil de requête SQL sur quelque chose et de commencer à séparer une requête et à voir ce qui la fait fonctionner. Nous avons en fait besoin d'un outil qui comprend la formation des requêtes et la manière appropriée de former des requêtes, ainsi que les façons appropriées pour les requêtes de communiquer avec l'infrastructure à l'arrière-plan, et comment elles fonctionnent comme elles le font. Et pour regarder le moment de ces interactions et l'ordre dans lequel elles ont lieu.

Et c'est un défi beaucoup plus complexe et cela m'amène à mon point de question récapitulatif, à savoir que la complexité des piles d'applications que nous développons augmente, les outils de performance et les outils que nous utilisons pour les gérer, ont nécessairement besoin pour devenir de plus en plus intelligent et beaucoup plus capable de regarder plus de choses. Mais aussi beaucoup plus intelligents sur la façon dont ils se plongent dans ce qui fonctionne sur le back-end et ce qu'ils peuvent découvrir à ce sujet et potentiellement même une sorte d'analyse en cours d'exécution pour comprendre que les interactions et les performances sont livrées, et pourquoi il fonctionne plus lentement ou plus vite.

Et ensuite, je vais passer à notre cher ami de l'IDERA, Bill Ellis, et voir ce qu'il a à dire aujourd'hui sur la façon dont ils résolvent ce problème. Bill, à toi.

Bill Ellis: D' accord. Je m'appelle Bill Ellis et merci beaucoup. Nous allons parler de mon application qui s'exécute lentement, il est temps d'être précis. Voyons ce que Precise, un produit IDERA, peut faire et comment il peut vous aider. Souvent, vous découvrez seulement qu'il y a eu un problème de performances parce qu'un utilisateur final vous a appelé, et c'est vraiment un gros problème en soi. Sur tout le monde dans l'informatique, personne ne savait jusqu'à ce que le téléphone sonne. Maintenant, le prochain gros problème est de savoir comment aider cette personne en particulier, et ce n'est vraiment pas un problème trivial. Il y a un point à retenir de cela. C'est au-dessus et au-delà de cette diapositive, c'est au-dessus et au-delà des autres. Et je veux que vous voyiez si vous pouvez obtenir ce que c'est. Mais, comme nous l'avons mentionné, une application nécessite, s'appuie sur de nombreuses technologies différentes, la pile d'applications est grande et en croissance. Et de nombreuses personnes accèdent à une application via un navigateur, et étonnamment, il y a de plus en plus de traitement dans le navigateur avec des scripts, etc., et puis bien sûr, vous avez le réseau, le serveur Web, le code logique métier et la base de données. Ce que je veux que vous preniez en compte, c'est que chaque transaction commerciale importante interagit avec la base de données, qu'il s'agisse de rapports de fiches de présence, de recherche d'inventaire, d'un bon de commande, la base de données est mise à jour. Et donc, la base de données devient vraiment le fondement de la performance. Et la base de données peut bien sûr s'allumer ou s'appuyer sur l'aval sur le stockage. Chacune de ces technologies est étroitement couplée et capable de voir ce qui se passe. Vous devez savoir ce qui se passe pour pouvoir mesurer est critique.

Maintenant, une chose que nous constatons est que beaucoup de nos clients ont un outil, et ils ont un outil pour chaque technologie, mais ce qu'ils n'ont pas, c'est le contexte. Et le contexte est essentiellement la possibilité de connecter les points entre chaque niveau de la pile d'applications, et c'est en fait relativement simple. Auparavant, nous avions une limite de douze niveaux, mais fondamentalement, nous l'avons modifiée, nous avons des niveaux illimités et nous prenons en charge les environnements mixtes afin que nous puissions devenir extrêmement compliqués avec une solution précise.

Maintenant, à un niveau élevé, c'est ainsi que nous résolvons le problème et il se concentre sur la transaction, la transaction de l'utilisateur final du clic vers le disque, nous dit lesquelles sont lentes, lesquelles consomment des ressources, mais la clé est la suivante - nous vous permettons de récupérer et d'ID utilisateur leur emplacement et non seulement le temps de transaction entier, mais combien de temps est passé à chaque étape individuelle. Le temps est la devise de la performance, et il montre également où les ressources sont consommées. Nous ne savons pas à l'avance où le problème va se produire, nous devons donc disposer des mesures et des analyses adéquates à chacun des niveaux pour pouvoir diagnostiquer le problème, où il pourrait être.

Maintenant, dans la présentation d'aujourd'hui, je vais me concentrer dans ce domaine, je veux que vous soyez assuré que nous fournissons essentiellement le même niveau de visibilité à chaque niveau de la pile d'applications et la chose cruciale, est-ce que cela va nous dire qui, quoi, où et puis cette partie, cela va nous dire pourquoi. Et c'est vraiment la raison pour laquelle cela est absolument essentiel pour résoudre les problèmes, pas seulement pour les connaître. Maintenant, l'autre chose qui est ressortie très clairement de la présentation est qu'il est impossible de le faire. Vous avez besoin d'automatisation. Et l'automatisation signifie que vous avez des alertes, vous avez quelque chose qui vous dit, espérons-le devant la communauté des utilisateurs finaux, que vous avez une tendance continue, une déviation accrue par rapport aux alertes de tendance. Et puis nous proposons également une ligne dans le sable, vous êtes en fait en train de violer le SLA. Maintenant, vous offrez beaucoup d'informations différentes - tout le monde n'a pas besoin de consommer le buffet, certaines personnes veulent juste avoir une collation légère, c'est de la salade, et donc avec cela nous offrons un portail nous pouvons télécharger des informations, il a juste besoin d'un utilisateur particulier ou les besoins d'information d'une communauté particulière sur les performances. L'application s'exécute lentement, il est temps d'être précis. Nous allons vraiment nous concentrer sur quatre choses. L'un est l'emplacement, l'entrée de l'utilisateur final. Encore une fois, ce contexte qui relie les points, et la troisième partie de la recherche montre que près de 90% des problèmes d'applications se trouvent dans la base de données et c'est donc vraiment une sorte de parodie que la majorité des solutions de performances peuvent vous dire une instruction SQL. Mais ils ne vous disent pas pourquoi cette instruction SQL s'exécute lentement.

Et donc, le pourquoi est toujours la chose cruciale et Precise est excellent pour montrer pourquoi, pour chaque niveau et en particulier la base de données, et juste pour partager un peu sur notre matrice de support avec vous, que nous supportons SQL Server, Sybase, DB2 et / ou en vrac. L'aspect et la convivialité de la solution sont très similaires, donc si vous regardez plusieurs applications, mais des architectures légèrement différentes. L'information que je partage ici a l'apparence, l'approche, c'est la même, quelles que soient les technologies sous-jacentes utilisées. Precise est compatible avec le Web. Nous entrons, nous authentifions Precise, et avec cela nous entrons et la première chose que nous pourrions vouloir regarder est la performance par emplacement. Et vous pouvez donc voir ici les différents endroits où les gens accèdent à leurs exécutions. Vous pouvez voir si quelqu'un a abandonné une page avant qu'elle ne soit entièrement rendue, ou s'il y a des erreurs.

Maintenant, une chose avec ces applications, c'est que le réseau ou la distance du serveur d'applications fait la différence. Il est très facile de voir ici qu'il existe un certain niveau de réseau. Je peux voir quand les gens sont devenus occupés, et puis une autre chose intéressante, nous avons parlé de la façon dont le traitement est effectué dans le navigateur, ils remarquent en fait que certains des différents types de navigateur fournissent un meilleur environnement pour un traitement rapide. Et donc, sachant si les gens y accèdent par Chrome ou IE, ou quoi que ce soit, vous pouvez en fait constater très souvent qu'une inversion de type de navigateur est en fait supérieure à une autre. Maintenant, parfois, vous avez un accès public, vous ne contrôlez pas le navigateur, parfois les applications sont orientées vers l'intérieur, où vous pouvez recommander aux utilisateurs un type de navigateur à votre communauté d'utilisateurs finaux, et ce sont donc les types de visibilité et d'analyse en profondeur qui Precise est en mesure de fournir. Maintenant, nous examinons une application.

Je ne sais pas si vous pouvez voir mon pointeur, mais je voulais vous décrire le graphique du haut. L'axe des y montre le temps de réponse moyen. L'axe des x représente le temps sur une journée. Et il y a en fait un graphique à barres empilées et ce graphique à barres empilées, le total vous montre quelles sont les performances et ensuite il montre une hiérarchisation du temps passé à chaque étape individuelle ou chaque niveau individuel de l'application. Du client, via le serveur Web, le vert est le Java, cet endroit que nous utilisons Tuxedo et descend dans la base de données. Maintenant, la moitié inférieure de l'écran affiche les différents menus Web auxquels on accède et nous les avons ensuite assortis avec juste une petite flèche verte pointant vers le bas. C'est dans l'ordre décroissant, et ça bouillonne jusqu'en haut, le menu Web commence à le montrer. Nous montrons en fait le temps d'exécution, le temps de réponse de chaque technologie individuelle et puis il y a en fait un graphique à barres pour chacun de ces menus Web et ainsi nous obtenons, commençons à avoir une idée de ce qui se passe. Rappelez-vous maintenant que nous avons trié tout cela avec un utilisateur final qui appellerait, mais comment puis-je trouver l'utilisateur final? Je viens ici, j'ouvre un menu, qui me permet de filtrer sur un utilisateur particulier, alors je définis cet utilisateur sur Alex Net, cliquez sur OK, puis nous nous concentrons uniquement sur l'activité d'Alex Net. Maintenant, cela permet à l'informatique et à la gestion informatique de répondre directement à un utilisateur final et en particulier à la gestion de contenu qui a eu six exécutions avec un temps de réponse d'un peu plus de trois secondes. Eh bien trois secondes, c'est plutôt bien, ce n'est pas terrible, mais ça, c'est peut-être plus lent.

Ce que je peux faire avec cela, c'est que je peux couper et couper ces informations de différentes manières. Je pourrais dire, eh bien, cette transaction est-elle lente pour tout le monde? Est-ce plus lent aujourd'hui pour Alex qu'hier? Est-ce lent pour chaque utilisateur dans un emplacement particulier? Ou, et ce que cela fait, cela me permet de trancher et de découper en dés et d'avoir une idée de ce qui se passe, de l'ampleur du problème et il est très important de pouvoir identifier l'utilisateur final, car il ne s'agit pas seulement du logiciel, l'infrastructure, c'est aussi la façon dont les utilisateurs finaux exercent l'application. Souvent, vous pouvez avoir un nouvel employé ou quelqu'un avec une nouvelle fonction, et ils ne connaissent pas certains écrans SAP ou certains panneaux PeopleSoft et ils ont besoin d'un petit pointeur, peut-être qu'ils laissent des champs vides ou mettent des caractères génériques et ils '' forçant les résultats volumineux à être renvoyés de la base de données. Mais ayant l'ID utilisateur, vous pouvez réellement les appeler avant qu'ils ne vous appellent. L'autre chose que nous constatons est qu'une fois que la communauté des utilisateurs est consciente que l'informatique sait ce qu'ils font, il arrive souvent qu'ils se comportent mieux et beaucoup de problèmes, beaucoup de choses qui avaient été des problèmes, juste une sorte de s'évaporer, parce que les gens se comportent, opérez simplement un peu plus attentivement. Ils utilisent le système avec plus de soin.

L'identification de l'utilisateur final est essentielle. Au final, il est essentiel que l'informatique puisse aider un utilisateur final particulier. Maintenant, ce que nous avons fait ici, c'est que nous sommes passés à l'onglet «Flow». Vous pouvez le voir dans le coin supérieur gauche. Et nous nous sommes concentrés sur un composant particulier du menu Web. Et sur le côté droit est une analyse de cette transaction particulière, et donc en haut c'est en fait le navigateur puis la vue, juste pour se familiariser avec un peu des icônes dans l'interface graphique est pour le serveur web, donc nous pouvons voir le point d'attribut. Et puis le «J» est pour Java et le «T» pour Tuxedo et naturellement le «Q» est SQL. Eh bien, cette valeur monétaire est essentiellement identifie une instruction SQL particulière. Considérez ce que cela fait. Nous avons identifié un utilisateur à une transaction, au code d'application sous-jacent, y compris les instructions SQL individuelles. Maintenant, quand je regarde ces instructions SQL individuelles, je peux voir que du temps de réponse total, chacun d'eux est responsable d'environ six pour cent, et quand ils additionnent les quatre premières instructions SQL, ils ont pris environ un quart de la transaction temps.

Désormais, la base de données est souvent la plus facile à manipuler. Il est généralement plus facile d'obtenir des performances peu coûteuses et bien supérieures. Maintenant, je dois aller un peu plus loin pour savoir ce qui se passe et quoi, je veux que l'exemple soit capable de révéler l'instruction SQL individuelle, et vous savez que je peux presque vous garantir à chaque coup sur la ligne avait une sorte d'outil de base de données et ce que fait l'outil de base de données, mais en regardant une seule technologie isolément, c'est que vous regardez la, vous concentrez sur la santé de cette technologie. Et souvent, les gens consultent une liste des dix premiers. Maintenant, cette instruction SQL est assez rapide, elle ne figurera pas sur la liste des dix premiers, mais c'est l'instruction SQL sur laquelle cette transaction s'appuie. Et donc ce que je peux faire à ce mot, le contexte, c'est maintenant que je peux porter cela à l'attention du regard profond, mais dans le contexte de l'instruction SQL individuelle.

Maintenant, cette personne peut ouvrir Precise dans le contexte de l'instruction SQL individuelle, et Precise capture le plan d'exécution réel qu'elle utilise, le temps d'exécution, ce qui est important pour le DBA, sera effectivement affiché, vous pouvez voir que 50% de la on passe du temps à attendre le stockage. Cinquante pour cent du temps est utilisé dans le processeur, vous commencez donc à avoir une idée de l'endroit où le temps est passé, de la façon dont je pourrais ralentir ce temps, et l'idée est de donner aux gens des options, car les différentes réponses ont des coûts et des risques différents associés . Idéalement, nous recherchons la solution à faible risque et à faible coût à un problème. Maintenant que l'instruction SQL est suivie par une valeur de hachage et il y a, au milieu à gauche de l'écran, il y a ce petit bouton "Tune", et ce que cela va faire, c'est qu'il vous amènera à une tâche SQL. Et cette tâche SQL est une sorte de plan de travail prédéfini et ce que cela fait, c'est qu'elle me permet vraiment d'analyser spécifiquement ce qui impacte l'instruction SQL en commençant par le plan d'exécution. Le plan d'exécution est choisi par l'optimiseur lorsque l'instruction est analysée, il - de retour à l'analogie alimentaire, c'est la recette qui est suivie pour résoudre l'instruction SQL.

Et certaines recettes sont plus compliquées que d'autres, et nous fournissons donc des résultats. Et cela montrera en fait ici, hé, beaucoup de temps qu'il fait des E / S séquentielles sur un index particulier. Et voyez maintenant, quand, revenant à l'oxygène, suivez cet indice. Cet indice a-t-il été défragmenté récemment, quelle est la santé de if? Dans quel espace de table vit-il? L'espace table est-il séparé de la table à laquelle il fait référence? Et donc cela commence à vous donner toutes sortes d'idées sur la façon dont vous pourriez résoudre le problème. Évidemment, vous savez, nous construisons un index. C'est un risque beaucoup plus faible, beaucoup plus facile que de déplacer un index d'un espace table vers un autre espace table, donc ce que nous voulons faire, c'est une sorte d'options de construction, afin que nous puissions déployer le coût le plus bas, l'option la moins risquée résoudre le problème.

Precise peut également faire des choses comme capturer des variables de liaison qui sont transtypées en une instruction SQL. De toute évidence, les variables converties vont contrôler la taille de l'ensemble de résultats. Et il contrôlera le temps nécessaire à l'exécution de l'instruction SQL et la quantité de données à transmettre et à traiter par l'application via Java, via .NET, sur le serveur Web casté plus le réseau, finalement rendue dans le navigateur de l'utilisateur final. . Ce qui se passe dans la base de données a un impact direct sur la durée du navigateur. Et il sera donc crucial d'avoir ce niveau de visibilité afin que nous puissions savoir exactement ce qui se passe et donner au DBA le plus d'options afin qu'il puisse choisir celle qui a le plus de sens, compte tenu d'une situation particulière.

Maintenant, ce sont quelques-unes des citations et elles proviennent d'une boutique PeopleSoft qui a un déploiement mondial. Precise prend en charge PeopleSoft et SAP, Siebel, Oracle, E-Business Suite, les applications Java et .NET locales. Nous prenons en charge, donc si vous effectuez des appels de service Web vers plusieurs machines virtuelles Java, de Java à .NET en passant par Java, nous pouvons suivre tout cela. Cela pourrait être sur site, cela pourrait être dans le cloud. L'essentiel est que les choses doivent être instrumentées.

Et donc, juste quelques citations de l'un de nos clients. "Avant Precise, nos DBA utilisaient OEM" - c'est un outil de base de données uniquement, et ils ont essentiellement dit: "Hé, les instances sont superbes." Mais ils pouvaient aider à détecter ou résoudre un problème avec une transaction particulière. Précis a fourni la visibilité pour le faire. Il était donc essentiel de disposer de ces informations sur les instructions SQL pour donner aux administrateurs de base de données la visibilité nécessaire pour extraire complètement les performances de la base de données. Et donc c'était vraiment sympa. Un peu au-delà de certains des outils que vous pourriez regarder.

Et puis la direction informatique a vraiment adoré le fait que Precise ait pu traduire une URL complexe en un nom de panel. Et de cette façon, si un utilisateur final appelle et dit: «Hé, j'ai des problèmes avec cela», vous pouvez isoler et voir qui est cet utilisateur, ce qu'il exécute, quel type de performance, il mesure en fait le rendu heure dans le navigateur de l'utilisateur final. C'est une véritable mesure de l'expérience de l'utilisateur final. Et donc aussi, avoir cet ID utilisateur est absolument essentiel pour aider une personne en particulier qui appelle.

Comment Precise fait-il cela? Et donc nous aimerions partager notre architecture. Precise doit vivre sur son propre serveur, et vivre dans une machine virtuelle, il peut vivre dans le cloud. Sur le front-end, Precise est compatible avec le Web, que vous utilisiez des tableaux de bord, l'interface d'alerte ou l'interface graphique experte. Du côté de la collecte de données, nous pouvons réellement faire sans agent pour plusieurs technologies différentes. Souvent, cependant, nous aurons besoin d'un agent, et il y a des avantages et des inconvénients à avoir un agent. Un gros avantage est que les données collectées peuvent être prétraitées avant d'être envoyées sur votre réseau local. Et cela signifie que nous pouvons minimiser l'impact total de la solution de surveillance sur l'environnement cible.

Maintenant, considérez simplement comme une alternative, si vous avez «sans agent», il y a toujours un collecteur de données, c'est juste une question de l'endroit où il vit, et il passe des appels et transmet des données brutes sur l'application cible sur votre réseau local. Et c'est en fait assez cher. Et donc en prétraitant, nous pouvons réellement minimiser l'empreinte. Vous pourrez surveiller à la fois physique et virtuel. Et une chose que je voulais dire à propos de la technologie virtuelle, c'est qu'elle se concentre vraiment sur son utilisation. Precise se concentre sur la contention. Quand la technologie VMware minimise-t-elle réellement les ressources de votre machine virtuelle invitée? Et donc ça devient vraiment facile. Si vous ne regardez que dans une machine virtuelle invitée, vous n'avez qu'une partie de l'image. Pouvoir détecter et alerter automatiquement en cas de conflit, c'est vraiment essentiel.

Precise peut surveiller jusqu'à 500 instances, donc les déploiements très volumineux ont essentiellement plusieurs serveurs Precise. Et pour un déploiement global, ce sera généralement un serveur Precise dans chaque centre de données. Soit dit en passant, pour les déploiements les plus importants, vous pouvez réellement les fédérer afin de pouvoir regarder l'ensemble de l'entreprise et pouvoir proposer des rapports, etc. Maintenant, comme je l'avais mentionné, nous avons beaucoup d'analyses techniques. Tout le monde n'a pas besoin d'accéder à l'interface graphique experte, nous proposons donc un tableau de bord personnalisable. Et chacun de ces portlets ou widgets, ils sont tous facultatifs. Et quelqu'un pourrait simplement vouloir dire: «Hé, comment pouvez-vous déclencher une alerte à n'importe quel niveau de notre environnement? Comment se portent les groupes d'utilisation finale du point de vue des performances? »Ou peut-être pourriez-vous avoir une question sur l'infrastructure, peut-être même sur les performances de Tuxedo. Ou même l'équilibrage de charge. C'est assez intéressant ici dans cette partie d'équilibrage de charge. Je regarde le portlet au milieu sur le côté gauche. Vous pouvez voir que le nombre d'exécutions est très similaire entre chacun des serveurs Web. Mais le temps de réponse est très différent sur celui du haut. Vous pouvez réellement explorer et découvrir exactement la raison pour laquelle le temps de réponse sur ce serveur Web a été beaucoup plus lent que les autres.

Une chose à propos de l'équilibrage de charge, c'est très important, et les politiques d'équilibrage de charge, vous savez, toutes les politiques d'équilibrage de charge ne conviennent pas à chaque application. Il est en fait très utile de valider votre politique d'équilibrage de charge. Nous voyons en fait avec certaines applications comme la nouvelle interface graphique PeopleSoft Fluid, où en fait certains serveurs Web seront déconnectés. Et c'est donc quelque chose de vraiment critique. Si vous déployez l'interface graphique PeopleSoft Fluid, veuillez nous contacter. Nous pouvons vous fournir beaucoup d'informations et de connaissances sur ce que les autres clients ont dû y faire. Chacun de ces portlets peut être assez détaillé. Comme le milieu à droite, avec le bleu et le vert, montre en fait le motif de la pointe de l'épée, cela montre en quelque sorte que votre collecte de déchets dans le niveau WebLogic fonctionne comme vous vous attendez. Chacun de ces portlets peut être très ciblé ou de très haut niveau. Et la raison pour laquelle cela est important, ou pourrait l'être, est souvent que ce n'est pas assez bon d'avoir simplement ces informations au sein de l'informatique, parfois vous devez partager ces informations avec les propriétaires des applications et parfois avec la haute direction, sur ce qui se passe .

Je voulais partager avec vous quelques histoires, une sorte de «succès dans le centre de données». Et elles sont axées sur les bases de données et j'ai d'autres histoires qui sont axées sur les niveaux intermédiaires. Mais pour aujourd'hui, je veux vraiment me concentrer sur le niveau de la base de données. Jetons un coup d'œil aux gels d'écran. Maintenant, ce qui s'est passé ici, c'est que ce magasin particulier avait un SLA commercial, que si une commande est reçue avant 15 heures, la commande est expédiée ce jour-là. Et donc l'entrepôt est extrêmement occupé pendant cette période. Et puis, avec le blocage de l'écran, c'était très frustrant. Et donc le superviseur - c'est une petite entreprise - le superviseur est en fait entré dans l'informatique et va bien sûr au DBA et dit: "Maintenant, que se passe-t-il?" Et donc ce que nous avons fait, nous avons pu montrer exactement ce qui se passait. Maintenant, c'est JD Edwards, une application à plusieurs niveaux, c'est l'écran de commande client. Vous pouvez avoir une idée de ce qu'était l'entreprise, essentiellement un inventaire juste à temps, et donc vous regardez essentiellement les applications d'entrepôt. Et maintenant, vous expédiez essentiellement vers différents sites clients, différents magasins. Et ce que nous avons fait, c'est que nous avons ouvert Precise.

Maintenant, dans ce cas, avant de regarder Oracle, nous regardons ici SQL Server, et maintenant la moitié supérieure nous montre un graphique à barres empilées de l'endroit où les instructions SQL passent leur temps lors de l'exécution. Chaque état faible est pris en compte sur l'axe des y. L'axe des X est bien sûr dans le temps et vous pouvez voir que le graphique à barres empilées change à partir de la tranche de temps en fonction de ce qui s'exécute et de la façon dont il utilise le système. Maintenant, dans ce cas particulier, nous nous sommes concentrés sur la troisième séquence SQL à partir du haut. Il est textuel SELECT FROM PS_PROD et vous pouvez voir dans cette colonne que nous avons capturé le plan d'exécution réel. Et vous pouvez voir à travers le nombre d'exécutions. Le fait que cette instruction SQL particulière était responsable de 9, 77% de la consommation de ressources pendant cette période que nous examinons - et c'est un point important, la période, Precise conserve un historique évolutif - et donc je peux essentiellement composer et découvrez ce qui s'est passé à un moment donné ou au fil du temps. Je peux voir les tendances.

Maintenant, cette instruction SQL, vous voyez ce graphique à barres empilées là, c'est bleu foncé. Cela signifie que nous utilisons tous les processeurs. Allons de l'avant et concentrons-nous en cliquant sur ce bouton «TUNE» sur cette instruction SQL particulière. Ce que nous faisons, c'est que nous le prenons dans cet atelier, un atelier prédéfini conçu pour dire: «Eh bien, que DBA va savoir sur cette instruction SQL particulière?» Et vous pouvez voir sur le côté droit un onglet appelé « Histoire ”qui a été sélectionné. Et ce que j'aimerais que vous fassiez maintenant, c'est une sorte de décalage vers la gauche où il est écrit «Changements par rapport à la durée moyenne», durée moyenne. Et chacun de ces bars représente des événements par jour.

Vous pouvez voir mercredi, jeudi, vendredi, le temps d'exécution était, je vais arrondir au point deux. L'axe des y montre le point quatre secondes, donc le point deux. Très peu d'écran se bloque, les opérations vont très bien, dans le SLA. Malheureusement, le 27 février, le plan d'exécution a changé et cela a entraîné un changement immédiat du temps d'exécution. Tout à coup, le temps d'exécution augmente, quatre X, peut-être cinq X, et les choses tournent vraiment mal. Maintenant précis, dans son référentiel enregistre en fait tous les changements qui pourraient avoir un impact sur le comportement. Et vous pouvez voir ici que nous avons en fait capturé les changements de plan d'axe. Celui du milieu indique «Table Volume Changed». Ainsi, les tables augmentent et nous sommes sur le point de procéder, lorsque l'instruction SQL est analysée, l'optimiseur choisit un plan d'exécution ou un plan d'exécution différent.

Heureusement, cette semaine ici, lundi, elle a basculé, alors c'était au bon moment. Malheureusement, il bascule à nouveau, et vous savez quoi, les utilisateurs finaux commencent à anticiper les blocages d'écran et ils recommencent à soumettre cet écran et ils poussent le nombre d'exécutions vers le haut et vers le haut. Nous avons une énorme quantité de détails, mais pour résoudre ce problème et ensuite l'éviter à l'avenir, nous avons besoin d'une information supplémentaire. Et cela m'a été montré sous la comparaison de ces plans d'exécution. Le 5 mars, quand il a été rapide et efficace, il montre à gauche le plan d'exécution. Lorsqu'il a été lent et inefficace le 12 mars, vous pouvez voir qu'il effectue une jointure de filtre. La jointure de filtre force simplement la consommation de CPU beaucoup plus, faisant beaucoup plus de travail. Le résultat est identique, il fait juste beaucoup plus de travail. C'est comme si vous alliez chercher vos fournitures un ingrédient à la fois, plutôt que d'aller au garde-manger et d'obtenir tous les ingrédients en même temps. Et donc il y a ce genre de façon plus efficace de le faire. Maintenant, sachant généralement cela, le DBA a pu utiliser un plan de requête pour éviter ce plan d'exécution lent et verrouiller des performances rapides et élevées.

Maintenant, le prochain type d'histoire de guerre était «Les rapports sont en retard». Je pense que beaucoup de gens peuvent s'identifier à ce scénario. Vous pouvez avoir des rapports ad hoc, vous pouvez utiliser un outil comme NVISION, vous pouvez avoir un outil de rapport tiers. Et ce qui se passe, c'est que l'outil développe le SQL. Et souvent, le SQL n'est pas vraiment bien codé. Et cela pourrait également s'appliquer à une situation où, vous savez, vous avez une application tierce, à droite, où le SQL n'a pas été écrit en interne, et donc en tant que DBA, "Je ne contrôle pas le SQL, ce que est-ce que je vais y faire? »Well Precise fournit quelque chose que je ne connais pas d'autre outil de base de données et qui est une vue d'objet. Combiné avec recommandations et modélisation. Et donc ce que nous pouvons faire, c'est en fait tourner la visibilité sur sa tête. Plutôt que de simplement regarder l'activité, examinons bien quel objet est le plus lourd du système? Et dans la partie inférieure de l'écran, vous pouvez voir la ligne de commande SQL et vous pouvez voir la colonne «en MS-SQL». Et la table de ligne de commande est dix fois plus occupée que toute autre table du système. Je pense que ce que vous remarquerez également dans la moitié supérieure, l'allocation d'espace augmente et vous pouvez également consulter les spécifications du serveur sur la version du logiciel que nous utilisons. Precise vérifiera en fait les modifications suivies des paramètres principaux. Encore une fois, cause et effet.

Maintenant, en me concentrant sur la table de ligne de commande, ce que je peux faire avec mon référentiel historique détaillé, c'est que je peux réellement corréler les instructions SQL qui vont contre la table de ligne de commande. Et vous pouvez commencer à regarder la clause where dans ces instructions SQL. Et vous commencez à remarquer que la clause where est assez similaire entre les différentes instructions SQL. Et je vous suggère que dans votre système d'enregistrement, vous trouverez la même chose. Parce que les utilisateurs professionnels, les analystes commerciaux vont vouloir faire des choses comme l'activité commerciale globale au cours du dernier jour, de la dernière semaine, du dernier mois, du dernier trimestre, de la dernière année. Vous verrez des clauses where très similaires, triées par, groupées par, et cela signifie qu'il y aura certains index qui auront du sens pour ces instructions SQL.

Et si Precise a un moteur de recommandation, vous pouvez le voir dans le coin supérieur droit, et ce que nous pouvons faire, c'est obtenir des recommandations. Dites: «Hé, j'exécute toutes les instructions SQL, quels index les adresseraient?» Les index vous sont présentés et vous pouvez réellement voir le DBL. Maintenant, Precise est en lecture seule, il n'offre pas la possibilité de cliquer sur un bouton et de créer l'index, mais c'est assez facile à faire en dehors de Precise. Mais voici la chose cruciale, Precise vous permet d'évaluer et de modéliser les changements, il y a donc ce bouton Évaluer dans le coin inférieur gauche de l'écran. Et ce que cela fait, c'est qu'il montre les instructions SQL avant et après.

Regardons ces instructions SQL. Voyez-vous cette colonne ici qui dit «en MS-SQL» et qui dit une heure, quatre minutes? Ces instructions SQL supérieures exécutent ou consomment environ 64 minutes de ressources. Et son amélioration projetée est de 98%. Ces changements vont permettre de gagner des heures de traitement. La prochaine instruction SQL dure 27 minutes et économisera essentiellement une troisième. Cela représente environ dix minutes de traitement. En résumé, vous allez réellement économiser des heures et des heures de traitement grâce à ces modifications proposées. Et donc pouvoir le savoir à l'avance, pouvoir le modéliser. Vous pouvez également utiliser la fonction «et si» pour dire: «Eh bien, je ne veux pas faire cet index, ou que se passe-t-il si je change l'ordre de la colonne?» Et donc je peux utiliser cette capacité de modélisation pour savoir exactement ce qui va se passer.

L'autre chose cruciale est que lorsque j'effectue la modification, je peux réellement mesurer une instruction SQL individuelle. Vous avez vu l'historique des instructions SQL dans l'exemple précédent, et je peux réellement vérifier si j'ai réalisé les économies modélisées. Et pour que la rétroaction, terminer la boucle de rétroaction soit absolument cruciale.

D'accord, voici le dernier exemple que j'allais avoir pour vous. Il s'agit d'une boutique SAP et, vous savez, ils avaient opté pour une mise à niveau majeure, ils faisaient des trucs avec des transactions personnalisées et, fondamentalement, un utilisateur final n'était pas satisfait des performances. Et donc ce que nous avons fait, c'est que nous avons pu nous concentrer sur ce que cet utilisateur final a vécu. Et vous pouvez voir en haut de la liste «CHOUSE» et le temps de réponse est un peu plus de 61 secondes. Cette chose prend une minute à exécuter. Vous pouvez maintenant voir que nous avons un graphique à barres empilées orienté vers SAP. Dans le côté droit, il affiche l'heure du client, l'heure de la file d'attente. Le bleu est le temps d'application et dans un environnement SAP, c'est le code ABAP, puis la base de données. Et donc la base de données, vous savez, ça pourrait être Oracle, ça pourrait être SQL, ça pourrait être HANA. Nous pouvons essentiellement le montrer.

Maintenant, ce que nous faisons avec Precise, c'est que nous concentrons, pour cette transaction et cet utilisateur, quelles instructions SQL sortaient. Encore une fois, ce contexte pour relier les points. Maintenant, cette instruction SQL supérieure, vous pouvez voir qu'elle est encerclée, elle s'exécute en deux millisecondes. Vous ne pouvez vraiment pas blâmer la base de données si elle s'exécute si rapidement. Le nombre d'exécutions est très élevé. En fait, nous sommes en mesure de revenir au codeur ABAP et de dire: «Hé, que se passe-t-il?» Nous avons en fait constaté que le code de la base de données était placé au mauvais endroit, s'emboîtait au mauvais endroit dans la boucle, changer et ensuite nous pouvons mesurer après. Vous pouvez réellement voir quelle est la performance après. Non seulement au niveau de l'instruction SQL mais également au niveau du code personnalisé. Et ainsi, ils pouvaient vivre avec un temps d'exécution de quatre secondes et demie. Et donc ce ne sont que quelques exemples de la façon dont Precise pourrait être optimisé, vous pouvez en tirer parti. Tout comme un récapitulatif rapide, Precise affiche les performances par emplacement, par l'ID de l'utilisateur final, il fournit le contexte à travers la pile d'applications. Vous pouvez explorer la cause première. Et je pense que l'un des grands différenciateurs est de pouvoir connaître non seulement l'instruction SQL, mais pourquoi l'instruction SQL s'exécute lentement, et d'être en mesure d'identifier le conflit et, fondamentalement, d'offrir plus d'options pour résoudre les problèmes. C'est ce que Precise a à offrir et vous pouvez nous consommer, vous savez, de manière légère ou si vous avez des problèmes très profonds et très difficiles, nous adorons les affronter également.

Eric Kavanagh: D' accord, je dois dire que c'était beaucoup de détails fantastiques, Bill. Merci d'avoir montré toutes ces captures d'écran. Et de mon point de vue, vous avez vraiment rempli ce que j'expliquais en haut de l'heure, à savoir que, premièrement, vous devez avoir le bon outil. Vous devez avoir un outil qui vous permet la quantité de contexte nécessaire pour identifier tous les éléments de l'équation, comme quelqu'un l'a dit une fois dans un film, c'était assez drôle. Mais laissez-moi aller de l'avant et céder la parole à Dez parce que je parie qu'il a des questions pour vous et je veux pousser une de ces diapositives juste pour des bonbons visuels, si vous voulez. Je suis en fait, attendez, permettez-moi de reprendre cela. Mais Dez, je suis sûr que vous avez des questions, retirez-les.

Dez Blanchfield: Oui, je le sais, wow. Cet outil a parcouru un long chemin depuis que je le savais à l'origine, et je ne savais pas que vous étiez devenu si profondément enfoncé dans la pile maintenant. C'est tout simplement ahurissant. Très rapidement, deux ou trois choses. Le modèle de déploiement, pouvez-vous vraiment très rapidement, en une minute ou deux, décrire simplement le modèle de déploiement traditionnel ou typique. Vous avez mentionné qu'il était disponible en tant que machine virtuelle. Il peut être exécuté dans le cloud. Et je suppose que l'une des questions qui se posera probablement et je pense que quelques questions ont été posées dans la section Q&R. Juste pour les récapituler en résumé, donc le modèle de déploiement normal et le type d'axe requis, est-il traditionnellement déployé sur site ou hébergé ou dans le cloud? Quels sont les types de modèles de déploiement que vous voyez normalement? Et quel type d'axe est nécessaire pour que cela fonctionne? Faut-il changer les choses au niveau de la sécurité autour de l'accès au réseau, etc.? Ou cela peut-il simplement se comporter comme un utilisateur final?

Bill Ellis: Oui, donc actuellement la majorité des installations sont sur site. De plus en plus de personnes placent des composants de la pile d'applications dans le cloud et nous pouvons donc gérer cela également. Le déploiement sur lequel nous avons besoin d'un serveur pour fonctionner, il va répondre à certaines spécifications. Nous devons avoir une base de données pour stocker le référentiel historique, donc répondre à ces conditions préalables est en quelque sorte la première étape. La prochaine chose est que nous devons absolument avoir une certaine connaissance de l'application elle-même et l'installation est pilotée par un assistant et remplit essentiellement les blancs. En raison de la profondeur des informations que nous obtenons, vous savez, du niveau du processus Web au code qui s'exécute, nous avons besoin de certains privilèges. Nous avons un modèle de données sécurisé, ou un modèle de sécurité, je dois dire, parce que les agents s'exécutent sous des informations d'identification totalement distinctes des personnes qui utilisent les métadonnées sur les transactions, etc.? Precise communique via TCP sur IP et nous avons donc besoin que certains ports soient ouverts. Comme exemple rapide, comme notre port par défaut est 2702. Ce type de détails est quelque chose si les gens sont intéressés, nous pourrions y entrer plus en détail. Mais en général, nous sommes très rapidement rentables. Si quelqu'un est confronté à un gros problème, nous pouvons souvent installer la chose et faire la lumière sur une situation en quelques heures.

Dez Blanchfield: Oui, j'ai aussi définitivement ce sens. Dans le modèle de déploiement, vous avez parlé d'une très grande échelle et jusqu'à 500 instances et comment cela pourrait être fédéré. Au niveau d'entrée, à quoi cela ressemble-t-il si quelqu'un veut - parce que je sais que IDERA est très important pour donner accès à des essais gratuits, à des démos gratuites, et je me souviens avoir vu sur le site Web presque tout ce qui peut être joué avec. Pour les gens ici, et je pense que je l'ai manqué plus tôt, mais je pense qu'il y a eu une question qui a surgi à quoi ressemble un site typique et comment les gens y ont-ils accès et commencent-ils à jouer avec et obtenir ce type d'expérience où ils peuvent voir s'ils ont un moyen de résoudre certains problèmes de performances? Peuvent-ils télécharger un ODS et le faire tourner sur leur hyperviseur, Hyper-V ou ordinateur portable ou ont-ils besoin d'une machine dédiée pour l'exécuter? Vous avez décrit l'architecture avant mais très brièvement, dans une minute ou deux, à quoi cela ressemble-t-il pour le déploiement d'entrée de gamme juste pour faire une preuve de concept par exemple?

Bill Ellis: Oui, donc notre modèle est un peu différent des outils IDERA. Nous nous situons en quelque sorte davantage dans le scénario Embarcadero où vous souhaitez contacter l'un de nos représentants commerciaux. Nous voudrions simplement discuter avec vous quels sont les défis, puis nous pourrions tout à fait, vous savez, attribuer l'une des SE et travailler essentiellement sur l'installation avec quelqu'un. En règle générale, vous n'exécutez pas Precise sur votre ordinateur portable. Vous souhaitez disposer d'une machine virtuelle ou d'un serveur dans le centre de données où réside l'application, pour effectuer les collectes. Mais nous vous aiderons à chaque étape. Si quelqu'un est intéressé à poursuivre cela, vous devez certainement contacter IDERA.

Dez Blanchfield: L'une des autres choses qui m'ont frappé est que, je veux dire, une grande partie de ce que nous avons couvert aujourd'hui concerne la réaction aux problèmes de performances. Mais il m'a semblé que, et dans les environnements en direct lorsque les gens les utilisent, donc, comme votre premier diaporama, quelqu'un décroche le téléphone et dit: «L'application fonctionne lentement, aidez-moi.» Mais cela m'a frappé que lors de la pré-publication des applications ou mises à niveau ou de nouveaux correctifs et correctifs, vous pouvez passer par un tas de planification de la capacité et des tests de stress et avoir une vision précise de l'environnement entier et trouver réellement des problèmes avant même de mettre les utilisateurs finaux sur l'environnement. Est-ce un cas d'utilisation que vous avez déjà vu ou les gens le font-ils également, ou n'est-ce pas un cas d'utilisation typique?

Bill Ellis: Absolument, nous voudrions utiliser Precise tout au long du cycle de vie du développement d'applications ou du cycle de vie de la mise à niveau. Precise offre une vue d'évolutivité, il affichera le nombre d'exécutions superposées au temps de réponse. Évidemment, si le nombre d'exécutions et le temps de réponse croissent ensemble, vous n'êtes pas à l'échelle et vous devez faire quelque chose. Ce genre de chose a énormément aidé. Je pense que c'est un peu moins vrai maintenant, mais quand les gens ont commencé à mettre des applications de production sur VMware, ils étaient un peu hésitants et c'était comme, vous savez, à la première chose qu'ils diraient: «Oh, nous devons déplacer cela vers physique. »Et ce que nous pouvons réellement faire, c'est montrer quelle est la consommation de ressources afin que vous puissiez rendre l'application plus efficace. À chaque étape du cycle de vie de l'application, vous souhaitez absolument utiliser Precise. Mais je dois dire que la production est vraiment là où les performances comptent le plus et Precise est orienté vers la surveillance de la production 24h / 24 et 7j / 7 et donc vous ne voulez vraiment pas exécuter vos applications de production sans visibilité.

Dez Blanchfield: Absolument. Une autre petite question juste sur cette spécification - test de profondeur, immigration, UAT et ainsi de suite - Je veux dire, c'est génial d'avoir cet outil et j'imagine que les développeurs d'applications aimeraient absolument y avoir accès tout au long du cycle de vie du développement . Avec les architectures les plus complexes que vous voyez maintenant, nous sommes donc passés d'un service dédié aux virtualisations et à la virtualisation, nous passons maintenant à une sorte, vous savez, d'adoption de l'externalisation vers l'hébergement cloud et nous assistons également à une transition à la conteneurisation. Avez-vous vu beaucoup de gens déployer cela et modéliser le type de régions ou de zones, donc quelqu'un pourrait avoir - et en Australie, nous avons un très gros problème de confidentialité et je sais qu'en Europe, c'est la même chose et je pense que cela devient de plus en plus un cas aux États-Unis, où les données capables de m'identifier personnellement doivent souvent se trouver dans un environnement plus sécurisé de la couche d'application réelle à la couche Web. Et nous avons donc ces déploiements maintenant où les gens peuvent conserver leur base de données et leurs applications en interne, mais ils peuvent placer leur couche Web et leur fin de livraison et leur application, etc. dans un fournisseur de cloud tel qu'Azure ou, ou Amazon Web Services et logiciels . Comment cela fonctionne-t-il avec votre déploiement normal? Est-ce le cas que vous venez d'avoir un autre ensemble de collectionneurs dans la région et qu'ils en regroupent encore plus? À quoi cela ressemble-t-il dans le monde précis dans le type d'approche bimodale d'aujourd'hui qui consiste à exécuter l'informatique d'anciennes choses en un seul endroit et vos marchandises sont parfois dans le cloud?

Bill Ellis: Oui, nous soutenons donc un environnement mixte. Une chose à considérer est qu'il existe différents contrats avec les fournisseurs de cloud. Certains d'entre eux n'autoriseront aucun type d'agent ni aucune sorte de surveillance extérieure dans le cloud. Pour installer et surveiller avec Precise, vous devez disposer d'un type de contrat qui autorise ce type d'accès. Il y a certainement certaines restrictions que nous devons parfois respecter et ce sont donc des types de critères importants que vous prenez en compte lorsque vous signez, je suppose, ces contrats pour la première fois et / ou si vous devez déployer Precise.

Dez Blanchfield: Oui, j'ai vu un certain nombre de cas où même avec un environnement de base de données traditionnel si vous procurez cela dans le cadre du service, en particulier avec des goûts d'Azure, comme vous procurez des goûts de HDInsight ou SQL en tant que service, en tant que plate-forme, vos outils habituels ne peuvent plonger si profondément parce qu'ils ne sont pas vraiment désireux de regarder ce qui est sous le capot. Et donc vous vous retrouvez avec un certain niveau ou une certaine profondeur que vous pouvez surveiller et tout d'un coup, vous ne pouvez tout simplement pas voir derrière le rideau magique. Le libre-service est-il une chose? Est-ce traditionnellement quelque chose qui se déroule à l'intérieur d'un centre d'exploitation de réseau où l'équipe technique, les gens sous le CIO n'auraient accès qu'à, ou est-ce aussi quelque chose que vous pouvez fournir un niveau d'accès aux utilisateurs finaux? Peut-être pas nécessairement la réception et les gens traditionnels des ressources humaines et des finances, mais les utilisateurs plus avertis qui le font, vous savez, comme par exemple, les scientifiques des données, les actuaires, les statisticiens, les gens qui font des charges de travail vraiment lourdes. Est-il possible qu'ils aient accès à une sorte d'accès en libre-service pour voir ce qui se passe lorsqu'ils exécutent ces requêtes lourdes et où la douleur survient afin qu'ils puissent en quelque sorte régler le fonctionnement de leur charge de travail?

Bill Ellis: Il y a assez bonne sécurité dans Precise afin que vous puissiez configurer des utilisateurs qui ont différents niveaux d'accès. Aux niveaux très basiques, seuls les tableaux de bord assurent la surveillance. Et puis, dans le, vous savez, si quelqu'un voulait entrer dans l'interface graphique experte, vous pouvez en quelque sorte restreindre ce qu'il peut voir et ce qu'il peut faire. Et en revenant à votre question précédente, vous savez, dans le domaine des soins de santé, vous avez toutes les lois HIPAA et il y a donc certainement des considérations et il y a en fait des options de déploiement afin que nous puissions travailler avec cela dans les deux environnements. Une chose à considérer avec les données que vous avez vues dans cette présentation est que ce sont toutes des métadonnées sur les performances, pas le contenu des tableaux, vous savez, et donc c'est vraiment, ça ne va pas entrer dans ce genre de problèmes de confidentialité.

Dez Blanchfield: Oui, j'ai aimé ça. J'ai eu un moment eureka à propos de votre quatrième ou cinquième diapositive des captures d'écran et j'ai réalisé que vous tirez simplement les performances, enfin pas seulement, mais vous tirez les données de performances, vous tirez des trucs, comme vous l'avez dit, des métadonnées de les différents niveaux de la pile, vous ne regardez pas réellement le contenu. Et je pense que c'est une chose intéressante car c'est l'un de ces outils où vous pouvez le déployer à court terme et regarder ce qui se passe dans l'environnement, mais vous n'avez pas besoin d'avoir accès aux données elles-mêmes. Vous pouvez même voir comment les équipages sont dirigés. La dernière chose, je suppose, très rapidement, puis je remettrai à Eric, donc si vous avez une question, puis demandez à Rebecca de conclure, vous avez mentionné auparavant que les frais généraux sont minimes, c'est un cas que c'est même un surcoût notable du côté de la surveillance des choses et juste regarder l'arrière-plan ou est-ce une quantité si négligeable de frais généraux que cela ne vaut tout simplement pas la peine d'être pris en compte?

Bill Ellis: Oui, donc je pense qu'au niveau de la base de données, vous savez, chaque technologie est un peu différente. Au niveau de la base de données, Precise est assez bien connu pour battre le plus bas temps système. Au niveau intermédiaire, il y a, vous savez, une sorte d'équilibre, vous savez, ce n'est pas seulement précis, cela s'applique à tout le monde, en termes de visibilité et de frais généraux. Et donc l'une des choses est que nous offrons un certain nombre d'outils sophistiqués pour contrôler ce qu'est la surcharge. Nous sommes conçus pour la production et, vous savez, il est certainement utile d'éliminer autant de problèmes dans l'œuf sur le développement et l'assurance qualité, mais, vous savez, rien de tel que de savoir ce qui se passe en production.

Dez Blanchfield: Eric, en face de vous, avez-vous des questions finales?

Eric Kavanagh: Oui, je dirai simplement que je pense que vous avez fait un excellent travail en soulignant que le contexte est vraiment la clé et c'est presque comme si nous nous dirigeons vers cette ère de l'internet des objets, vous voulez que tout soit instrumenté. Et je pense que la norme maintenant dans la fabrication est de le faire, ce qui est une bonne nouvelle, non? Parce que vous voulez pouvoir extraire des informations de tous ces différents environnements et les assembler toutes ensemble. Et je suppose que je vais vous céder la parole pour quelques commentaires de suivi, cependant. C'est sur cela que vous vous concentrez, c'est de fournir une interface visuelle à travers laquelle un analyste, essentiellement un analyste informatique, peut surveiller et analyser ce qui se passe dans cet environnement complexe, puis déterminer ce qu'il faut changer. Parce que ce n'est pas seulement un outil. Vous devez avoir l'outil mais vous avez besoin de cette personne qui va fouiller dans ce détail et trouver les réponses, non?

Bill Ellis: Ouais, je vois en quelque sorte que cela se résume au sommet et que je priorise où se situe le plus de rachat, vous savez? S'il s'avère que c'est une situation différente car tous les problèmes ne se trouvent pas dans la base de données. Si la base de données est, vous savez, les choses s'exécutent dans un dixième de seconde mais au niveau de l'application, les choses prennent trois secondes, c'est là que le plus de rachat est. Et si gentil de pouvoir isoler le niveau de problème et ensuite ce qui se passe au sein du niveau pour vraiment se concentrer sur où se situe le rachat. Cela accélère vraiment la résolution et l'optimisation de l'application et c'est tellement plus rapide et tellement meilleur et tellement plus amusant que les gens réunis dans une salle de conférence en disant: "Eh bien, ce n'est pas moi, ce doit être quelqu'un d'autre."

Eric Kavanagh: C'est vrai. L'autre jour, j'ai vu un grand mème qui disait quelque chose comme: «Soyez informé, pas seulement opiniâtre.» Vous entrez dans une réunion, vous avez les informations, vous pouvez pointer les données. C'est la clé et nous y arrivons, Dieu merci. D'accord, nous allons continuer et terminer, mais nous archivons toutes ces webémissions pour une visualisation ultérieure. N'hésitez pas à le vérifier à tout moment. Nous listons maintenant toutes nos webémissions, la série Hot Tech et la série Briefing Room sur Techopedia.com, alors sautez en ligne et consultez ces gens. Sur ce, nous allons vous dire adieu. Merci pour votre temps aujourd'hui, Bill. Merci à vous et à tout votre travail acharné, Dez. Et nous vous parlerons la prochaine fois, les amis. Prends soin de toi. Bye Bye.

L'application s'exécute lentement? le temps d'être précis