Temat: Darmowy monitoring strony - czy użyteczne?

Chciałabym przedstawić projekt do którego przyłożyłam rękę i wydaje mi się, że będzie idealny na pierwsze kroki w Internecie. Projekt nazywa się czysiekreci.pl i ma za zadanie monitorować stabilność/dostępność strony www.
Monitoring jest zupełnie za darmo. W zamian, prosiłabym tylko o informację zwrotną o jego użyteczności - czy jest dla Was przydatne? Co byście zmienili? Co dodali?
Dominik K.

Dominik K. designer & developer

Temat: Darmowy monitoring strony - czy użyteczne?

Nie używam takich rzeczy, i nie czuję potrzeby, ale pracowałem kiedyś przy identycznym projekcie rodem z Holandii - Monitor Only i wiem, że było zapotrzebowanie na takie narzędzie. Rozmawiając o projektach mobilnych, dzieląc się swoimi doświadczeniami przy tego typu projektach mam takie rozeznanie głównie wśród programistów i inżynierów, że to ciekawy pomysł na usługę w Polsce i ludzie chcieli jej używać na co dzień przynajmniej te 5 lat temu tak było. Nie wiem po co, może do monitorowania domeny swego bloga, nie wiem :P.
Wtedy też Monitor Only opierał się na natywnej aplikacji mobilnej, co chyba ma tutaj największy sens, właśnie dlatego, że można był osobie ustawić monitoring domeny w telefonie i go kontrolować aplikacją. Usługa rozwinięta zarówno na platformie iOS i Android, Windows Phone był jeszcze ultra niszową sprawą, zresztą do dziś się chyba niewiele w tej kwestii zmieniło.

Więc co bym dodał? no własnie to - możliwość ściągnięcia darmowej apy z usługą monitorowania domen i oczywiście ukrytymi funkcjami premium po wykupieniu pakietu. Atrakcyjniejszą alternatywą SMSów będą powiadomienia "push", opcjonalnie smsy dla starszych urządzeń.

Czy na tej usłudze da się zarobić? Nie sądzę, mało kto wykupi usługę premium, bo ona dobra jest dla jakiś pojedynczych geek'ów i co najwyżej odbiorców reklam. A duże firmy moim zdaniem będą inwestować w monitoring, ale marki, procesów reklamowych, coś co robi np. Brand24.
Ale to moja subiektywna opinia. Ten post został edytowany przez Autora dnia 14.06.16 o godzinie 19:07

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Takich narzędzi jest dość sporo i każdy szanujący się administrator takowe posiada w arsenale. Plusem zewnętrznych narzędzi jest to że często dają info o dostępności, czasie odpowiedzi itp z różnych punktów świata. Monitorowanie z drugiego serwera w samej serwerowni nie ma sensu bo padnie jakieś urządzenie po drodze i wewnątrz sieci wszystko będzie śmigać a na zewnątrz ni hu hu.

Więc potrzeba jest. Ale też konkurencji nie brakuje.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

W sieci jest wiele tego typu serwisów, gdzie można sobie za darmo sprawdzić szybkość ładowania strony, RWD, SEO i inne rzeczy, z dość szczegółowymi wynikami co jest dobrze a co wymagałoby poprawy a gdzieś na dole jest często oferta poprawy przez ekspertów, oczywiście za kasę. Tyle jeśli chodzi o model biznesowy i możliwość zarabiania. Braliście to pod uwagę?

We wszystkich aplikacjach które napisałem przy użyciu frameworka w PHP mam możliwość kontroli tego w jakim czasie i co się wykonuje (np. zapytania do bazy danych) i jak dużo pamięci i co zużywa, w ekstra opcji można dość prosto zrealizować taki automatyczny raport wysyłany na skrzynkę mailową developera.

Zarejestrowałem się w przedstawionym tu serwisie żeby to sprawdzić ale na razie to widzę że jest jeszcze dużo pracy nad tym serwisem ale powodzenia :-)Ten post został edytowany przez Autora dnia 15.06.16 o godzinie 12:52

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Podkreślę słowa przedmówcy, praktycznie w każdym framework-u istnieje debuger. A co za tym idzie, określanie szybkości ładowania na profesjonalnych stronach jest niepotrzebne. Jeśli już to takie usługi należy kierować do mniejszych klientów. Takich którzy mają strony wykonane na CMS-ach typu Joomla/Wordpress, lub jakichś innych rozwiązaniach nieopartych na framework-ach. Ale tego jest coraz mniej, chociaż akurat szkolenia Wordpress mają się dobrze.

Bardziej celowałbym w badanie samej dostępności, bo to jedyne zagadnienie które trzeba badać zewnętrznym narzędziem.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Tego typu narzędzia są bardzo potrzebne. Zwłaszcza, jeśli klientowi trzeba trzeba przedstawiać raporty SLA z dostępności systemu.

To prawda, że jest ich sporo w sieci. W tej chwili używam Uptime Robot-a i bardzo sobie go chwalę.

Z miłych dodatków widziałbym nie tylko sprawdzanie dostępności, ale również analizę tego co jest sprawdzane i co przychodzi w odpowiedzi. Wiele systemów i frameworków ma wystawione API z różnymi metodami diagnostycznymi. Ot choćby z ilością miejsca na dysku. Oprócz więc sprawdzenia, że URL jest dostępny można w odpowiedzi dostać np. informację (w JSON) o stopniu zajętości dysku i alarmować, jeśli procent ten przekroczył ustalony próg.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Dawid Z.:
Podkreślę słowa przedmówcy, praktycznie w każdym framework-u istnieje debuger. A co za tym idzie, określanie szybkości ładowania na profesjonalnych stronach jest niepotrzebne. Jeśli już to takie usługi należy kierować do mniejszych klientów. Takich którzy mają strony wykonane na CMS-ach typu Joomla/Wordpress, lub jakichś innych rozwiązaniach nieopartych na framework-ach. Ale tego jest coraz mniej, chociaż akurat szkolenia Wordpress mają się dobrze.

Bardziej celowałbym w badanie samej dostępności, bo to jedyne zagadnienie które trzeba badać zewnętrznym narzędziem.

Dopóki nie musisz sprawdzać czasu odpowiedzi serwerów w Australii w celu określenia się czy nie trzeba postawić czegoś bliżej nich. Swoją drogą wewnętrzny debugger to marne narzędzie bo samo generuje narzut (i to dość spory).

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

To o czym pisałem to się nazywa profiler. Pomiar i zbieranie statystyk co i ile się wykonuje i co i ile zużywa pamięci. Łatwo się więc przekonać co jest wąskim gardłem w aplikacji i co warto optymalizować a co nie (o ile jest to potrzebne). Łatwo sobie np. sprawdzić ile czasu zajmie pobranie jakichś danych JSON, z jakiegoś zewnętrznego API a ile to zajmuje, jeśli się zrobi cache na tych danych.

Niektóre strony się np. ładowały bardzo powoli i zanim cokolwiek się pojawiło w przeglądarce to minęło kilka sekund. OK, spoko, można sobie zrobić pomiar jakimś zewnętrznym narzędziem, tylko co to tak naprawdę pomoże?

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Ważne komu ma służyć pomiar, nam samym czy np. klientowi.
Bo jeśli miałbym dostarczać klientowi wiarygodne dane uzyskane moim monitorem, to po co monitor. Lepiej od razu pisać, że system był w 100% dostępny i szybki.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Dariusz R.:
To o czym pisałem to się nazywa profiler. Pomiar i zbieranie statystyk co i ile się wykonuje i co i ile zużywa pamięci. Łatwo się więc przekonać co jest wąskim gardłem w aplikacji i co warto optymalizować a co nie (o ile jest to potrzebne). Łatwo sobie np. sprawdzić ile czasu zajmie pobranie jakichś danych JSON, z jakiegoś zewnętrznego API a ile to zajmuje, jeśli się zrobi cache na tych danych.

Niektóre strony się np. ładowały bardzo powoli i zanim cokolwiek się pojawiło w przeglądarce to minęło kilka sekund. OK, spoko, można sobie zrobić pomiar jakimś zewnętrznym narzędziem, tylko co to tak naprawdę pomoże?

To że będę wiedział że w danym regionie dostępność usługi jest bardzo kiepska gdzie w innej lokalizacji nie ma takiego problemu i to mi zasugeruje że powinniśmy tam uruchomić dodatkowe serwery lub przynajmniej CDN. Zupełnie inna skala problemu niż to że ktoś walnął nieoptymalne zapytanie które wykonuje się 400ms zamiast 4ms.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Dariusz P.:

... Swoją drogą wewnętrzny debugger to marne narzędzie bo samo generuje narzut (i to dość spory).

Nie zgodzę się, zauważ że jestem też mikroprocesorowcem-elektronikiem a nie tylko programistą. Zawsze masz narzut gdy współdzielisz rdzeń procesora. W dodatku gdy badasz coś przez sieć to masz opóźnienie sieci które nie jest stałe w czasie. Wniosek - zawsze jest narzut a przez sieć nie da się go dokładnie określić.

Problem pomiarów wydajności jest bardzo skomplikowanym zagadnieniem. Do testowania dużego obciążenia są specjalne narzędzia. Nie pamiętam jak się nazywają ale chodzi mi chociażby o ten program do generowania zapytań do Apache. Jak zrobisz tysiące zapytań z localhosta na przestrzeni kilku minut to masz dopiero w miarę wiarygodny wynik. Eliminujesz w ten sposób losowe procesy systemu i innych daemonów (zakładając ze serwer to Linux). Jest to jedyny sposób poprawnego wyznaczania wydajności.
Wewnętrzny debugger frameworka służy bardziej do oceny czasochłonności poszczególnych procesów. Najbardziej wrażliwa jest baza danych, bo w niej występują tzw blokady. I już samo spojrzenie w wykres poszczególnych procesów generacji podstrony, pokazuje że trzeba np zoptymalizować zapytania MySQL.
Nie rozumiem też twierdzenia że wewnętrzny debugger daje spory narzut. Prawidłowo działający powinien pobrać znacznik czasu przed wykonaniem każdej partii kodu. W ten sposób wyeliminowałby czas potrzebny na procesy debugowania. Nawet nie zwróciłem uwagi jak to wygląda w Symfony2, ale jest tam podział na oddzielny czas inicjalizacji. Podobnie jak i czas trwania np kontrolera i generacji szablonu. Tyle że jest to niewiele warte przy pojedyńczym wywołaniu, bo nie ma tam wydzielonych wątków procesora. A właśnie wokoło tego wydajność się kręci.Ten post został edytowany przez Autora dnia 22.06.16 o godzinie 22:44

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Jest taki program Pylot, napisany w pythonie który służy do badania stron www, otrzymuje się wynikowy raport w postaci HTML, z pomiarem jaki jest np. średni czas odpowiedzi i ile jest żądań na sekundę. I są też wykresy. Tylko nie wiem na ile to wiarygodne narzędzie, mam internet mobilny, sprawdzałem, wychodziło np. średnio 20 requestów na sek przy 10 wirtualnych użytkownikach, test na HSPA+, strona na hostingu współdzielonym. Nawet można ustawiać w testcase więcej niż jeden URL, więc można sobie sprawdzać i konkretne podstrony i która najwolniej a ktora najszybciej się ładuje.

Co do profilera, użycie funkcji microtime przed i po wykonaniu czegokolwiek i zapis tego typu pomiarów do tymczasowego cache, na bazie tego są statystyki. Gdzie tu może być narzut? Bardzo fajne i przydatne narzędzie, bo dobrze też widać ile można zyskać wykorzystując cache.

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Nie zgodzę się, zauważ że jestem też mikroprocesorowcem-elektronikiem a nie tylko programistą. Zawsze masz narzut gdy współdzielisz rdzeń procesora. W dodatku gdy badasz coś przez sieć to masz opóźnienie sieci które nie jest stałe w czasie. Wniosek - zawsze jest narzut a przez sieć nie da się go dokładnie określić.

Tyle że Twoje wewnętrzne narzędzia wpływają na wyniki rzeczy które sprawdzają przez samo działanie. I nie jest to 1-2% ale 10-20% a czasem więcej. W zależności od technologi, użytych narzędzi, ilości informacji jakie zbierasz itp. Testując system z zewnątrz, symulując użytkownika dostajesz faktyczne dane.
Problem pomiarów wydajności jest bardzo skomplikowanym zagadnieniem. Do testowania dużego obciążenia są specjalne narzędzia. Nie pamiętam jak się nazywają ale chodzi mi chociażby o ten program do generowania zapytań do Apache. Jak

Pewnie Ci chodzi o wynalazki jak jMeter, Apache Benchmark (sławne AB) itp. Muszę Cie rozczarować, są kompletnie niemiarodajne. Miałem okazję porównać wyniki testów z wykonaniem podobnych narzędzi a testem który został wykonany przez firmę która nam wygenerowała ściśle określony ruch z całego globu, z dziesiątek tysięcy maszyn jednocześnie.
zrobisz tysiące zapytań z localhosta na przestrzeni kilku minut to masz dopiero w miarę wiarygodny wynik. Eliminujesz w ten sposób losowe procesy systemu i innych daemonów (zakładając ze serwer to Linux). Jest to jedyny sposób poprawnego wyznaczania wydajności.

Problem jest właśnie taki że to są tylko tysiące zapytań tylko z localhosta. Robisz je z maszyny na której masz appkę, nie masz opóźnień, procesy apache czy co tam używasz za serwer trwają o wiele krócej itp. Przechodzisz na większą skalę i się okazuje że taki test można do kosza wyrzucić bo różnica kilkuset kilkudziesięciu milisekund (lub kilkuset) sprawia że apache ma jednocześnie dużo więcej połączeń otwartych, dużo więcej jednoczesnych requestów niż przy lokalnym teście i tym sposobem Twoje serwery padają jeden po drugim.

Lokalnie oczywiście wszystko OK bo apache mógł szybciej zamykać połączenia od "użytkowników".
Wewnętrzny debugger frameworka służy bardziej do oceny czasochłonności poszczególnych procesów. Najbardziej wrażliwa jest baza danych, bo w niej występują tzw blokady. I już samo spojrzenie w wykres poszczególnych procesów generacji podstrony, pokazuje że trzeba np zoptymalizować zapytania MySQL.

I to Ci nic nie da. Bo samo zapytanie może być świetnie napisane i wykonywać się w 0.004ms ALE w momencie kiedy mysql dostanie obciążenie to będzie się wykonywać 0,5s i... A obciążenie pojawi się nie z aplikacji ale np z tego co opisywałem wcześniej - faktu że apache trzyma więcej procesów otwartych jednocześnie w porównaniu do lokalnego testu.
Nie rozumiem też twierdzenia że wewnętrzny debugger daje spory narzut. Prawidłowo działający powinien pobrać znacznik czasu przed wykonaniem każdej partii kodu. W ten sposób wyeliminowałby czas potrzebny na procesy debugowania. Nawet nie zwróciłem uwagi jak to wygląda w Symfony2, ale jest tam podział na oddzielny czas inicjalizacji. Podobnie jak i czas trwania np kontrolera i generacji szablonu. Tyle że jest to niewiele warte przy pojedyńczym wywołaniu, bo nie ma tam wydzielonych wątków procesora. A właśnie wokoło tego wydajność się kręci.

Po prostu on Ci da info że lokalnie kawałek kodu wykona się tak i tak ale nic Ci to nie da bo system zachowa się zupełnie inaczej pod obciążeniem.

Zewnętrznych narzędzi nie zastąpisz lokalnym debuggerem. Nigdy.Ten post został edytowany przez Autora dnia 24.06.16 o godzinie 09:14

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

Dariusz P.:

Tyle że Twoje wewnętrzne narzędzia wpływają na wyniki rzeczy które sprawdzają przez samo działanie. I nie jest to 1-2% ale 10-20% a czasem więcej. W zależności od technologi, użytych narzędzi, ilości informacji jakie zbierasz itp. Testując system z zewnątrz, symulując użytkownika dostajesz faktyczne dane.

Mylisz się, po to jest tzw znacznik czasu, aby pomijać cykle procesora marnowane na zadania poboczne. Oczywiście powstaje jakaś niedokładność spowodowana chociażby niedokładnością zegara. Bo trzeba pamiętać że jeden takt typowego procesora to tylko 0,33ns. Ale to akurat niedokładność dwukierunkowa.
Powstają też cykle dodatkowe pomiędzy pobraniem znacznika czasu, jego zapisaniem a uruchomieniem kodu i powtórnym pobraniu wskaźnika. Ale nie jest to 10% jak piszesz ale najprawdopodobniej poniżej 1%. Kluczowy jest tutaj pomiar czasu i czasochłonność testowanej próbki kodu.
Na marginesie polecam ciekawy i szokujący artykuł o dokładności zegarów elektronicznych napisany przez doświadczonego elektronika: http://mikrokontrolery.blogspot.com/2011/04/stopery-ti...

Możliwe że miałeś potężne przekłamania pomiarów. Ale moim zdaniem było to spowodowane zupełnie czym innym. Otóż współczesne komputery są tak przekombinowane że już ciężko się połapać w jaki sposób działają.
Przykładem niech będzie tryb turbo, który wchodzi już masowo do komputerów osobistych. Zdaje się że działa to na zasadzie zmiany częstotliwości zależnie od zapotrzebowania na moc obliczeniową. Jak masz doświadczenia z testów na takim procesorze to się nie dziw że były różnice 20%.
A powód stosowania trybu turbo jest prosty. W technologi wykonania elektroniki CMOS, układy zużywają prąd niemal wyłącznie na zmianę stanu. Czyli zmniejszając taktowanie o np 25% zmniejsza się o podobny procent nie tylko zużycie energii, ale i wytwarzanie tak wrogiego ciepła.
Pewnie Ci chodzi o wynalazki jak jMeter, Apache Benchmark (sławne AB) itp. Muszę Cie rozczarować, są kompletnie niemiarodajne. Miałem okazję porównać wyniki testów z wykonaniem podobnych narzędzi a testem który został wykonany przez firmę która nam wygenerowała ściśle określony ruch z całego globu, z dziesiątek tysięcy maszyn jednocześnie.

Przyczyna błędu może być taka jak powyżej.
Natomiast opóźnienia sieci powodują że na dobrą sprawę nie wiesz czy winna jest aplikacja, czy może infrastruktura. To trochę tak jak jakby:
- Mam zepsuty samochód
- Co nie działa?
- Nie jedzie...

Jeśli potrzeba zbadać dostępność aplikacji dla klientów w różnych lokalizacjach to w porządku. Ale jeśli trzeba robić optymalizację kodu to takie badanie internetowe jest niewiele warte.

Problem jest właśnie taki że to są tylko tysiące zapytań tylko z localhosta. Robisz je z maszyny na której masz appkę, nie masz opóźnień, procesy apache czy co tam używasz za serwer trwają o wiele krócej itp. Przechodzisz na większą skalę i się okazuje że taki test można do kosza wyrzucić bo różnica kilkuset kilkudziesięciu milisekund (lub kilkuset) sprawia że apache ma jednocześnie dużo więcej połączeń otwartych, dużo więcej jednoczesnych requestów niż przy lokalnym teście i tym sposobem Twoje serwery padają jeden po drugim.

Słowo tysiące to tak mi się symbolicznie napisało. Ale tak masz tutaj rację, testy na różnych maszynach dają różne wyniki. Tylko że ja nie wspominałem żeby robić takie bezsensowne rzeczy. Testy wydajnościowe powinny być wykonywane na maszynie identycznej z serwerem docelowym. Powodem jest tutaj budowa wewnętrzna komputera. Jak się tak wgłębić w szczegóły to się okazuje że konkretna konfiguracja może być zła lub dobra do konkretnych obliczeń.

Odnośnie tych procesów Apache, to z tego co pamiętam to ustawia się ich maksymalną ilość. Problem z nimi taki że są pamięciożerne i stąd zdaje się rosnąca popularność nginx. Taki proces jest otwarty dopóki nie odpowie na request. Jak masz wolną bazę danych to w ten sposób łatwo zapchać Apache. Procesy ustawią się w kolejce zapisu do jednej tabeli i jak tylko częstotliwość nowych requestów przekroczy czas odpowiedzi DB, mamy padnięcie serwera. Dlatego DB trzeba mieć na dyskach SSD, a przy dużych DB na sąsiednim dedyku w szafie.
Trochę nie rozumiem Twojego toku rozumowania. Tak jakbyś chciał wepchnąć więcej użytkowników na serwer niż się da. W chwili obecnej to serwery są tanie jak przysłowiowy barszcz. Administrator nierzadko bierze więcej za obsługę dedyka niż on sam kosztuje. Więc bez problemu można wynająć potężnego dedyka który utrzyma odpowiednią ilość procesów Apache. Tym bardziej że można automatycznie ubijać procesy które przekroczą krytyczny czas wykonywania.

Odnośnie reszty Twojej wypowiedzi to się zgodzę.

@Dariusz Rorat
Testy na hostingach współdzielonych nie są ani trochę wiarygodne.Ten post został edytowany przez Autora dnia 24.06.16 o godzinie 20:03
Wojciech Mazurek

Wojciech Mazurek właściciel, PPHU
Neuron

Temat: Darmowy monitoring strony - czy użyteczne?

Dawid Z.:
Możliwe że miałeś potężne przekłamania pomiarów. Ale moim zdaniem było to spowodowane zupełnie czym innym. Otóż

To nie tak.
Są dwa rodzaje systemów operacyjnych - z wywłaszczeniem i bez wywłaszczenia.
Obecnie większość systemów to systemy z wywłaszczeniem - obojętnie co robi dany proces czy wątek to przychodzi przerwanie sprzętowe niemaskowane, następuje zrzut pamięci i przekazanie sterowania do jądra. SPRZĘTOWO, nie programowo.
Plus jest taki że żaden proces nie jest w stanie zawiesić systemu - co by nie robił mija pewien maszynowo wyznaczany czas i proces zostaje przerwany.
Minus jest taki że nie można ani precyzyjnie starować ani precyzyjnie mierzyć.
Po prostu się nie da.

To tak jakbyśmy sobie powiedzieli : zrobimy coś dokładnie za 100 sekund od teraz. Liczymy 97,98,99,100: akcja
Tyle że pomiędzy 97 a 98 ktoś nas za hibernował. I nie mamy pojęcia na jak długo.
Gdybyśmy patrzyli nie na stoper tylko na zegarek to byśmy widzieli
11:58:13, 11:58:14, 11:38:17 , o k..... a gdzie się podziały dwie sekundy ?

Dlatego trzeba uważać z wszelakiego rodzaju pomiarami czasu bo one mówią że dane operacje
zajęły tyle to a tyle czasu procesora ale nie wiedzą bo nie są w stanie tego wiedzieć ile czasu badany proces spędził w zamrażarce.

Dodajmy do tego coraz częstszą wirtualizację gdzie 10 pseudo komputerów bije się ze sobą o jeden dysk który ma ściśle określoną ilość dysków i głowic które trzeba ustawić akurat tam gdzie są dane
i mamy taki bajzel że 99 testów zwraca 12ms a setny test 12 sekund ;)

konto usunięte

Temat: Darmowy monitoring strony - czy użyteczne?

A to ciekawe, do działania OS jeszcze nie doszedłem. Czyli jednak Dariusz Półtorak miał niejako rację.
Sęk w tym że takie przerwanie da się raczej wykryć. Przez PHP to nie ale przez zewnętrzny program już całkiem możliwe. A odpalić zewnętrzny program przez konsolę w PHP to żaden problem.
Ewentualnie dodając kawałek kodu w jadrze systemu aby odnotowywał i mierzył takie przerwania. Znacznik czasu można pobrać i w jądrze OS.

Ciekawy jestem jak działa takie przerwanie OS. Pewnie jest to coś w rodzaju watchdog, tyle że poza kontrolą procesów dorzuca obliczenia z OS.

Na temat wirtualizacji to nie warto dyskutować podobnie jak i hostingów. Jedynie bardzo długie testy VPS mogą podać jakąś tam średnią wydajność. Jak ktoś chce mieć pewne dane to tylko dedyk umożliwi takie pomiary.
Wojciech Mazurek

Wojciech Mazurek właściciel, PPHU
Neuron

Temat: Darmowy monitoring strony - czy użyteczne?

Dawid Z.:
Ciekawy jestem jak działa takie przerwanie OS. Pewnie jest to coś w rodzaju watchdog, tyle że poza kontrolą procesów dorzuca obliczenia z OS.

Jak to się robi dzisiaj - nie wiem.
Pierwszy system z wywłaszczeniem, windows 95 ( w win 3.11 wystarczyło w programie zrobić martwą pętle i cały system stawał) korzystał z przerwań niemaskowanych intelowskiego procesora.
w intel8080 przerwanie nie maskowalne wyzwalane było za pomocą wejścia procesora - ani sprzętowo ani programowo nie da się takiego przerwania zablokować.
W pierwszych PCtach przerwanie to sterowane było z układu licznikowego do którego dostęp miał tylko i wyłącznie program wypalony w biosie - przerwanie było generowane co kilkaset taktów generatora kwarcowego który taktował procesor.
Jeśli mnie pamięć nie myli przerwanie to było generowane co 30us co wystarczało na wykonanie
kilkudziesieciu rozkazów maszynowych.
Podejrzewam że dziś mówimy o interwałach liczonych w nanosekundach - wołane jest jądro które hibernuje aktualny proces ( zapisuje rejestry procesora do pamięci cache ) i odmraża następny w kolejce. Możemy uzyskać wpływ na pozycje naszego procesu w kolejce zadań ale w sposób ograniczony bo pierwszeństwo zawsze mają sterowniki sprzętu - najpierw obsługa pamieci, potem grafika, potem system plików a potem całą reszta. Dlatego szału można dostać wkładając porysowaną płytę do cdka ;)

Jak mówiłem: wywłaszczenie t to największa zaleta systemu operacyjnego bo nikt nie może zawłaszczyć czasu procesora ale i jego największa wada bo gdy proces zostanie za hibernowany
przez jadro to nie wiemy kiedy zostanie znowu przywrócony do życia i system ma za nic to że zabrakło nam jednej mikrosekundy do obsługi przetwornika.

Są systemy RealTime takie jak np QNX czy LinuxRT gdzie system pozwala programom na drobną ingerencję w czas trwania procesu, ale mówimy o czasach liczonych w taktach zegara procesora ;)
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Darmowy monitoring strony - czy użyteczne?

Chyba były dużo przed win95 systemy z wywłaszczaniem.. Chyba, że odnosisz to do windowsów tylko... No bo windows rzeczywiście dorobił się takiej opcji dopiero od w95, czyli ponad 10 lat po takim AmigaOS-ie...
Wojciech Mazurek

Wojciech Mazurek właściciel, PPHU
Neuron

Temat: Darmowy monitoring strony - czy użyteczne?

Tomasz K.:
Chyba były dużo przed win95 systemy z wywłaszczaniem.. Chyba, że odnosisz to do windowsów tylko... No bo windows rzeczywiście dorobił się takiej opcji dopiero od w95, czyli ponad 10 lat po takim AmigaOS-ie...

Pierwszym systemem operacyjnym z wywłaszczeniem był .....
system operacyjny komputera nawigacyjnego programu Apollo z końca lat 60tych
Wywłaszczenie zadań miało zabezpieczyć komputer lema przed utratą kontroli nad silnikami manewrowymi w przypadku błędu w oprogramowaniu. lub błędom w ferrytowej pamięci operacyjnej

Jak wielkie by nie było nasze ego, z tyłu dupy możemy stanąć ludziom którzy wysłali innych ludzi na księżyc z dwoma komputerami o mocy obliczeniowej równej 1/2 mocy sterownika od mikrofalówki .....

Temat: Darmowy monitoring strony - czy użyteczne?

Wojciech M.:

tyłu dupy możemy stanąć ludziom którzy wysłali innych ludzi na księżyc z dwoma komputerami o mocy obliczeniowej równej 1/2 mocy sterownika od mikrofalówki

jeśli przyjmiemy, że wysłali :D

https://www.youtube.com/watch?v=Rr8ljRgcJNM

pije do:
https://www.youtube.com/watch?v=UraeJXn0CtY&t=828

Następna dyskusja:

Strony internetowe za 250 z...




Wyślij zaproszenie do