Dom Bazy danych Aplikacja działa wolno? czas na precyzję

Aplikacja działa wolno? czas na precyzję

Anonim

Przez Techopedia Staff, 31 sierpnia 2016 r

Na wynos: Host Rebecca Jozwiak omawia rozwiązywanie problemów z bazą danych i problemy z wydajnością z analitykami Ericem Kavanaghem i Dezem Blanchfieldem, a także Billem Ellisem z IDERA.

Obecnie nie jesteś zalogowany. Zaloguj się lub zarejestruj, aby zobaczyć wideo.

Rebecca Jóźwiak: Panie i panowie, witam i witamy w Hot Technologies 2016. Dzisiejszy temat: „Aplikacja działa wolno? Czas na precyzję”. I czy wszyscy nie znamy zbyt dobrze problemów, które mogą się zdarzyć, gdy rzeczy działają powoli? To jest Rebecca Jóźwiak, uzupełniam Erica, który dzisiaj w pewnym sensie odgrywa tutaj nową rolę. Tak, ten rok jest gorący i wiesz, jeśli chodzi o technologię, tak jak powiedziałem, jedyne, czego tak naprawdę nie chcesz, to powolne działanie dowolnej części systemu. I żeby użyć przykładu konsumenta, mam na myśli, że jeśli masz restaurację, to nie ma znaczenia, jak wspaniałe jest jedzenie, jeśli usługa jest powolna, prawdopodobnie nie wrócisz. Teraz w restauracji łatwo jest dowiedzieć się, dlaczego coś działa powoli. Może w kuchni jest mało personelu lub wystąpiła awaria niektórych urządzeń, a może kelnerzy są trochę leniwi i łatwo jest je zidentyfikować i naprawić.

Ale kiedy myślisz o centrum danych, jest to zupełnie inna historia. Może to być problem z siecią, złe zapytanie, które powoduje zakłócenie działania, wydajność aplikacji lub wadliwy kabel, może nawet powodować pewne problemy. A rozwiązywanie problemów przy tego rodzaju złożoności może być, w najlepszym razie, trudne. O tym właśnie dzisiaj będziemy rozmawiać. I, jak powiedziałem, mamy dziś analityka Erica Kavanagha. Mamy Deza Blanchfielda, naszego naukowca danych, i mamy Billa Ellisa z IDERA, który opowie o rozwiązaniu swojej firmy, które pomaga w zarządzaniu wydajnością aplikacji. I po tym przekażę piłkę Ericowi. Eric, podłoga jest twoja.

Eric Kavanagh: W porządku, brzmi dobrze, ludzie. I to była świetna analogia, ponieważ mówiłeś o trudnościach lub łatwości, z jaką można rozwiązać problemy, i od razu do tego doszedłeś. Problemy z wydajnością zawsze wynikają z jakiegoś problemu występującego w sieci. To znaczy, może to być tak proste jak na przykład stary sprzęt, ale sedno sprawy to taka sytuacja, która wymaga rozwiązywania problemów. O tym dzisiaj powiem. Idźmy dalej i wskoczmy na slajdy tutaj.

Nadchodzą kłopoty. Rozwiązywanie problemów - fajnie jest dla ludzi, którzy to lubią. Jeśli znajdziesz kogoś, kto lubi rozwiązywać problemy, zatrzymaj się na tej osobie, zdobądź dla niej narzędzia do wykonania pracy, ponieważ naprawdę dobre rzeczy, jeśli możesz znaleźć kogoś, kto może dojść do sedna czegoś i załatwić sprawę. Ale sedno jest takie, że rozwiązywanie problemów jest problematyczne i zawsze tak było i zawsze będzie, a jeśli zaczniesz mówić o rozwiązywaniu problemów, tak naprawdę masz na myśli analizę pierwotnej przyczyny. Co powoduje problem?

Cóż, jeśli tylko usiądziesz i zastanowisz się przez chwilę nawet o dniach na komputerze mainframe, mogą wystąpić różne problemy. A wtedy musieliście mieć ludzi, którzy naprawdę znali się na swoich rzeczach, ponieważ nie było nawet dobrych narzędzi do rozwiązywania problemów, więc naprawdę musieliście znać swój wiersz poleceń, a my porozmawiamy o tym za chwilę. I faktycznie zapomniałem umieścić jedną z moich ulubionych slajdów, szukam jej podczas dzisiejszego występu, być może podczas prezentacji Deza. Ale chciałem pokazać, dla każdego, kto go nie widział, jeden z najśmieszniejszych brytyjskich programów telewizyjnych, nazywa się „Tłum IT”. Jeśli chodzi o rozwiązywanie problemów, Irlandczyk, który jest jedną z dwóch informatyków cała firma zawsze mówi to samo za każdym razem, gdy zaczyna się rozmowa: „Czy próbowałeś ją wyłączyć i włączyć ponownie?”. Spróbuj więc ją wyłączyć i włączyć ponownie. Byłbyś zaskoczony, jak często ta prosta rzecz może rozwiązać niektóre problemy.

Ci z was, którzy rozwiązywali problemy w domu, może ze swoimi rodzicami lub przyjaciółmi, prawdopodobnie nie ze swoimi dziećmi, ponieważ zwykle wiedzą, co robić, wyłączają i włączają ponownie. Ale niezależnie od tego, rozwiązywanie problemów nie jest łatwe, nigdy nie będzie łatwe, ale dzisiaj porozmawiamy o niektórych rzeczach, które możesz zrobić, aby to ułatwić. Tak więc wiersz polecenia - tak, naprawdę jestem wystarczająco duży, aby pamiętać wczesne dni obliczeń, kiedy wszystko, co miałeś, to wiersz polecenia, aby wykonać DIR, Enter. To właśnie zobaczyłby katalog plików i byłby pewien, że faktycznie wykonał jakieś polecenie, prawda? Dez, oczywiście, nasz naukowiec danych, wie, jak korzystać z wiersza polecenia. A jeśli możesz użyć wiersza polecenia, to wspaniałe rzeczy, ponieważ większość z nas zwykłych śmiertelników używa jakiegoś GUI, graficznego interfejsu użytkownika, ale zawsze coś jest, zawsze istnieje pewne rozłączenie między GUI a wierszem poleceń poniżej. I żeby dać ci przypadkowy przykład, jeśli chcesz wiedzieć, ile kodu niektóre z podstawowych programów pieczą obecnie w dokumentach, przejdź do najnowszej wersji Microsoft Word, wpisz „hello world”, a następnie „zapisz jako HTML. ”A następnie otwórz ten wynikowy dokument w edytorze tekstów, a prawdopodobnie zobaczysz strony i strony tagów. Nazywa się to rozdęciem kodu, a rozdęcie kodu nie jest tak naprawdę dobre do rozwiązywania problemów, po prostu stępienie.

Oczywiście przyszedł klient-serwer i to było świetne. I w pewnym sensie cofamy się w tym kierunku, ale pomyślcie tylko o złożoności, która przyszła z tą sytuacją, gdzie jest teraz problem, czy to na kliencie, czy na serwerze, czy to jest sieć? Gdzie to jest? Strony, które myślą tylko o wirusach i kiedy wirus może dostać się do jednego w sieci, co może się zdarzyć? Może iść wszędzie. Naruszenie danych jest teraz szalone. Powodują problemy z wydajnością. Mieliśmy rosyjskich hakerów, których możemy rozpoznać po adresie IP. Jesteśmy prawie pewni, że są Rosjanami lub są bardzo blisko, albo są bardzo sprytnymi Ukraińcami, Polakami, a nawet Amerykanami, używającymi proxy. Ale przez lata hakerzy pojawili się na naszej małej, starej stronie, Inside Analysis, i powodują wiele problemów. Rzeczy po prostu przestają działać, nie można zrobić rzeczy. Rzeczy, które kiedyś pracowały, nie działają. Skąd wiesz? Skąd wiesz co to jest? Podobnie jak inny przykład tutaj, to bardzo złożone środowisko, bardzo trudno jest dostać się do chwastów i naprawdę zrozumieć, jak rzeczy się dzieją i działają dla nas, szczególnie jeśli otrzymujesz całą masę wtyczek. Rzeczy mogą dość szybko oszaleć. W pewnym sensie wyprzedzam siebie.

Wrzuciłem tutaj, zawsze uważaj na ulepszenie. Uaktualnienia zawsze straszą mnie światłem dziennym. Z pewnością systemy operacyjne. Pamiętam dni, w których Microsoft sugerowałby, że tak, możesz uaktualnić system operacyjny z tej wersji do tej wersji. Cóż, próbowałem kilka razy i to nigdy nie zadziałało. Pamiętaj tylko, że im większe i bardziej złożone jest środowisko, tym trudniejsza będzie sytuacja. A potem jest wirtualizacja. Pomyśl o tym, co VMware zrobiło IT. Zrewolucjonizował IT, ale także stworzył tę warstwę abstrakcji. Jeśli masz abstrakcyjną warstwę na tym podstawowym poziomie, to jest zupełnie nowa gra w piłkę, to jest zupełnie nowa kula wosku i naprawdę musisz ponownie ocenić to, co robisz, i wszystkie stare narzędzia musiały się zmienić. A teraz oczywiście jest to chmura, prawda? Dla klienta chmura jest świetna, ponieważ jest bardzo prosta, interfejs użytkownika jest dość prosty, ale oczywiście tak naprawdę nie masz dużej kontroli nad chmurą. Ale dla ludzi, którzy są za kulisami, jest mnóstwo rzeczy, które muszą znać i rozumieć w tych dniach. Środowisko stało się znacznie bardziej złożone. Z pewnością dzięki e-commerce, a myślisz o wszystkich pieniądzach, które w dzisiejszych czasach handlują rękami. Dlatego w najbliższym czasie nie znajdziesz mnie na rzecz społeczeństwa bezgotówkowego. Najważniejsze jest to, że sytuacja staje się coraz bardziej problematyczna z dnia na dzień.

A utrzymanie optymalnej wydajności zawsze będzie wymagało pewnego elementu rozwiązywania problemów. Nie dbam o to, co ktoś ci mówi, nie ma idealnego narzędzia, nie ma srebrnej kuli i nigdy nie będzie, ponieważ - w innej interesującej perspektywie - wciąż uczymy się mówić krzemem. Wciąż uczymy się rozumieć, w jaki sposób nawet sieć działa na poziomie szczegółowości. Jeśli spojrzysz na oprogramowanie do zarządzania systemami, w dzisiejszych czasach robi się całkiem nieźle. Ale nadal patrzysz na linie idące w górę i w dół i patrzysz na reprezentacje rzeczywistości, to zajmie osobę, która wie, co się dzieje, aby dopasować wskazówki, które możesz wpatrywać się w optymalne narzędzia, aby móc zrozumieć, co działa, a co nie, i to jest dużo prób i błędów, po prostu być tępym. Po tym przekażę to Dezowi Blanchfieldowi, a potem usłyszymy od Billa Ellisa z IDERA, który zawstydzi nas swoją wiedzą. Dez, zabierz to.

Dez Blanchfield: Hej, dzięki Eric. Dziękuję Ci. Ładnie poprowadziłem do mojego małego segue. Mój tytuł, „Performance Art”, wydaje mi się niezwykle trafny w kontekście tego, o czym dzisiaj rozmawiamy, ponieważ pod wieloma względami, gdy myślimy o performance, myślimy o tańcu, muzyce i innych kreatywnych rzeczach. I szczerze mówiąc, częściej niż nie, jeśli rozwiązujemy problemy oraz w środowiskach IT i systemach biznesowych na bardzo dużą skalę, rzeczywiście istnieje element sztuki i często czarna sztuka, ponieważ z mojego doświadczenia przez ponad 25 lat jest tak, że nowoczesne stosy aplikacji, bardzo szybko zwiększają złożoność w tempie, którego nigdy wcześniej nie widzieliśmy. I szczerze staramy się nadążyć, a istnieją organizacje takie jak na przykład Uber i cokolwiek, a także zespół programistów Pokémon Go, mam na myśli, że doświadczają wzrostu i złożoności oraz wzrostu złożoności w tempie, które są po prostu astronomiczne. Nie napisano nawet o tym książek, ponieważ nie pomyśleliśmy o takim poziomie wzrostu. Moim zdaniem podstawowa definicja stosu aplikacji zmieniła się wykładniczo i wyjaśnię, dlaczego tak myślę, a następnie przedstawię wyzwanie, które wydaje się, że moi dobrzy przyjaciele z IDERA mają rozwiązanie do rozwiązania .

Mówiąc krótko, wszyscy je znamy, ale podsumowując je, wiesz, na początku mieliśmy to, co nazywam, architekturę aplikacji, wersja 1.0. Był to komputer serwerowy, w tym przypadku komputer mainframe z dołączoną wiązką terminali, stosunkowo łatwo było zdiagnozować problemy, gdybyś nie widział rzeczy na terminalu - możesz wyśledzić kabel między terminalem, a następnie komputerem serwera i był to albo zerowy kabel, albo złącze, albo jakiś problem, jeśli nie był związany z terminalem, a widzisz rzeczy na ekranie, dość łatwo było zorientować się, że przyczyną problemów były sama maszyna. Możesz powoli zdiagnozować, gdzie na stosie znajdował się sprzęt, aż do warstwy oprogramowania i interfejsu użytkownika. W wersji, którą nazywam wersją 1.1, zrobiliśmy ją trochę bardziej złożoną. Umieszczamy urządzenia na środku, abyśmy mogli umieścić więcej terminali na miejscu. I były jakimś urządzeniem komunikacyjnym i często były multiplekserami lub multiplekserami i albo biegłyby przez dedykowaną linię lub linię telefoniczną, więc miałeś komputer mainframe w odległej lokalizacji - może być międzystanowy lub międzynarodowy - i jakieś urządzenie podłączone za pomocą łącza SMA lub innego rodzaju połączenia WAN, a terminale te nadal działają w ten sam sposób. Ale miałeś nieco większą złożoność, ponieważ musiałeś dowiedzieć się, czy problem był między terminalami a urządzeniem komunikacyjnym, czy urządzeniem komunikacyjnym i komputerem mainframe. Ale stos pozostał stosunkowo podobny w komputerze mainframe.

Wersja 1.2, trochę bardziej złożona, ponieważ teraz dodaliśmy więcej urządzeń, dodaliśmy drukarki i inne rzeczy, i zebraliśmy je w klastry, i myślę o front-endowym procesorze, który poradziłby sobie lokalnie ze wszystkimi problemami z urządzeniami, drukarkami oraz terminale i tak dalej z komputerem mainframe tego odległego końca. Trochę bardziej złożona. Ale znowu spójnym motywem mainframe były aplikacje działające lokalnie, więc rozwiązywanie problemów pozostało dość podobne w stosie aplikacji. A potem mieliśmy osoby z umiejętnościami, które rozwiązywały problemy z terminalami, drukarkami i kontrolerami klastra. Ale potem skomplikowaliśmy sprawę i zbudowaliśmy sieci i nagle ta sama architektura wprowadza warstwę sieciową. Nagle mieliśmy przełącznik sieci, a stacje robocze były znacznie bardziej złożone. W tej wersji architektury często mieliśmy graficzne aplikacje interfejsu użytkownika na stacji roboczej. Nie tylko mieliśmy serwer obsługujący stos aplikacji, ale mieliśmy też inny stos aplikacji działających lokalnie i oczywiście ten sam podstawowy model urządzeń łączących się z serwerem. Następnie dokonaliśmy kwantowego skoku do nowszego modelu, który nazywam 2.1, w którym wzięliśmy stos aplikacji i sprawiliśmy, że jest on znacznie bardziej złożony, trudniejszy do zdiagnozowania. Wprowadziliśmy o wiele więcej urządzeń w interfejsie, w przeglądarkach internetowych oraz komputerach i urządzeniach mobilnych itd. I tutaj stos aplikacji zaczął się nieco głębiej integrować jako system operacyjny i hypervisor.

Ten obraz tutaj po prawej stronie mamy cały stos, w tym infrastrukturę sieciową, serwery pamięci masowej, maszyny wirtualne, system operacyjny, a następnie tradycyjne trzy poziomy aplikacji metalowych baz danych itp., Z przodu po prawej stronie. Diagnozowanie problemów z aplikacjami i wydajnością w tym modelu stało się o wiele trudniejsze. Jest o wiele więcej ruchomych części i próba drążenia w dół tego stosu stała się koszmarem i musiałeś zaangażować dodatkowe umiejętności i organizację, aby sobie z tym poradzić. Nie był to już tylko Twój zespół aplikacyjny, nagle pojawili się ludzie z infrastrukturą, specjaliści od baz danych, po prostu pracujący nad bazami danych i niczym innym - w przeciwieństwie do programisty systemów, który znał się na bazach danych. Teraz mamy scenariusz, w którym działy IT muszą zmagać się ze znacznie szerszą złożonością „jako usługi”, a świat eksplodował, a nasze wyzwania związane z rozwiązywaniem problemów zmieniły się z koszmaru w coś, co jest prawie nie do zniesienia w pewnych przypadkach.

I stało się to w skali możliwej do rozwiązania, staramy się świadczyć usługi na. Wersja 3 tego, co uważam za stos aplikacji - wprowadził to jako model usługi, w którym tradycyjny model po lewej stronie, stos IT przedsiębiorstwa, w którym wszystko musiało być zarządzane po naszej stronie jako konsument i dostawca usługi - od bazy danych bezpieczeństwa aplikacji, systemów operacyjnych, przechowywania usług wirtualizacji, sieciowych centrów danych - musieliśmy to wszystko zarządzać, ale mieliśmy do nich dostęp, dzięki czemu mogliśmy skalować nasze możliwości i umiejętności techniczne oraz moglibyśmy wiercić szczegóły przez ten stos i moglibyśmy znaleźć rzeczy. Ale wraz z pojawieniem się usług infrastruktury i usług platformy oraz modelu usług oprogramowania, nagle nasz dostęp do infrastruktury zaplecza, dostęp do platform i narzędzia, z którego dostarczaliśmy usługi, zostały nam trochę odebrane. Gdy zaczęliśmy korzystać z usług infrastruktury, tak naprawdę mieliśmy do dyspozycji tylko cztery najlepsze elementy z systemu operacyjnego, bazy danych, stosu aplikacji środowiska bezpieczeństwa i wyżej. Wszystko pod tym była czarna magia. I staje się jeszcze bardziej interesujące, gdy przechodzisz do usługi platformy, ponieważ również zarządzasz tylko stosem aplikacji.

Kiedy przechodzisz do oprogramowania jako usługi, a tradycyjnym modelem jest poczta internetowa lub bankowość internetowa, wszystko, co masz, to dostęp do przeglądarki internetowej, więc próba zdiagnozowania tego, co kryje się za tym, jest zdecydowanie nie do przyjęcia. I podzieliłem to na strefy czasowe, na przedziały czasu lub obszary czasu, jeśli chcesz lub pokolenia, w tym od lewej do prawej, przeszliśmy z rodzaju sprzed 2000 roku i tradycyjnego stosu, do którego mieliśmy dostęp do całego środowiska i moglibyśmy się przez to pogłębić. Ale z czasem stało się to coraz bardziej złożone. Od wczesnych lat 2000 do połowy 2000 roku, do końca 2000 roku do dnia dzisiejszego, kiedy przeszliśmy od usług infrastrukturalnych, usług platformowych, usług programowych, do teraz zasadniczo odnosimy się do usług biznesowych. A złożoność dramatycznie wzrosła. Jest o wiele więcej ruchomych części. Ale dostępność umiejętności staje się coraz trudniejsza i coraz trudniejsza do wykorzystania. Znajdowanie osób z odpowiednimi zestawami umiejętności z właściwym dostępem do odpowiednich narzędzi, aby dostać się do tego stosu i zanurkować i dowiedzieć się, gdzie jest coś wolnego. Czy to mój laptop czy komputer stacjonarny, czy to mój telefon lub tablet, czy to moja łączność przez 3 lub 4G, czy też mój dedykowany link do ADSL lub ISDN, co to może być? A nawet dial-up, choć w dzisiejszych czasach jest to coraz rzadsze. Czy to koniec serwera WWW, czy jest to coś wewnątrz serwera WWW? Czy to serwer aplikacji? Czy jest to coś wokół pamięci i dysku z wydajnością procesora i sieci na serwerze aplikacji? Czy baza danych tam działa?

I możesz sobie wyobrazić, że bardzo szybko rysujesz ten obraz złożoności, która zaczyna się powiększać jak obraz wielkiego wybuchu, tej ciągle rosnącej bańki, którą próbujemy ominąć i mieć umiejętności do nurkowania i wiedza i środki niezbędne do rozbioru i rozdzielenia. Jesteśmy teraz bardzo w epoce, w której ludzie nie są w stanie poradzić sobie ze skalą fizyczną, nawet jeśli masz możliwość rozłożenia środowiska bazy danych na części, rozdzielenia bazy danych i zanurzenia się w szczegóły w tej bazie danych. Liczba baz danych, którymi musisz teraz zarządzać, szybko rośnie. Wszystko jest teraz zasilane przez bazę danych. Obecnie bardzo niewiele aplikacji nie jest obsługiwanych przez bazę danych. Typy baz danych również szybko rosną. To już nie są tylko tradycyjne bazy danych SQL, czasem SQL, czasem non-SQL, czasem baza danych grafów, czasem baza danych dokumentów. I są wszystkie te różne rodzaje funkcji, które mają te różne typy baz danych, w wyniku czego każda z nich ma inne wyzwania wydajnościowe i różne kryteria wydajności. Bazy danych rejestrowania i bazy danych dokumentów działają bardzo, bardzo różnie i pełnią inną funkcję niż tradycyjna baza danych SQL zgodna z ACID, zgodna z ANSI 92. I rodzaje rzeczy, które tam przechowywaliśmy.

W moim umyśle jesteśmy w punkcie, w którym - i myślę, że Eric nawiązał do tego - że ludzie starają się nadążyć za złożonością tego, co budujemy, i szybkością, z jaką budujemy, i my „Jesteśmy teraz w punkcie, w którym jedynym sposobem zarządzania tą infrastrukturą oraz jedynym sposobem monitorowania i zagłębiania się w problemy, przed którymi stoimy, są narzędzia i odpowiednie rodzaje narzędzi. A potem niezmiennie odpowiednia generacja narzędzi. Narzędzia, które faktycznie rozumieją infrastrukturę zaplecza. Nie jest już w porządku po prostu rzucić w coś monitorem SQL lub narzędziem do zapytań SQL i zacząć rozdzielać zapytanie i zobaczyć, co sprawia, że ​​działa. W rzeczywistości potrzebujemy narzędzia, które rozumie tworzenie zapytań i odpowiedni sposób tworzenia zapytań, a także odpowiednie sposoby komunikowania się zapytań z infrastrukturą zaplecza i ich wydajności. I spojrzeć na czas tych interakcji i kolejność, w jakiej mają one miejsce.

I to jest o wiele bardziej złożone wyzwanie, które prowadzi mnie do mojego okrągłego pytania, a mianowicie, że wraz ze wzrostem złożoności stosów aplikacji, narzędzia wydajności i narzędzia, których używamy do zarządzania nimi, koniecznie potrzebują aby stać się coraz bardziej inteligentnym i zdolnym do patrzenia na więcej rzeczy. Ale także o wiele mądrzejsi w tym, jak zagłębiają się w to, co działa na zapleczu i w co mogą się o tym dowiedzieć, a może nawet przeprowadzane są analizy tego rodzaju, aby zrozumieć, że interakcje i wydajność są dostarczane, i dlaczego działa wolniej lub szybciej.

Następnie przekażę naszemu przyjacielowi z IDERA, Billowi Ellisowi, i zobaczę, co ma dziś do powiedzenia na temat rozwiązania tego problemu. Bill, do ciebie.

Bill Ellis: W porządku. Nazywam się Bill Ellis i bardzo dziękuję. Porozmawiamy o tym, że moja aplikacja działa wolno, czas na Precyzyjne. Zobaczmy, co może zrobić Precise, produkt IDERA i jak może ci pomóc. Wiele razy dowiadujesz się, że wystąpił problem z wydajnością, ponieważ zadzwonił do ciebie użytkownik końcowy, a sam w sobie jest to naprawdę duży problem. Spośród wszystkich informatyków nikt nie wiedział, dopóki nie zadzwonił telefon. Kolejnym dużym problemem jest to, w jaki sposób pomagamy tej konkretnej osobie, i to naprawdę nie jest trywialny problem. Jest na to jedno wynos. To ponad i poza tym slajdem, to ponad i poza innymi. I chcę, żebyś zobaczył, czy możesz dostać to, co to jest. Ale, jak już wspomnieliśmy, aplikacja wymaga, opiera się na wielu różnych technologiach, stos aplikacji jest wysoki i rośnie. Wiele osób uzyskuje dostęp do aplikacji za pośrednictwem przeglądarki i, co zaskakujące, coraz więcej procesów odbywa się w przeglądarce za pomocą skryptów itp., A następnie oczywiście masz sieć, serwer WWW, kod logiki biznesowej i bazę danych. Chcę, abyś wziął pod uwagę to, że każda znacząca transakcja biznesowa współdziała z bazą danych, czy to raportowanie karty czasu, wyszukiwanie zapasów, zamówienie, baza danych jest aktualizowana. Tak więc baza danych staje się naprawdę podstawą wydajności. Baza danych oczywiście może się włączyć lub opiera się na dalszym przetwarzaniu danych. Każda z tych technologii jest ściśle powiązana i może zobaczyć, co się dzieje. Musisz wiedzieć, co się dzieje, aby móc mierzyć, ma kluczowe znaczenie.

Jedną z rzeczy, które stwierdziliśmy, jest to, że wielu naszych klientów ma narzędzie i narzędzie do każdej technologii, ale nie ma kontekstu. Kontekst to w zasadzie możliwość łączenia kropek między każdą warstwą w stosie aplikacji, a to jest w rzeczywistości stosunkowo proste. Kiedyś mieliśmy ograniczenie do dwunastu poziomów, ale w zasadzie to zmieniliśmy, mamy nieograniczone poziomy i obsługujemy mieszane środowiska, dzięki czemu możemy w zasadzie bardzo się skomplikować dzięki rozwiązaniu Precise.

Teraz, na wysokim poziomie, w ten sposób rozwiązujemy problem i koncentruje się on na transakcji, transakcji użytkownika końcowego od kliknięcia na dysk, mówi nam, które z nich działają wolno, a które zużywają zasoby, ale kluczem jest to, że - Pozwalamy Ci odebrać i zidentyfikować lokalizację użytkownika, a nie tylko cały czas transakcji, ale także ile czasu spędza na każdym kroku. Czas jest walutą wydajności, a także pokazuje, gdzie zużywane są zasoby. Nie wiemy z góry, gdzie będzie problem, więc musimy mieć odpowiednie pomiary i dane analityczne na każdym poziomie, aby móc zdiagnozować, na czym polega problem.

Teraz, w dzisiejszej prezentacji, skupię się na tym obszarze, chcę mieć pewność, że zapewniamy w zasadzie ten sam poziom widoczności na każdym poziomie w stosie aplikacji i najważniejsze jest to, aby powiedzieć nam, kto, co, gdzie, a potem ta część, to powie nam dlaczego. I tak naprawdę jest to absolutnie kluczowe dla rozwiązywania problemów, a nie tylko ich wiedzy. Inną rzeczą, która wyraźnie pokazała się w prezentacji, było to, że nie można tego zrobić. Potrzebujesz automatyzacji. A automatyzacja oznacza, że ​​masz alarm, masz coś, co, miejmy nadzieję, przed społecznością użytkowników końcowych, że masz stały trend, narosło odchylenie od alarmowania trendów. A potem oferujemy również linię na piasku, faktycznie naruszasz SLA. Teraz oferujesz wiele różnych informacji - nie każdy musi spożywać bufet, niektórzy ludzie chcą po prostu zjeść lekką przekąskę, to jest sałatka, i dzięki temu oferujemy portal, w którym możemy przesłać informacje, potrzebuje tylko konkretnego użytkownika lub potrzeby informacyjne danej społeczności dotyczące wydajności. Aplikacja działa wolno, czas uzyskać Precyzyjne. Naprawdę skupimy się na czterech rzeczach. Jednym z nich jest lokalizacja wprowadzająca użytkownika końcowego. Po raz kolejny ten kontekst, który łączy kropki, a trzecia część badań pokazuje, że prawie 90 procent problemów z aplikacjami występuje w bazie danych, więc jest to naprawdę parodia, że ​​większość rozwiązań wydajnościowych może powiedzieć jedną instrukcję SQL. Ale nie mówią ci, dlaczego ta instrukcja SQL działa wolno.

I tak, dlaczego zawsze jest najważniejsza rzecz, a Precise doskonale pokazuje, dlaczego, dla każdej warstwy, a zwłaszcza bazy danych, i po prostu dzieli się z Tobą trochę o naszej matrycy wsparcia, którą obsługujemy SQL Server, Sybase, DB2 i / lub luzem. Wygląd rozwiązania jest bardzo podobny, więc jeśli patrzysz na wiele aplikacji, ale nieco inne architektury. Informacje, które tu udostępniam, mają wygląd i podejście, są takie same, bez względu na to, jakie podstawowe technologie są w użyciu. Precyzja jest obsługiwana przez Internet. Wchodzimy, uwierzytelniamy Precise, a po tym wchodzimy i pierwszą rzeczą, na którą możemy chcieć spojrzeć, jest wydajność według lokalizacji. Dzięki temu możesz zobaczyć różne lokalizacje, w których ludzie mają dostęp do swoich egzekucji. Możesz sprawdzić, czy ktoś opuścił stronę, zanim została w pełni zrenderowana, lub czy występują błędy.

Jedną rzeczą w tych aplikacjach jest sieć lub odległość od serwera aplikacji. Bardzo łatwo jest tutaj zauważyć, że istnieje pewien poziom sieci. Widzę, kiedy ludzie stają się zajęci, a następnie kolejna interesująca rzecz, rozmawialiśmy o tym, jak odbywa się przetwarzanie w przeglądarce, zauważają, że niektóre z różnych typów przeglądarek zapewniają lepsze środowisko do szybkiego przetwarzania. Wiedząc, czy ludzie uzyskują dostęp przez Chrome, IE, czy cokolwiek innego, tak naprawdę często można stwierdzić, że inwersja jednego rodzaju przeglądarki jest lepsza od drugiego. Teraz, czasami masz do czynienia z publicznością, nie kontrolujesz przeglądarki, czasami aplikacje są skierowane do wewnątrz, gdzie możesz polecić użytkownikom typ przeglądarki społeczności użytkowników końcowych, a więc są to rodzaje głębokiej widoczności i analizy głębokiego nurkowania, które Precyzja jest w stanie zapewnić. Teraz zajmiemy się aplikacją.

Nie jestem pewien, czy widzicie mój wskaźnik, ale chciałem opisać wam górny wykres. Oś y pokazuje średni czas odpowiedzi. Oś X to czas w ciągu dnia. I tak naprawdę jest ułożony wykres słupkowy i ten ułożony wykres słupkowy, suma pokazuje, jaka jest wydajność, a następnie pokazuje, ile czasu spędza się na każdym kroku lub na każdym poziomie aplikacji. Od klienta, poprzez serwer WWW, zielony to Java, to miejsce, w którym korzystamy z Tuxedo i do bazy danych. Teraz dolna połowa ekranu pokazuje różne menu internetowe, do których dostęp jest uzyskiwany, a my dodaliśmy małą zieloną strzałkę skierowaną w dół. Jest w porządku malejącym i przesuwa się w górę, menu internetowe zaczyna go wyświetlać. Właściwie pokazujemy czas wykonania, czas odpowiedzi każdej technologii, a następnie jest wykres słupkowy dla każdego z tych menu internetowych, więc zaczynamy mieć pojęcie o tym, co się dzieje. Teraz pamiętajmy, że posortowaliśmy to wszystko tak, aby zadzwonił użytkownik końcowy, ale jak znaleźć użytkownika końcowego? Wchodzę tutaj, otwieram menu, które pozwala mi filtrować określonego użytkownika, więc ustawiłem tego użytkownika na Alex Net, kliknij OK, a następnie skupiamy się tylko na aktywności z Alex Net. Teraz pozwala to działowi IT i zarządzaniu IT bezpośrednio reagować na użytkownika końcowego, aw szczególności, że patrzy na zarządzanie treścią, które wykonało sześć wykonań z czasem odpowiedzi nieco ponad trzy sekundy. Cóż, trzy sekundy są całkiem dobre, nie jest okropne, ale może wolniej.

Co mogę z tym zrobić, mogę pokroić i pokroić tę informację na różne sposoby. Mógłbym powiedzieć, czy ta transakcja jest powolna dla wszystkich? Czy Alex jest dziś wolniejszy niż wczoraj? Czy jest powolny dla każdego użytkownika w określonej lokalizacji? Albo to, co to robi, pozwala mi pokroić w kostkę i dowiedzieć się, co się dzieje, jak uniwersalny jest problem i bardzo ważna jest możliwość identyfikacji użytkownika końcowego, ponieważ nie chodzi tylko o oprogramowanie, infrastruktura, chodzi również o to, jak użytkownicy końcowi korzystają z aplikacji. Często możesz mieć nowego pracownika lub kogoś z nową funkcją pracy, a oni nie są zaznajomieni z niektórymi ekranami SAP lub niektórymi panelami PeopleSoft i potrzebują trochę wskaźnika, być może zostawiają pola puste lub umieszczają symbole wieloznaczne i „ wymusza zwracanie dużych wyników z bazy danych. Ale mając identyfikator użytkownika, możesz do nich zadzwonić, zanim zadzwonią. Inną rzeczą, którą znajdujemy, jest to, że gdy społeczność użytkowników jest świadoma tego, że IT wie, co robią, wiele razy lepiej się zachowują i wiele problemów, wiele rzeczy, które były problemami, po prostu wyparowują, ponieważ ludzie się zachowują, działają tylko trochę ostrożniej. Używają systemu z większą ostrożnością.

Identyfikacja użytkownika końcowego jest niezbędna. Ostatecznie kluczowe jest, aby dział IT mógł pomóc konkretnemu użytkownikowi końcowemu. Teraz to, co tutaj zrobiliśmy, to przejście do zakładki „Flow”. Możesz to zobaczyć w lewym górnym rogu. Skupiliśmy się na jednym konkretnym elemencie menu internetowego. A po prawej stronie znajduje się analiza tej konkretnej transakcji, więc u góry jest tak naprawdę przeglądarka, a następnie Widok, aby zapoznać się z odrobiną ikon w interfejsie GUI, jest to serwer WWW, więc widzimy punkt atrybutu. A potem „J” oznacza Javę, a „T” oznacza Tuxedo i oczywiście „Q” to SQL. Cóż, ta wartość gotówkowa zasadniczo określa konkretną instrukcję SQL. Zastanów się, co to robi. Zidentyfikowaliśmy użytkownika do transakcji, do kodu aplikacji, w tym poszczególnych instrukcji SQL. Teraz, gdy patrzę na te indywidualne instrukcje SQL, widzę, że całkowity czas odpowiedzi jest odpowiedzialny za około sześć procent, a kiedy sumują się cztery najlepsze instrukcje SQL, zajęły około jednej czwartej transakcji czas.

Często baza danych jest najłatwiejsza do manipulowania. Zwykle najłatwiej jest uzyskać niedrogą, znacznie lepszą wydajność. Teraz muszę pójść trochę głębiej, aby dowiedzieć się, co się dzieje i chcę, aby przykład był w stanie ujawnić indywidualne polecenie SQL, a wiesz, że prawie mogę cię zagwarantować po każdym strzale w linię Miałem jakieś narzędzie bazodanowe i to, co robi narzędzie bazodanowe, ale patrząc tylko na jedną technologię oddzielnie, polega na tym, że patrzysz na, koncentrując się na zdrowiu tej technologii. I wiele razy ludzie patrzą na listę dziesięciu najlepszych. Teraz ta instrukcja SQL jest dość szybka, nie będzie na pierwszej dziesiątce, ale na tej transakcji opiera się instrukcja SQL. A zatem to, co mogę zrobić z powrotem na to słowo, kontekst, to teraz mogę zwrócić na to uwagę, ale w kontekście indywidualnej instrukcji SQL.

Teraz ta osoba może otworzyć Precise w kontekście indywidualnej instrukcji SQL, a Precise przechwytuje rzeczywisty plan wykonania, którego używa, czas wykonania jest to ważne dla DBA, faktycznie pokaże, widać, że 50 procent czas poświęcony jest na przechowywanie. Pięćdziesiąt procent czasu jest wykorzystywane przez procesor, więc zaczynasz rozumieć, gdzie spędzam ten czas, jak mogę skrócić ten czas, a pomysłem jest dać ludziom opcje, ponieważ różne reakcje wiążą się z różnymi kosztami i ryzykiem . Idealnie jest poszukiwanie niskiego ryzyka, taniego rozwiązania problemu. Teraz, gdy instrukcja SQL jest śledzona przez wartość skrótu i ​​na środku ekranu po lewej stronie znajduje się ten mały przycisk „Tune”, a to, co zamierza zrobić, zabierze cię do zadania SQL. To zadanie SQL jest rodzajem wstępnie zbudowanego środowiska roboczego, a to pozwala mi naprawdę dokładnie przeanalizować, co wpływa na instrukcję SQL, zaczynając od planu wykonania. Plan wykonania jest wybierany przez optymalizator podczas analizowania instrukcji, to - z powrotem do analogii żywności, to jest przepis, który stosuje się, aby rozwiązać instrukcję SQL.

Niektóre przepisy są bardziej skomplikowane niż inne, dlatego przedstawiamy wnioski. I faktycznie pokaże tutaj, hej, dużo czasu robi sekwencyjne operacje we / wy na określonym indeksie. I zobacz teraz, kiedy wracając do tlenu, podążaj za tym indeksem. Czy ten indeks został ostatnio zdefragmentowany, jaki jest stan zdrowia? W jakim obszarze stołu to mieszka? Czy obszar tabel jest oddzielony od tabeli, do której się odwołuje? I tak zaczyna przedstawiać różnego rodzaju pomysły na temat rozwiązania problemu. Teraz, oczywiście, budujemy w indeksie. Jest to o wiele mniejsze ryzyko, o wiele łatwiejsze niż być może przeniesienie indeksu z jednego obszaru tabel do innego obszaru tabel, więc chcemy stworzyć rodzaj opcji gromadzenia, abyśmy mogli wdrożyć opcję najniższego kosztu i najniższego ryzyka rozwiązać problem.

Precyzja może także wykonywać takie operacje, jak przechwytywanie zmiennych powiązań, które są rzutowane na instrukcję SQL. Oczywiście rzutowane zmienne będą kontrolować rozmiar zestawu wyników. I kontroluje, jak długo trwa wykonanie instrukcji SQL oraz ile danych musi zostać przekazanych i przetworzonych przez aplikację przez Javę, przez .NET, do obsady serwera WWW i sieci, ostatecznie renderowane w przeglądarce użytkownika końcowego . To, co dzieje się w bazie danych, wpływa bezpośrednio na czas przeglądarki. Dlatego tak ważne będzie posiadanie tego poziomu widoczności, abyśmy mogli dokładnie wiedzieć, co się dzieje i dać DBA jak najwięcej opcji, aby mogli wybrać, który z nich jest najbardziej sensowny w danej sytuacji.

Oto niektóre cytaty, które pochodzą ze sklepu PeopleSoft, który ma globalne wdrożenie. Precise obsługuje PeopleSoft i SAP, Siebel, Oracle, E-Business Suite, domowe aplikacje Java i .NET. Obsługujemy, więc jeśli wykonujesz wywołania usługi internetowej do wielu maszyn JVM, od Java do .NET z powrotem do Java, możemy to wszystko śledzić. Może to być wstępne, może być w chmurze. Najważniejsze jest to, że rzeczy muszą być oprzyrządowane.

I tak, tylko kilka cytatów od jednego z naszych klientów: „Przed Precise nasze DBA korzystały z OEM” - to narzędzie tylko do bazy danych i w zasadzie powiedzieli: „Hej, instancje wyglądają świetnie”. Ale mogą pomóż powiedzieć lub rozwiązać problem z określoną transakcją. Precyzja zapewnia widoczność, aby to zrobić. Zatem posiadanie tych informacji o instrukcjach SQL było kluczowe dla zapewnienia DBA widoczności pełnego wyciśnięcia wydajności z bazy danych. I to było naprawdę miłe. Coś ponad i poza niektórymi narzędziami, na które możesz patrzeć.

A potem kierownictwo IT bardzo pokochało fakt, że Precise był w stanie przetłumaczyć złożony adres URL na nazwę panelu. I w ten sposób, jeśli użytkownik końcowy zadzwoni i powie: „Hej, mam z tym problem”, możesz wyizolować i zobaczyć, kto jest tym użytkownikiem, co oni wykonują, jaki rodzaj wydajności, faktycznie mierzą renderowanie czas w przeglądarce użytkownika końcowego. To prawdziwa miara doświadczenia użytkownika końcowego. Tak więc posiadanie tego identyfikatora użytkownika jest absolutnie niezbędne, aby pomóc konkretnej osobie dzwoniącej.

Jak to robi Precise? Dlatego chcielibyśmy podzielić się naszą architekturą. Precyzja powinna żyć na własnym serwerze i na maszynie wirtualnej, może żyć w chmurze. W interfejsie Precise obsługuje sieć, bez względu na to, czy korzystasz z pulpitów nawigacyjnych, interfejsu alarmowego czy graficznego interfejsu użytkownika Expert. Po stronie gromadzenia danych możemy faktycznie działać bez agenta dla kilku różnych technologii. Często jednak potrzebujemy agenta, a agent ma plusy i minusy. Dużym plusem jest to, że gromadzone dane mogą być przetwarzane przed wysłaniem przez sieć LAN. Oznacza to, że możemy zminimalizować całkowity wpływ rozwiązania do monitorowania na środowisko docelowe.

Teraz rozważ jako alternatywę, jeśli masz opcję „bez agenta”, nadal istnieje moduł gromadzący dane, to tylko kwestia miejsca, w którym mieszka, i który wykonuje połączenia i przekazuje nieprzetworzone dane o aplikacji docelowej przez sieć LAN. I to jest naprawdę dość drogie. I tak dzięki przetwarzaniu wstępnemu możemy faktycznie zminimalizować ślad. Będziesz mógł monitorować zarówno fizyczne, jak i wirtualne. A jedną z rzeczy, które chciałem powiedzieć o technologii wirtualnej, jest to, że naprawdę koncentruje się na wykorzystaniu. Precyzja koncentruje się na sporze. Kiedy technologia VMware faktycznie minimalizuje zasoby na maszynie wirtualnej gościa? I tak to staje się naprawdę łatwe. Jeśli patrzysz tylko na maszynę wirtualną gościa, masz tylko część obrazu. Możliwość automatycznego wykrywania i powiadamiania o sporach jest bardzo ważna.

Precise może monitorować do 500 instancji, więc bardzo duże wdrożenia mają w zasadzie wiele serwerów Precise. W przypadku globalnego wdrożenia zazwyczaj będzie to serwer Precise w każdym centrum danych. Nawiasem mówiąc, w przypadku największych wdrożeń można je federacyjnie połączyć, dzięki czemu można spojrzeć na to, co się dzieje, i zaoferować raportowanie itp. Teraz, jak wspomniałem, mamy wiele analiz technicznych. Nie wszyscy muszą korzystać z interfejsu GUI ekspertów, dlatego oferujemy dostosowywalny pulpit nawigacyjny. I każdy z tych portletów lub widżetów, wszystkie są opcjonalne. I ktoś może po prostu chcieć powiedzieć: „Hej, jak możesz ostrzec dowolny poziom w naszym środowisku? Jak radzą sobie grupy użytkowników końcowych z punktu widzenia wydajności? ”A może masz pytanie dotyczące infrastruktury, a może nawet wydajności Tuxedo. Lub nawet równoważenie obciążenia. W tej części dotyczącej równoważenia obciążenia jest to interesujące. Patrzę na portlet pośrodku po lewej stronie. Widać, że liczba wykonań jest bardzo podobna dla każdego z serwerów sieciowych. Ale czas reakcji jest bardzo różny na pierwszym. Możesz wgłębić się i dowiedzieć się dokładnie, dlaczego czas odpowiedzi na tym serwerze WWW był znacznie wolniejszy niż na innych.

Jedna rzecz związana z równoważeniem obciążenia, jest to bardzo ważne, a zasady równoważenia obciążenia, wiesz, nie każda zasada równoważenia obciążenia jest odpowiednia dla każdej aplikacji. Sprawdzanie zasad równoważenia obciążenia jest naprawdę bardzo pomocne. W rzeczywistości widzimy niektóre aplikacje, takie jak nowy GUI PeopleSoft Fluid, w którym niektóre serwery sieciowe zostaną wyłączone. A więc jest to bardzo ważne. Jeśli wdrażasz GUI PeopleSoft Fluid, skontaktuj się z nami. Możemy zapewnić ci wgląd i wiedzę na temat tego, co napotykają inni klienci. Każdy z tych portletów może być dość szczegółowy. Podobnie jak środkowy prawy, z niebieskim i zielonym, faktycznie pokazuje wzór czubka miecza, to rodzaj pokazuje, że twoja kolekcja śmieci w warstwie WebLogic działa tak, jak tego oczekujesz. Każdy z tych portletów może być bardzo skoncentrowany lub może mieć bardzo wysoki poziom. A powodem, dla którego jest to ważne lub może być ważne, jest to, że często nie wystarczy mieć te informacje w IT, czasem trzeba udostępniać te informacje właścicielom aplikacji, a czasem kierownictwu wyższego szczebla, o tym, co się dzieje .

Chciałem podzielić się z wami kilkoma historiami, w rodzaju „Sukcesu w centrum danych”. Są one skoncentrowane na bazie danych i mam inne historie, które są skoncentrowane na środkowej warstwie. Ale na dzień dzisiejszy naprawdę chcę skupić się na warstwie bazy danych. Rzućmy okiem na zawieszanie się ekranu. To, co się tutaj wydarzyło, polega na tym, że ten konkretny sklep miał biznesową umowę SLA, że jeśli zamówienie zostanie otrzymane do godziny 15, zamówienie zostanie wysłane tego dnia. W związku z tym magazyn jest bardzo zajęty w tym czasie. A potem zawieszenie się ekranu było bardzo frustrujące. I tak przełożony - to mniejsza firma - przeszedł do działu IT i oczywiście podchodzi do DBA i mówi: „Teraz, co się dzieje?”. A więc, co zrobiliśmy, jesteśmy w stanie pokazać dokładnie o co chodzi. Teraz jest to JD Edwards, aplikacja wielowarstwowa, to jest ekran zamówienia sprzedaży. Możesz dowiedzieć się, czym była firma, w zasadzie inwentaryzacja na czas, więc w zasadzie patrzysz na aplikacje magazynowe. A teraz zasadniczo wysyłasz produkty do różnych witryn klientów, do różnych sklepów. I otworzyliśmy Precise.

Teraz w tym przypadku, zanim spojrzeliśmy na Oracle, tutaj patrzymy na SQL Server, a teraz górna połowa pokazuje nam ułożony wykres słupkowy pokazujący, gdzie instrukcje SQL spędzają czas podczas wykonywania. Każdy słaby stan jest rozliczany na osi y. Oś X, jeśli oczywiście w czasie, i widać, że skumulowany wykres słupkowy zmienia się z przedziału czasu w zależności od tego, co jest wykonywane i jak używa systemu. Teraz w tym konkretnym przypadku skupiliśmy się na trzeciej sekwencji SQL od góry. Ma tekst WYBIERZ Z PS_PROD i możesz zobaczyć w tej kolumnie, że uchwyciliśmy aktualny plan wykonania. Możesz zobaczyć całą liczbę egzekucji. Fakt, że ta konkretna instrukcja SQL była odpowiedzialna za 9, 77 procent zużycia zasobów w tym przedziale czasowym, na który patrzymy - i to jest ważny punkt, przedział czasowy, Precyzja, przechowuje historię - i dlatego mogę w zasadzie wybierać i dowiedz się, co wydarzyło się w danym momencie lub w czasie. Jestem w stanie zobaczyć trendy.

Teraz ta instrukcja SQL, widzisz tam ułożony wykres słupkowy, jest ciemnoniebieski. Oznacza to, że używamy całego procesora. Przejdźmy dalej i skupmy się, klikając ten przycisk „TUNE” na konkretnej instrukcji SQL. To, co robimy, polega na tym, aby wziąć udział w tym warsztacie, wstępnie zbudowanym warsztacie, który ma na celu powiedzenie: „Cóż DBA dowie się o tej konkretnej instrukcji SQL?”. Po prawej stronie znajduje się zakładka o nazwie „ Historia ”, który został wybrany. A teraz chciałbym, abyś przeniósł się na lewą stronę, gdzie jest napisane „Średnie zmiany w porównaniu do czasu trwania”, średni czas trwania. I każdy z tych pasków reprezentuje wydarzenia dziennie.

Możesz zobaczyć w środę, czwartek, piątek, czas wykonania był, Zaraz zaokrąglę do punktu drugiego. Oś y pokazuje punkt cztery sekundy, więc punkt drugi. Bardzo mało zawiesza się ekranu, operacje idą świetnie, w SLA. Niestety 27 lutego plan wykonania został zmieniony, co spowodowało natychmiastową zmianę czasu wykonania. Nagle czas wykonywania się wydłuża, cztery X, może pięć X, a wszystko idzie naprawdę źle. Teraz Precise, w swoim repozytorium faktycznie rejestruje wszystkie zmiany, które mogą mieć wpływ na zachowanie. Widzicie tutaj, że rzeczywiście zarejestrowaliśmy zmiany płaszczyzny osi. Ten w środku mówi „Zmieniono objętość tabeli”. Tak więc tabele rosną, a my jesteśmy na granicy, kiedy parsowana jest instrukcja SQL, optymalizator wybiera jeden plan wykonania lub inny plan wykonania.

Teraz, na szczęście, w ten tydzień, w poniedziałek, flip-flop, więc był to dobry moment. Niestety, to znowu klapki, i wiesz co, użytkownicy końcowi zaczynają przewidywać zawieszanie się ekranu i ponownie przesyłają ten ekran, a następnie zwiększają i zwiększają liczbę wykonań. Mamy ogromną ilość szczegółów, ale aby rozwiązać ten problem, a następnie uniknąć go w przyszłości, potrzebujemy jeszcze jednej informacji. I to pokazano mi przy porównaniu tych planów wykonania. 5 marca, kiedy był szybki i wydajny, po lewej stronie pokazuje plan wykonania. Kiedy 12 marca był powolny i nieefektywny, widać, że wykonuje on łączenie filtrów. Łączenie filtrów wymusza o wiele większe zużycie procesora, wykonując znacznie więcej pracy. Wynik jest identyczny, po prostu wykonuje o wiele więcej pracy. To tak, jakbyś dostawał zapasy pojedynczo, zamiast iść do spiżarni i zbierać wszystkie składniki naraz. Istnieje więc bardziej skuteczny sposób na zrobienie tego. Wiedząc to zwykle, DBA był w stanie użyć planu zapytań, aby uniknąć tego powolnego planu wykonania i zablokować szybką, wysoką wydajność.

Teraz kolejnym rodzajem historii wojennej było „Raporty są spóźnione”. Myślę, że wiele osób może się identyfikować z tym scenariuszem. Możesz mieć raportowanie ad hoc, możesz użyć narzędzia takiego jak NVISION, możesz mieć narzędzie do raportowania innych firm. I to, co się dzieje, to narzędzie rozwija SQL. I często SQL nie jest tak dobrze zakodowany. Może to również dotyczyć sytuacji, w której wiesz, że masz aplikację innej firmy, w której SQL nie został napisany wewnętrznie, a więc jako DBA: „Nie kontroluję SQL, co mam zamiar z tym zrobić? ”. Precise zapewnia coś, czego nie jestem świadomy, oferując inne narzędzie bazy danych, a jest to widok obiektu. W połączeniu z zaleceniami i modelowaniem. Tak więc to, co możemy zrobić, to faktycznie skierować widoczność na głowę. Zamiast tylko spojrzeć na aktywność, zbadajmy, jaki obiekt jest najcięższy w systemie? W rodzaju dolnej części ekranu można zobaczyć wiersz zamówienia SQL i kolumnę „w MS-SQL”. A tabela wiersza zamówień jest dziesięć razy bardziej obciążona niż jakikolwiek inny stół w systemie. Myślę, że to, co zauważysz w górnej połowie, przydział miejsca rośnie, możesz też spojrzeć na specyfikacje na serwerze, jaką wersję oprogramowania uruchamiamy. Precyzyjnie sprawdzi śledzone zmiany w ustawieniach podstawowych. Jeszcze raz przyczyna i skutek.

Teraz, skupiając się na tabeli wiersza zamówień, to, co mogę zrobić z moim szczegółowym repozytorium historycznym, to faktyczne skorelowanie instrukcji SQL, które są sprzeczne z tabelą wiersza zamówień. I możesz zacząć szukać klauzuli where w tych instrukcjach SQL. Zaczynasz zauważać, że klauzula where jest podobna w różnych instrukcjach SQL. I zasugerowałbym ci, że w swoim systemie nagrań znajdziesz to samo. Ponieważ użytkownicy biznesowi, analitycy biznesowi będą chcieli robić takie rzeczy, jak łączna aktywność biznesowa w ciągu ostatniego dnia, ostatniego tygodnia, ostatniego miesiąca, ostatniego kwartału, ostatniego roku. Zobaczysz bardzo podobnie, gdzie klauzule, sortuj według, grupuj według, a to oznacza, że ​​będą pewne indeksy, które mają sens dla tych instrukcji SQL.

I tak Precise ma silnik rekomendacji, widać to w prawym górnym rogu, a my możemy właściwie uzyskać rekomendacje. Powiedz: „Hej, uruchamiam wszystkie instrukcje SQL, jakie indeksy by je rozwiązały?” Indeksy są przedstawione i faktycznie można zobaczyć DBL. Teraz Precise jest tylko do odczytu, nie oferuje możliwości kliknięcia przycisku i utworzenia indeksu, ale jest to łatwe do zrobienia poza Precise. Ale najważniejsze jest to, że Precise pozwala oceniać i modelować zmiany, dlatego w lewym dolnym rogu ekranu znajduje się przycisk Oceń. I to powoduje, że pokazuje instrukcje SQL przed i po.

Spójrzmy na te instrukcje SQL. Czy widzisz tutaj tę kolumnę, która mówi „w MS-SQL” i mówi godzinę, cztery minuty? Te najlepsze instrukcje SQL wykonują lub zużywają zasoby o wartości około 64 minut. Jego przewidywana poprawa wynosi 98 procent. Te zmiany pozwolą zaoszczędzić wiele godzin przetwarzania. Następna instrukcja SQL ma 27 minut i zasadniczo zaoszczędzi trzecią. To około dziesięć minut przetwarzania. Podsumowując, naprawdę zaoszczędzisz godziny przetwarzania dzięki proponowanym zmianom. I tak, mogąc to wiedzieć z góry, będąc w stanie to wymodelować. Możesz także użyć funkcji „co-jeśli”, aby powiedzieć „Cóż, nie chcę tworzyć tego indeksu, ani co się stanie, jeśli zmienię kolejność kolumn?” A więc mogę użyć tej możliwości modelowania aby dowiedzieć się dokładnie, co się dzieje.

Inną sprawą o zasadniczym znaczeniu jest to, że kiedy dokonam zmiany, mogę mierzyć poszczególne instrukcje SQL. Widziałeś historię instrukcji SQL w poprzednim przykładzie i naprawdę mogę zweryfikować, czy osiągnąłem modelowane oszczędności. I dlatego sprzężenie zwrotne jest absolutnie niezbędne.

Dobra, oto ostatni przykład, który chciałbym dla ciebie mieć. To jest sklep SAP i, wiesz, wybrali się na poważną aktualizację, robili pewne rzeczy z niestandardowymi transakcjami i zasadniczo użytkownik końcowy był niezadowolony z wydajności. Dzięki temu mogliśmy skupić się na doświadczeniach tego użytkownika końcowego. Na górze listy widać „WYBÓR”, a czas reakcji wynosi nieco ponad 61 sekund. Wykonanie tego zajmuje minutę. Teraz możesz zobaczyć, że mamy skumulowany wykres słupkowy zorientowany na SAP. Po prawej stronie pokazuje czas klienta, czas oczekiwania w kolejce. Kolor niebieski to czas aplikacji, aw środowisku SAP to kod ABAP, a następnie baza danych. Tak więc baza danych może być Oracle, SQL, HANA. Zasadniczo jesteśmy w stanie to pokazać.

Teraz w Precise skupiamy się na tej transakcji i tym użytkowniku na tym, jakie instrukcje SQL wychodzą. Jeszcze raz ten kontekst do połączenia kropek. Teraz ta najwyższa instrukcja SQL, widać, że jest zakreślona, ​​wykonuje się w dwie milisekundy. Naprawdę nie można winić bazy danych, jeśli wykonuje się ona tak szybko. Liczba wykonań jest bardzo wysoka. W rzeczywistości możemy wrócić do kodera ABAP i powiedzieć: „Hej, co się dzieje?”. Właściwie odkryliśmy, że kod w bazie danych został umieszczony w niewłaściwym miejscu, zagnieżdżał się w niewłaściwym miejscu w pętli, utworzył zmienić, a następnie jesteśmy w stanie dokonać pomiaru po. Możesz faktycznie zobaczyć, czego oczekuje wydajność. Nie tylko na poziomie instrukcji SQL, ale także na niestandardowym poziomie kodu. Dzięki temu mogli żyć cztery i pół sekundy egzekucji. A więc to tylko kilka przykładów tego, jak Precyzja może być wykorzystana, możesz to wykorzystać. Podsumowując, Precise pokazuje wydajność według lokalizacji, według identyfikatora użytkownika końcowego, zapewnia kontekst poprzez stos aplikacji. Możesz zgłębić pierwotną przyczynę. I myślę, że jednym z głównych czynników różnicujących jest wiedza nie tylko o instrukcji SQL, ale także o tym, dlaczego instrukcja SQL działa wolno, oraz być w stanie zidentyfikować spór i zasadniczo zaoferować więcej opcji rozwiązywania problemów. Właśnie to ma do zaoferowania Precise i możesz nas pochłonąć, jak wiesz, w lekki sposób lub jeśli masz bardzo głębokie, bardzo trudne problemy, z przyjemnością podejmiemy je również.

Eric Kavanagh: Dobra, muszę powiedzieć, że to było wiele fantastycznych szczegółów, Bill. Dziękujemy za pokazanie wszystkich zrzutów ekranu. Z mojego punktu widzenia naprawdę spełniłeś to, co wyjaśniłem na początku godziny, a mianowicie, po pierwsze, musisz mieć odpowiednie narzędzie. Musisz mieć narzędzie, które pozwala na określenie kontekstu wymaganego do zidentyfikowania wszystkich elementów równania, jak ktoś kiedyś powiedział w filmie, to było trochę zabawne. Ale pozwólcie, że pójdę dalej i przekażę to Dezowi, ponieważ założę się, że ma on do ciebie kilka pytań i chcę przesłać jeszcze jedną z tych slajdów tylko dla wizualnego słodyczy, jeśli chcesz. Tak naprawdę, poczekaj, pozwól mi to cofnąć. Ale Dez, jestem pewien, że masz jakieś pytania, zabierz to.

Dez Blanchfield: Tak, rozumiem. To narzędzie przeszło długą drogę, odkąd go początkowo znałem, i nie byłem świadomy, że tak naprawdę znalazłeś się tak głęboko w stosie. To po prostu zadziwiające. Po prostu bardzo szybko, kilka rzeczy. Model wdrażania, czy możesz naprawdę szybko, za minutę lub dwie, po prostu zarysować tradycyjny lub typowy model wdrażania. Wspomniałeś, że był dostępny jako maszyna wirtualna. Można go uruchomić w chmurze. I chyba jedno z pytań, które prawdopodobnie się pojawi, i myślę, że w sekcji pytań i odpowiedzi pojawiło się kilka pytań. Podsumowując je w podsumowaniu, a więc normalny model wdrażania i wymagany typ osi, czy tradycyjnie jest on wdrażany lokalnie, hostowany czy w chmurze? Jakie są typy modeli wdrażania, które zwykle widzisz? A jaki typ osi jest wymagany, aby to zadziałało? Czy musimy zmieniać rzeczy na poziomie bezpieczeństwa wokół dostępu do sieci i tak dalej? Czy może to po prostu zachowywać się jak użytkownik końcowy?

Bill Ellis: Tak, więc obecnie większość instalacji ma charakter wstępny. Coraz więcej osób umieszcza komponenty stosu aplikacji w chmurze, więc możemy sobie z tym poradzić. Wdrożenie, na którym chcemy uruchomić serwer, będzie spełniało określone specyfikacje. Musimy mieć bazę danych do przechowywania repozytorium historycznego, więc spełnienie tych wymagań jest swego rodzaju pierwszym krokiem. Następną rzeczą jest to, że zdecydowanie musimy mieć wiedzę na temat samej aplikacji, a instalacja jest prowadzona przez kreatora i zasadniczo wypełnia puste pola. Z powodu głębokości informacji, które otrzymujemy, od poziomu procesu sieciowego do wykonywanego kodu, musimy mieć pewne uprawnienia. Mamy bezpieczny model danych lub model bezpieczeństwa, muszę powiedzieć, ponieważ agenci działają przy użyciu poświadczeń, które są całkowicie niezależne od osób korzystających z metadanych dotyczących transakcji itp.? Precyzja komunikuje się przez TCP przez IP, dlatego wymagamy, aby niektóre porty były otwarte. Jako szybki przykład, na przykład, że domyślnym portem jest 2702. Tego rodzaju szczegółowe informacje są czymś, jeśli ludzie są zainteresowani, moglibyśmy zająć się bardziej szczegółowo. Ale zazwyczaj jesteśmy bardzo szybcy w wycenie. Jeśli ktoś ma duży problem, często możemy go zainstalować i rzucić jasne światło na sytuację w ciągu kilku godzin.

Dez Blanchfield: Tak, zdecydowanie też mam takie poczucie. W modelu wdrażania mówiłeś o bardzo dużej skali i do 500 instancjach oraz o tym, jak można je sfederować. Na samym początku, jak to wygląda, jeśli ktoś chce - bo wiem, że IDERA bardzo zależy na udostępnianiu bezpłatnych wersji próbnych, darmowych wersji demonstracyjnych i pamiętam, że widziałem na stronie prawie wszystko, z czym można grać. Dla ludzi tutaj i myślę, że wcześniej tęskniłem, ale wydaje mi się, że pojawiło się pytanie, jak wygląda typowa strona i jak ludzie uzyskują do niej dostęp i zaczynają z nią grać i dostać ten typ doświadczenia, w którym mogą sprawdzić, czy potrafią rozwiązać niektóre problemy z wydajnością? Czy mogą pobrać ODS i uruchomić go na swoim hiperwizorze, Hyper-V lub laptopie, czy potrzebują dedykowanej maszyny, na której można go uruchomić? Naszkicowałeś architekturę już wcześniej, ale bardzo krótko, za minutę lub dwie, jak to wygląda w przypadku wdrożenia na poziomie podstawowym, aby na przykład zrobić dowód koncepcji?

Bill Ellis: Tak, więc nasz model jest trochę inny niż narzędzia IDERA. W pewnym sensie bardziej pasujemy do scenariusza Embarcadero, w którym chciałbyś skontaktować się z jednym z naszych przedstawicieli handlowych. Chcielibyśmy po prostu przedyskutować z tobą, jakie są wyzwania, a następnie dość typowo, jeden z SE zostałby przypisany i zasadniczo pracowałby z kimś w trakcie instalacji. Zwykle nie uruchamiałbyś Precise na swoim laptopie. Chcesz mieć maszynę wirtualną lub serwer w centrum danych, w którym mieszka aplikacja, aby wykonywać kolekcje. Ale pomożemy ci na każdym etapie. Jeśli ktoś jest zainteresowany realizacją tego, zdecydowanie skontaktuj się z IDERA.

Dez Blanchfield: Jedną z innych rzeczy, które mnie uderzyły, było to, że wiele z tego, co omówiliśmy dzisiaj, dotyczy reagowania na problemy z wydajnością. Wydawało mi się jednak, że w środowiskach na żywo, gdy ludzie z nich korzystają, więc podczas pierwszego pokazu slajdów ktoś podnosi słuchawkę i mówi: „Aplikacja działa wolno, pomóżcie”. Ale uderzyło mnie to podczas wstępnej wersji aplikacji lub aktualizacje lub nowe łaty i poprawki, możesz przejść przez szereg planowania wydajności i testów warunków skrajnych i mieć Precyzyjne spojrzenie na całe środowisko i faktycznie znaleźć problemy, zanim nawet umieścisz użytkowników końcowych w środowisku. Czy to przypadek użycia, który widziałeś wcześniej, czy ludzie też to robią, czy też nie jest to typowy przypadek użycia?

Bill Ellis: Oczywiście, chcielibyśmy używać Precise w całym cyklu życia aplikacji lub cyklu życia aktualizacji. Precyzyjny oferuje widok skalowalności, pokaże liczbę wykonań nałożonych wraz z czasem odpowiedzi. Oczywiście, jeśli zarówno liczba egzekucji, jak i czas reakcji rosną razem, nie skalujesz się i musisz coś zrobić. Tego typu rzeczy ogromnie pomogły. Myślę, że teraz jest to trochę mniej prawdziwe, ale kiedy ludzie zaczęli umieszczać aplikacje produkcyjne na VMware, byli nieco niezdecydowani i na początku mówili: „Och, musimy to przenieść fizycznie. ”A tak naprawdę możemy pokazać, jakie jest zużycie zasobów, abyś mógł zwiększyć wydajność aplikacji. Na każdym etapie cyklu życia aplikacji zdecydowanie chcesz używać Precise. Ale muszę powiedzieć, że produkcja jest naprawdę tam, gdzie najważniejsza jest wydajność, a Precise jest ukierunkowane na monitorowanie produkcji 24/7, więc naprawdę nie chcesz uruchamiać aplikacji produkcyjnych bez widoczności.

Dez Blanchfield: Oczywiście. Jeszcze jedno szybkie pytanie dotyczące tej konkretnej kwestii - test dogłębny, imigracja, UAT i tak dalej - mam na myśli, że wspaniale jest mieć to narzędzie i wyobrażam sobie, że twórcy aplikacji absolutnie chcieliby mieć do niego dostęp poprzez cykle życia cyklu rozwojowego . Dzięki bardziej złożonym architekturom, które teraz widzisz, więc przenieśliśmy się z usług dedykowanych do wirtualizacji i wirtualizacji, przechodzimy teraz do pewnego rodzaju przyjęcia outsourcingu do hostingu w chmurze i widzimy również przejście do konteneryzacji. Czy widziałeś, jak wiele osób wdraża to i modeluje rodzaj regionów lub stref, więc ktoś może to mieć - aw Australii mamy bardzo duży problem dotyczący prywatności i wiem, że w Europie to samo i myślę, że staje się to coraz bardziej powszechne w USA, gdzie dane, które są w stanie mnie osobiście zidentyfikować, często muszą znajdować się w bezpieczniejszym środowisku od faktycznej warstwy aplikacji do warstwy internetowej. Mamy więc te wdrożenia teraz, w których ludzie mogą przechowywać swoje bazy danych i aplikacje wewnętrznie, ale mogą umieścić swoją warstwę internetową i dostawę na końcu i aplikacji itd. W dostawcy usług w chmurze, takim jak Azure lub Amazon Web Services i oprogramowanie . Jak to działa w przypadku normalnego wdrożenia? Czy to przypadek, że masz w regionie kolejny zestaw kolektorów, a oni po prostu agregują trochę więcej? Jak to wygląda w świecie Precise w dzisiejszym bimodalnym podejściu polegającym na zarządzaniu IT starymi rzeczami w jednym miejscu, a twoje towary są czasami w chmurze?

Bill Ellis: Tak, więc wspieramy mieszane środowisko. Jedną rzeczą do rozważenia jest to, że istnieją różne umowy z dostawcami chmury. Niektóre z nich nie pozwalają na żadnego agenta ani żadnego zewnętrznego monitorowania w chmurze. Aby zainstalować i monitorować za pomocą Precise, musisz mieć umowę, która zezwala na ten rodzaj dostępu. Zdecydowanie istnieją pewne ograniczenia, które czasem musimy przepracować, więc są to ważne kryteria, które należy wziąć pod uwagę, kiedy, jak sądzę, najpierw podpisujesz te umowy, a następnie i / lub jeśli musisz wdrożyć Precise.

Dez Blanchfield: Tak, widziałem wiele przypadków, w których nawet w tradycyjnym środowisku bazy danych, jeśli zamawiasz to w ramach usługi, szczególnie w przypadku platformy Azure, ponieważ zamawiasz usługi HDInsight lub SQL jako usługa, jako platforma, twoje zwykłe narzędzia mogą nurkować tak głęboko, ponieważ tak naprawdę nie są tak chętni, aby spojrzeć na to, co jest pod maską. W ten sposób uzyskujesz pewien poziom lub głębokość, którą możesz monitorować i nagle nie widzisz za magiczną kurtyną. Czy samoobsługa jest rzeczą? Czy jest to tradycyjnie coś, co działałoby w centrum operacyjnym sieci, do którego dostęp mieliby tylko zespół techniczny, ludzie pod CIO, czy też jest to coś, co można zapewnić poziom dostępu użytkownikom końcowym? Może niekoniecznie recepcjonista i tradycyjni pracownicy HR i finansów, ale bardziej doświadczeni użytkownicy, którzy robią, wiesz, na przykład, jak naukowcy danych, aktuariusze, statystycy, ludzie, którzy wykonują naprawdę duże obciążenia. Czy to możliwe, że mogą uzyskać dostęp do pewnego rodzaju samoobsługowego dostępu, aby zobaczyć, co się dzieje, gdy uruchamiają te ciężkie zapytania i gdzie pojawia się ból, aby mogli dostroić sposób, w jaki działa ich obciążenie?

Bill Ellis: Bezpieczeństwo w Precise jest całkiem dobre, więc możesz skonfigurować użytkowników o różnych poziomach dostępu. Na bardzo podstawowych poziomach tylko kokpity zapewniają nadzór. A potem, jeśli ktoś chciał przejść do GUI eksperta, możesz w pewien sposób ograniczyć to, co jest w stanie zobaczyć i co może zrobić. W pewnym sensie powracając do poprzedniego pytania, że ​​wiesz, że w opiece zdrowotnej masz wszystkie prawa HIPAA, więc na pewno są pewne względy i istnieją pewne opcje wdrażania, abyśmy mogli pracować z nim w obu środowiskach. Jedną rzeczą, którą należy wziąć pod uwagę w przypadku danych, które widziałeś w tej prezentacji, są wszystkie metadane dotyczące wydajności, a nie zawartość tabel, wiesz, a więc to naprawdę, nie dostanie się do tego rodzaju obawy dotyczące prywatności.

Dez Blanchfield: Tak, podobało mi się to. Miałem chwilę eureki na temat czwartego lub piątego slajdu zrzutów ekranu i zdałem sobie sprawę, że po prostu poprawiasz wydajność, no nie tylko, ale pobierasz dane o wydajności, wyciągasz rzeczy, jak powiedziałeś, metadane z na różnych poziomach stosu, tak naprawdę nie patrzysz na treść. I myślę, że jest to interesująca rzecz, ponieważ jest to jedno z tych narzędzi, w których można albo wdrożyć go na krótki czas i sprawdzić, co dzieje się w środowisku, ale nie trzeba mieć dostępu do samych danych. Możesz nawet spojrzeć na sposób prowadzenia załóg. Chyba ostatnią rzeczą, po prostu szybko, a potem oddaję Ericowi, więc jeśli masz pytanie, to poproś Rebeccę, żeby to podsumowała. Wspomniałeś wcześniej, że koszty ogólne są nominalne, to przypadek, że nawet zauważalny narzut od strony monitorowania rzeczy i po prostu obserwowanie tła, czy jest to tak niewielka ilość narzutu, że po prostu nie warto go brać pod uwagę?

Bill Ellis: Tak, więc myślę, że na poziomie bazy danych każda technologia jest nieco inna. Na poziomie bazy danych Precise jest dość dobrze znane, by pokonać najniższy narzut. Na środkowym poziomie jest pewien rodzaj równowagi, wiesz, to nie jest tylko Precyzyjne, dotyczyło wszystkich pod względem widoczności i ogólnych kosztów. Jedną z rzeczy jest to, że oferujemy szereg wyrafinowanych narzędzi do kontrolowania kosztów ogólnych. Jesteśmy zaprojektowani do produkcji i, wiesz, zdecydowanie przydaje się stłumienie tylu problemów w rozwoju i kontroli jakości, ale wiesz, nie ma to jak wiedzieć, co dzieje się w produkcji.

Dez Blanchfield: Eric, do ciebie, masz jakieś ostatnie pytania?

Eric Kavanagh: Tak, powiem tylko, że uważam, że świetnie się spisałeś, wskazując, że kontekst jest naprawdę kluczem i to prawie tak, jakbyśmy przechodzili do ery Internetu rzeczy, chcesz wszystko oprzyrządować. I myślę, że teraz standardem w produkcji jest robienie tego, co jest dobrą wiadomością, prawda? Ponieważ chcesz mieć możliwość pobierania informacji ze wszystkich tych różnych środowisk i łączenia ich w całość. I chyba przekażę to tobie, aby uzyskać kilka komentarzy. To, na czym się skupiasz, to zapewnienie wizualnego interfejsu, za pomocą którego niektórzy analitycy, w zasadzie informatycy, mogą monitorować i analizować wydarzenia w tym złożonym środowisku, a następnie zastanawiać się, co zmienić. Ponieważ to nie tylko narzędzie. Musisz mieć narzędzie, ale potrzebujesz osoby, która zagłębi się w ten szczegół i znajdzie odpowiedzi, prawda?

Bill Ellis: Tak, wydaje mi się, że to gotowanie na szczyt i ustalanie priorytetów, gdzie jest największy wykup, wiesz? Jeśli okaże się, że jest inaczej, ponieważ nie każdy problem występuje w bazie danych. Jeśli wiesz, że baza danych działa w ciągu jednej dziesiątej sekundy, ale w warstwie aplikacji zajmuje to trzy sekundy, to właśnie tam jest największy wykup. W ten sposób można wyodrębnić warstwę problemu, a następnie to, co się dzieje w warstwie, aby naprawdę skupić się na tym, gdzie jest wykup. To naprawdę przyspiesza rozdzielczość i optymalizację aplikacji i jest o wiele szybsze, o wiele lepsze i o wiele fajniejsze niż ludzie zgromadzeni w sali konferencyjnej, mówiąc: „Cóż, to nie ja, to musi być ktoś inny”.

Eric Kavanagh: Zgadza się. Pewnego dnia widziałem świetnego mema, który powiedział coś w stylu: „Bądź informowany, a nie tylko opiniowany”. Wchodzisz na spotkanie, masz informacje, możesz wskazać dane. To jest klucz i docieramy, dzięki Bogu. Dobra ludzie, zamierzamy to zakończyć, ale archiwizujemy wszystkie te webcasty do późniejszego obejrzenia. Sprawdź to w dowolnym momencie. Wymieniamy teraz wszystkie nasze webcasty, serię Hot Tech i serię Briefing Room na Techopedia.com, więc wskocz do Internetu i sprawdź tych ludzi. Po tym pożegnamy cię. Dzięki za dzisiejszy czas, Bill. Dzięki tobie i całej twojej ciężkiej pracy, Dez. I porozmawiamy następnym razem, ludzie. Dbać. PA pa.

Aplikacja działa wolno? czas na precyzję