From kloczek@wun.zie.pg.gda.pl Fri Dec 16 00:01:58 2005 Path: news.gazeta.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail From: Tomasz =?UTF-8?Q?K=C5=82oczko?= Newsgroups: pl.comp.os.linux Subject: Re: =?UTF-8?Q?Warto=C5=9B=C4=87?= krytyczna dla "Load Average" Date: Thu, 15 Dec 2005 17:16:15 +0000 (UTC) Organization: CI TASK http://news.task.gda.pl/ Lines: 163 Message-ID: References: NNTP-Posting-Host: smtp.zie.pg.gda.pl Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: news.task.gda.pl 1134666975 8826 153.19.33.3 (15 Dec 2005 17:16:15 GMT) X-Complaints-To: abuse@news.task.gda.pl NNTP-Posting-Date: Thu, 15 Dec 2005 17:16:15 +0000 (UTC) X-Organization-Notice: Organization line has been filtered User-Agent: tin/1.7.9-20050629 ("Grimsay") (UNIX) (Linux/2.6.13-1.1603sp8smp (sparc64)) X-Original-Organization: CI TASK http://www.task.gda.pl/ Xref: news.gazeta.pl pl.comp.os.linux:1148006 Marcin Grajca wrote: > Tomasz Kłoczko in wrote: > >> Nie ma czegoś takeigo jak krytyczna wartość w sensie bezwzglednym. Możesz >> mieć np. prosty httpd którzy na każde połączenia otwiera osobny >> proces/wątek i load na pare tysiecy. Maszynka może spokojnie otworzyć >> kolejnych tysiące połączeń i nic nadal krytycznego się nie nie będzie >> dziać. W tym wszystki ważne nie jest wartość bezwgledna loadavag tylko >> zmiana charakterystyki tegoż co świadczy o zmianie (też charakterystyki) >> obciążenia jakiś zasobów (jakich to można się zorientować po innych >> parametrach dostępnych w systemie). > > Ok, na "top" widzę, że najwięcej zasobów procesora zużywa baza danych, > jednak nie zużywa całych, nawet wszystko co tam działa nie zużywa w danym > momencie całej mocy obliczeniowej. W vmstat z kolei przyrost jest tylko w > kolumnie "r" co by świadczyło, że właśnie na procesorze mu brakuje. > Pozornie więc są to sprzeczne dane. W atop to ja nie wiem w ogóle o co > chodzi, widczne są tam jakieś czasy w ms i w momencie "stresu" na pierwszym > miejscu jest nasza baza danych z dość dużymi tymi czasami SYSCPU koło 300ms > USERCPU grubo powyżej 4000 ms. Co jeszcze powinienem sprawdzić? Jak zdobyte > dane interpretować? Musisz wiedzieć, że: - to co widzisz w tym co wypisuje vmstat nie daje sie wprost powiązać z aktywnościa konkretnych procesów, - w Linuxie generalnie różne statystyki można w większości przypadkół (że tak sie wyraże) .. OKDR :-> To że widzisz jakąś aktywność w okolicach jakiś zasobów nie znaczy że łatwo/prosto dojdziezsz do tego co to zajmuje/wysyca. W przypadku Linuxa tego typu diagnostyka jest bardzo silnie oparta na doświadczeniu każdego administratora które to doświadczenia dodatkowo szybko musza się zmienia w czasie bo sam system ciągle ewoluuje :> Na marginesie nieco .. żebyś nieco szersze rozeznanie w pewnych rzeczach .. *Linux nie jest w żaden sposób nowatorskim systemem*. Gdyby nie to, że ma on dość długą listę sprzętu który wspiera i że był on swego czasu pierwszym w sumie systemem który był dosŧępŧepny za darmo (chodzi o opłaty licencyjne) to w zasadzie nie miałby szans wskoczyć w miejsce jakie obecnie na rynku zajmuje. Do tego wszystkiego system ten rozwija się w sposób chaotyczny pod dyktando tych osób którym chce się coś w nim zrobić. Nie ma tu żadnego planowania. Skutek jest taki, że lista rzeczy jakie wspiera i poziom tego wsparcia nie są zdeterminowane tym czego oczekują od tego systemu jego użytkownicy tylko to co zrobią w nim osoby które zrobia jakąś poprawkę. Skutek jest właśnie taki, że wszelkiego rodzaju rzeczy które wpływają na twz. observability/measureability (obserwowalniość/mierzalność) są albo tylko szczątkow albo są źle zaimplemetowane, a najgorszym przypadku .. wogóle nie są obecne w tym systemie :> [1]. Dopiero w ciągu ostanich miesięcy wuidać na kernel-list gryupy patchy które wprowadzają potrzebna tu infrastruktórę lub poprawiają to co jest tu skopane (od lat). Najczęściej stan skopania jest taki że komukolwiek kto ma troche czasu wolnego po zapoznaniu się z tym jaki jest stan danego kawałka kodu .. bardzo szybko odechciewa się inwestowania czasu w potrzebne poprawki. Dodatkowo w przypadku ludzi którym nic za takie porawki nikt nie płaci musza się przebić przez częśto idiotyczne dyskusje o wyższości świat "Bożego Narodzenia" nad "Świetami Wielkanocy" (czy też tym "kto ma większego" :>). Żeby było jeszcze "lepiej" sam Linus w tym wszystki często pełni wręcz rolę destrukcyją (patrz np. flame'y o driwerze SAS czy ogólnie podsystemie SCSI, czy choćby z przed ostatnich kilku dni "dyskusja" o zastapieniu do nieczego się nie nadającą generyczną infrafruktórą do driverów WiFi). "Linux (w kolejnej swojej wersji np. 2.6.x) is like box of chocolade" Po pojawianiu się kolejnej wesji nigdy nie było wiadomo czego można się spodziewać w kolejnej wersji (sam Linus jakoś nie widział najmniejszej potrzeby wyłozenia w kilku zdaniach tego co chciałby najpierw wprowadzić, a co inni mu podrzucili). Tak jak napisałem powyżej sytuacja zmienia się ostatnio nieco .. ale właśnie .. w jakim kierunku ? Ano w takim że takie porawki biorą się ludzie którym płaci się za wykonanie takich rzeczy i którzy za wprowadzenie tego kodu do drzewka Linus są w swoich firmach rozliczani. Jest im łatwiej bo za nimi stoi IBM czy inna większa firma której to zignorowanie przedstawiciela na forum publicznym byłoby "conajmniej dziwnym krokiem". Skutek jest tego wszystkiego dwojaki: - pewne rzeczy/podsystemy w Linuxie poprawiają swoją jakość w sposób znaczny, - jednocześnie Linux jako taki (jądro i okolice) nie zmienia sie już od lat w coraz mniejszym stopniu pod dyktando ludzi którzy mają talent/wolny czas/umiejętności/wiedze, a w coraz wiekszym stopniu jest to już tylko jest to publicznie dostępna "placówka" developerska wielu firm. Mówiąc inaczej: w swerze rozwoju Linux coraz mniej jest "free". Do tego ilość kodu kernela rośnie bardoz szybko. Kolejne generacje młodych ludzi mają z tego powodu cora trudniejszą drogę w dotrciu do punktu w którym ten kod będą na tyle rozumieć zeby móc go zmieniać. W przypadku np. patchy do generycznej infrastróktóry do statystyk (dwa dni temu się coś takiego pojawiło na lklm) powyższe ma skutek pozytywny bo coś takeigo to było i jest nadal standardem w komercyjnych Unixach (AIX, Solaris, HPUX czy inne). W związku z tym że ludzie z np. IBM (człowiek który robi gen. infrastróktórę do statystyk jest z IBM) mają dosŧęp do źródeł AIXa i mają podniesiony szlaban na migrację wielu rzeczy z tego systemu do Linuxa, to zagrożenia nieporawną koncepcją rozwiązania jest małe. W związku z tym że tacy ludzie nie są hobbystami tylko profesjonalistami którzy kodem źródłowym zagryzają do śniadania zagrożenie co do nieporawnej implemtacji jest też relattywnie małe. Rzecz ma się zupełnie inaczej w przypadku rzeczy nowych jak np. analog DTrace z Solarisa czyli systemtap czy zmiany do wirtualizacji jak XEN czy też to co pojawiło sie dzisiaj na lkml z rozwiązaniem bardzo podobnym do Zoningu z Solarisa. O takich nowinkach jak np. ZFS juz nie ma co wspominać. Po mimo tego że źródła Solka są dosŧępne publicznie i można na nie choćny patrzeć żeby przynajmniej nie robić błędów na jakie po drodze nadziano się przy pracy nad tym systeme (już tylko błedów koncepcyjnych). Mówiąc inaczej .. nad Linuxem moim zdaniem i nie tylko moim zbiera się coraz więcej ciemnych chmur. Jedna z kolejncyh to choćby kilka dni temu opublikowany project Janus. Jest to rozwiązanie dla Solarisa powodujące że w zonie (wydzielonym autonomicznym jakby oddzielnym środowisku systemowym) można wprost uruchamiać *całe* user space. Niby to nic ale każdy kto będzie miał pracować nad jakąś aplikacją dla Linuxa za kawałek zapewne będzie coraz częściej osadzał właśnie w zonie Solarisa po to żeby choćby przy tej pracy móc skorzystać z DTrace, którym bedzie mógł operować na tworzoncyh aplikacjach. Jak już się do tego przyzwyczai i stwierdzi że SystemTap z Linuxa jest o lata świetlne za DTrace z Solka i że ludzie którzy to coś implementują w sporej ilosci przypadków wykazują się sporym brakiem patrzenia na to z czego mogą w sporej ilości ściągać, a przy tym dotadkowo popełniając sporo błędów (już tylko) koncepcyjnych to zaczną się zapewne zastanawiać coraz cześciej zadajac sobie pytanie "a po co wogóle muszę korzystać na produkcji z Linuxa skoro w Solku coś porostu .. działa 8-> ?". Inna chmurka to w sumie całe X11 które jest jedna z największych przeszkód w tym żeby Linux mógł zaistnieć na desktopie w pewnej zadowalającej masie krytycznej. Na ten temat trzebaby gadać dłuże .. ale przyjimij do wiadomości że X11 nie zmieniło się neimal wcale od ponad 15tu lat (mowa o koncepcji). Niektóre rzeczy w kodzie z X.org są tak stare że nie ma już ludzi którzy by pamietali o co w jakimś kodzie chodzi czy też o co miało chodzić w kwestji jego dalszego rozwoju. Całe X11 stopniem skomplikowania IMO przwewyższa np. kernel (jak ktoś nie wierzy to polecam przejrzenie kodu do obsługi XKB, którego autorowi udała się sztuka porawnej implemetacji w możliwie minimalnej ilości kodu .. który to kod obsługuje na tyle dużo rzeczy jednoscześnie że juz samo przegryzienie się przezeń to wielka sztuka (a gdzie tu mysleć żeby dalej to rozwijać pewne tegoż koncepcje czy też zmianiać to zatępujac to czymś innym ?). Inaczej .. juz tylko z tego powodu szanse na wypromowanie desktpu na Linuxie czy jakimkolwiek innym systemie używającym X11 w obecnej formie są bliskie zera (15 lat temu nie istniały jeszcze niemal wogóle koncepcje współczesnych desktopów jakie są obecnie dosŧępne w postaci Win czy np. Mac OSX). Podsumowując .. masz spore szansę że przy braku doswiadczenia i bliskiej osoby która mogłaby Ci wprost pomóc patrząc na Twoj system wprost _nie_ udało Ci się rozwiązać jakiegoś problemu wydajnościowego. Masz nieco większe szanse jeżeli np. tu swoje problemy o ile będziesz "oblepiea" to wszystko danymi jakie możesz wyciągnąć z np. top, vmstat czy innych rzeczy. Rozmowa bez tych "rzeczy" jest mało atrakcyjna dla tych którzy w tym czymś potrafią coś dostrzeć podpierając się własną wiedzą praktyczną. kloczek -- ----------------------------------------------------------- *Ludzie nie mają problemów, tylko sobie sami je stwarzają* ----------------------------------------------------------- Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek@rudy.mif.pg.gda.pl*