Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Podobne dokumenty
Projektowanie i implementacja wysokowydajnych aplikacji w języku

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Tworzenie aplikacji bazodanowych

Opis specjalności. Zajęcia obejmować będą również aspekty prawne dotyczące funkcjonowania sieci komputerowych i licencjonowania oprogramowania.

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Skalowalne aplikacje internetowe wysokiej dostępności

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Wynajem infrastruktury serwerowej

Embedded Embedded Systems Arc hitecture System Performance

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Monitorowanie aplikacji i rozwiązywanie problemów

Monitorowanie wydajności

Need for speed. Kliknij, aby edytować style wzorca tekstu jak sobie radzić z dużą ilością użytkowników i danych

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Sprawa numer: BAK.WZP Warszawa, dnia 16 sierpnia 2016 r.

Fakty i mity badania wydajności systemów. Piotr Ślęzak

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

Programowanie współbieżne Wykład 2. Iwona Kochańska

Usługa: Testowanie wydajności oprogramowania

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Systemy macierzowe. www. qsantechnology. com

Optymalizacja programów Open Source. Krzysztof Lichota

Macierze All Flash. Czy to jest alternatywa dla macierzy klasy Enterprise? Krzysztof Jamiołkowski HP EG Storage Solutions Architect

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Monitorowanie wydajność w bazie Oracle11g

Karta produktowa serwera dedykowanego R710/ E 5620

Fundusze Europejskie dla rozwoju innowacyjnej gospodarki. Inwestujemy w Waszą przyszłość. Zapytanie ofertowe

Budowanie tanich, wysoko wydajnych i wysoko dostępnych systemów pod Linuksem Mariusz Droździel Październik 2009

Wirtualizacja desktopów i aplikacji.

TABELA PORÓWNAWCZA OFEROWANEGO SPRZĘTU

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Welcome to the waitless world. Inteligentna infrastruktura systemów Power S812LC i S822LC

Uslugi chmurowe dla nauki na podstawie BonFIRE

OPIS PRZEDMIOTU ZAMÓWIENIA

Narzędzia zarzadzania i monitorowania w systemach Linux

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Wysokowydajny system składowania plików graficznych ze zdjęciami użytkowników portalu. Tomasz Paszkowski

PARAMETRY TECHNICZNE OFEROWANEGO SPRZĘTU

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Dane bezpieczne w chmurze

Wirtualne systemy dyskowe na platformie OpenStack (KVM) Tomasz Paszkowski PLNOG 2012 Warszawa r.

Serwer biznesowy o podwójnym zastosowaniu moc obliczeniowa i pamięć masowa w jednej obudowie

Załącznik nr 3 do SIWZ DZP /2009-II

Wszyscy Wykonawcy. Czy Zamawiający dopuści serwer, który ma możliwość rozbudowy o 16 dysków 2,5" po odinstalowaniu napędu DVD-RW?

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Część V - Serwery. UWAGA! Część V stanowi nierozerwalną całość. Ocena będzie łączna dla 4 zadań. Zadanie nr 1. SERWER BAZODANOWY KWESTURA

Axence nvision Nowe możliwości w zarządzaniu sieciami

Nowoczesny dział IT w chmurze

Szkolenie: Testowanie wydajności (Performance Testing)

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Piotr Bubacz Cloud Computing

2014 LENOVO INTERNAL. ALL RIGHTS RESERVED

GOZ /15 Warszawa, dnia r. WYKONAWCY

Analiza porównawcza wybranych własności systemów zarządzania bazami danych

OFERTA na dostawę sprzętu komputerowego dla Centrum Astronomicznego im. M. Kopernika PAN

Galileo - encyklopedia internetowa Plan testów

... Podpis osoby - osób upoważnionych do składania oświadczeń woli w imieniu wykonawcy

OPIS PRZEDMIOTU ZAMÓWIENIA - PAKIET 6 specyfikacja techniczna

Wirtualizacja baz danych a Dynamic Memory. Cezary Ołtuszyk coltuszyk.wordpress.com

Rodzaje pamięci masowych by Silas Mariusz

Porównanie wydajności popularnych skryptów forów internetowych vol. 2

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Portal Security - ModSec Enterprise

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Architektura komputerów

Bezpieczeństwo dla wszystkich środowisk wirtualnych

Infrastruktura jako fundament efektownego gromadzenia, przechowywania i zarządzania danymi

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Fujitsu World Tour 2019

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Przyspiesz swój biznes i obniż koszty dzięki IBM FlashSystems. Artur Król Artur.Krol@pl.ibm.com Senior Storage Sales Consultant

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. Klastry serwerów

Architektura tradycyjna vs. architektura w chmurze

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Warszawa, dnia r.

SYSTEMY INFORMACJI PRAWNEJ LEX i ABC - WYMAGANIA TECHNICZNE. SYSTEMY INFORMACJI PRAWNEJ LEX i ABC. WYMAGANIA TECHNICZNE ver. 1.11

Administracja systemu Unix INE3309 Spotkanie 2

Audyt oprogramowania. Artur Sierszeń

Systemy operacyjne semestr I

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Skalowanie i monitorowanie działania systemu dlibra 5.0

Wykaz oferowanego sprzętu komputerowego i oprogramowania podstawowego

Zakup wartości niematerialnej i prawnej związanej z wytworzeniem serwera telekomunikacyjnego Call-eX poprzez zastosowanie innowacyjnych rozwiązań

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Zarządzanie infrastrukturą serwerów Blade

PRZEWODNIK PO PRZEDMIOCIE

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

2. Jakie i ile licencji Oracle 10g posiada zamawiający i czy posiada do tych licencji wsparcie techniczne?

Architektura mikroserwisów na platformie Spring IO

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Wymagania techniczne. Serwer bazy danych dla KRK szt. 2. Oferowany model.. Producent..

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Tom II: SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ): Przedmiotem zamówienia jest dostawa sprzętu infrastruktury serwerowej i sieciowej.

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Katalog handlowy e-production

Infrastruktura jako fundament efektownego gromadzenia, przechowywania i zarządzania danymi#

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Oferta dysków twardych WD do centrów danych Ewolucja dysków o dużej pojemności

Transkrypt:

Wydajny Linux Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Po co analizować wydajność? redukcja kosztów, poznanie limitów systemu operacyjnego, eliminacja wąskich gardeł.

Jak system wpływa na wydajność?

Nasz świat jest skomplikowany

Od czego zależy wydajność aplikacji? CPU RAM I/O dyski twarde połączenie sieciowe Inne aplikacje (np. baza danych)

Monitorowanie wydajności

Monitorowanie - podstawowe narzędzia top uptime mpstat iostat vmstat free

uptime - average load 1, 5, 15 minut, zlicza wątki gotowe, wykonywane + czekające na I/O

top

htop - top na sterydach

mpstat - znajdź nierównomierny rozkład

iostat - sprawdźmy dyski!

free

nicstat

vmstat

netstat

tcpdump

iptraf

iperf

iftop

Dodatkowe narzędzia monitorix munin cacti zabbix / nagios wszystko co umie rysować wykresy, bo wykresy są fajne ;)

Testowanie aplikacji Obciążenie jmeter gatling locust.io Profilowanie perf callgrind (vallgrind)

Jak zabrać się za identyfikowanie problemów z wydajnością?

Analiza wydajności obciążenie aplikacji, sprawdzenie CPU, I/O, zajętości RAM, komunikacji sieciowej, poprawa konfiguracji usług pośredniczących, analiza kodu aplikacji, profilowanie wnioski? skalowanie pionowe/poziome, przebudowa projektu :<

Co poprawić w Linuksie? modyfikacja parametrów jądra systemu operacyjnego jest kompletnie niezalecana, monitorowanie wydajności pozwala na identyfikację problemów, ale nie wyeliminowanie ich, większość problemów sprawia nasza aplikacja!

Gdzie szukać problemów? W przypadku aplikacji webowych najczęstszym (według mojego doświadczenia) problemem jest komunikacja z bazą danych. Zapytania realizowane przez aplikację (często przy pomocy ORM) są nieoptymalne, zakładają bardzo dużo zamków i utrudniają współbieżność. Jeżeli Twoja aplikacja ma problem z CPU, a nie z I/O, to masz niesamowite szczęście!

Bazy danych - co jest ważne? Bazy danych są bardzo wymagające pod względem zasobów. Pożądane zasoby to: pamięć operacyjna, IOPS

Bazy danych - co robimy z RAM? im więcej RAMu tym lepiej, dostosowanie konfiguracji SBD do dostępnych zasobów, parametry związane z buforami, cache, itd http://pgtune.leopard.in.ua/ https://github.com/tdi/postgres-config

Bazy danych - co z dyskiem? Zwiększyć liczbę dostępnych IOPSów można przez: wykorzystanie szybszych dysków (SAS, SSD) budowanie macierzy RAID pod kątem wydajności lub jeżeli to chmura - przesunąć suwak i zapłacić więcej ;)

Redukcja obciążenia Read replica - kierujemy odczyty na inny serwer HTTP cache - stawiamy Varnisha i oszukujemy naszych użytkowników memcache - dodajemy do aplikacji możliwość zapamiętywania niektórych operacji w pamięci operacyjnej serwera www optymalizacja zapytań!

Read replica

Inne problemy wydajnościowe sieć komputerowa (infrastruktura, przepustowość) tworzenie zbyt dużej liczby wątków (narzut związany z przełączeniem kontekstu) + konfiguracja workerów php/uwsgi/etc., obciążenie pamięci operacyjnej zbędnymi bibliotekami, wycieki pamięci.

Dodatkowe metody Skalowanie poziome, czyli dorzucanie kolejnych węzłów aplikacyjnych. Wymaga przemyślanej architektury aplikacji.

Load balancing Dla HTTP: nginx haproxy Ogólne: clusterip lvs

Content Delivery Network

Podsumowanie

Podsumowanie system operacyjny dostarcza nam narzędzia pozwalające na identyfikację problemów wydajnościowych, moc obliczeniowa zazwyczaj nie jest najważniejszym problemem, aplikacje powinniśmy projektować z myślą o skalowaniu poziomym, czasami warto odciążyć naszą infrastrukturę (CDN), zwiększenie dostępnych zasobów nie jest lekiem na całe zło ;) unikaj SOAP, konsola jest fajna!

Koło Naukowe Sieci Komputerowych i Systemów Rozproszonych https://dsg.cs.put.poznan.pl/wiki/ Spotkania w środy, 18:30

Dziękuję za uwagę! Pytania? ;)