Skocz do zawartości
Zaloguj się, aby obserwować  
Gość Bartosz Gadzimski

"superjednostka" - Czyli Pomysły Na Edukację Użytkowników

Polecane posty

Gość Bartosz Gadzimski

W tym temacie chciałbym aby zostały poruszone pomysły na szeroko rozumianą edukację użytkowników. W szczególności poruszany wielokrotnie temat obciążania serwerów przez pewne bardzo popularne skrypty.

 

Cytat z moich poprzednich wypowiedzi:

 

Jeśli chodzi o przewijający się już kilkakrotnie w różnych miejscach pomysł obliczenia obciążenia generowanego przez pewne popularne skrypty to cały czas nie jest ustalona jakaś abstrakcyjna jednostka. Na tyle uniwersalna aby można było ją łatwo dostosować do konkretnej platformy sprzętowej i programowej.

 

Co mam na myśli, często obciążenie wzrasta wraz ze wzrostem ilości danych w bazie danych. Co nie jest problemem przez pierwsze 3 miesiące staje się nim gdy baza danych zaczyna zajmować ponad 10MB (to tylko przykład). Jeden skrypt ma problemy właśnie przez wzrost liczby danych, a inny przy wzroście odwiedzających, a najczęściej oba czynniki na raz.

 

Dlatego chciałbym aby pojawiały się jakieś precyzyjne pomysły (pomysły Piotra Mikołajskiego są idealne do dalszej obróbki przez specjalistów) gdyż do takich pomysłów czy rozwiązań łatwiej przekonać inne firmy.

 

Moje pomysły - 2 etapy, pierwszy to skrypty (zwykły benchmark), który powie nam jak mocna jest maszyna/oprogramowanie. Dopiero na podstawie tych danych mamy "jednostki", które mogą być transformowane na konkretne skrypty.

 

Jakie są tego korzyści? Przede wszystkim medialne gdyż łatwiej powiedzieć, że ten skrypt zabiera 100 "superhiperjednostek", które to jednostki pojawiałyby się w na forach, stronach firm hostingowych i w mediach.

 

Pozdrawiam,

Bartek

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Co mam na myśli, często obciążenie wzrasta wraz ze wzrostem ilości danych w bazie danych. Co nie jest problemem przez pierwsze 3 miesiące staje się nim gdy baza danych zaczyna zajmować ponad 10MB (to tylko przykład). Jeden skrypt ma problemy właśnie przez wzrost liczby danych, a inny przy wzroście odwiedzających, a najczęściej oba czynniki na raz.

Pamietaj, iz duza czesc gotowych aplikacji korzysta z kombinacji PHP+MySql. Kazdy skrytpt generujacy zapytanie i czekajacy na odpowiedz bazy dla systemu 'wisi' w stanie piperd. Waznym czynnikiem zatem bedzie szybkosc wykonania sie zapytania

 

Dlatego chciałbym aby pojawiały się jakieś precyzyjne pomysły (pomysły Piotra Mikołajskiego są idealne do dalszej obróbki przez specjalistów) gdyż do takich pomysłów czy rozwiązań łatwiej przekonać inne firmy.

Moje pomysły - 2 etapy, pierwszy to skrypty (zwykły benchmark), który powie nam jak mocna jest maszyna/oprogramowanie. Dopiero na podstawie tych danych mamy "jednostki", które mogą być transformowane na konkretne skrypty.

Widzisz, ustalenie takiej jednostki jest o tyle trudne, iz niektore z zasobow sa mierzalne tylko w kwantach czasu i w zaleznosci od chwilowego obciazenia danej maszyny. Stosunkowo latwo jest wychwycic skrypt, ktory przez 10 sekund zajmuje 30% czasu CPU, gorzej z wylapaniem skryptow ktore wykonuja sie w czasie kilku mikrosekund ale za to wieleset tysiecy razy.

 

Kolejna sprawa jest ustalenie ktore z zasobow mialby wchodzic w sklad takiej hiperjednstki. Moze to byc czas CPU, allokacja pamieci - ale rownie waznym czynnikiem sa czasy dostepu do dyskow. MySql dla przykladu bardzo lubi jezdzic po I/O, doloz do tego kilka skryptow, ktore operuja na duzych plikach (obrobka tekstu, parsowanie np. XML) i moze okazac sie ze maszyna swietnie przygotowana pod katem CPU/RAM stanie sie niewydolna pod wzgledem wlasnie dostepow do dyskow

 

Jakie są tego korzyści? Przede wszystkim medialne gdyż łatwiej powiedzieć, że ten skrypt zabiera 100 "superhiperjednostek", które to jednostki pojawiałyby się w na forach, stronach firm hostingowych i w mediach.

Nie chcialbym byc uprzedzony do tego pomyslu, jednakze w poruszanych tu tematach hostingow wspoldzielonych, czasami trudne bywa ustalenie ile dane konto/usluga moze tych zasobow wykorzystac.

 

Osobna sprawa jest skalowalnosc systemow operacyjnych obslugujacych calosc serwera, wiadomo jest przeciez, ze maszyna z postawionym Linuxem opartym na jadrze Linusa nie za bardzo moze stawac w jednej parze z Windowsem XXXX Server, chociazby ze wzgledu na odmiennosc rozwiazan technicznych (chociazby wielowatkowosc na platformach wieloprocesorowych).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Bartosz Gadzimski

Dlatego właśnie ten pomysł to raczej idylla ale może pobudzi do jakichś nowych pomysłów :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jako "odpowiedzialny" za te pomysły już wyjaśniam, w czym rzecz :)

 

Wszystko zaczęło się od czytania "narzekań" właścicieli firm hostingowych na ZU instalujących gotowe skrypty OpenSource i zarzynających serwery. Zacząłem szukać informacji o osiągach różnych skryptów forum oraz CMS, jako że są to chyba najbardziej popularne rzeczy instalowane przez użyszkodników. Szukałem i nie znalazłem niczego, co miałoby ręce i nogi - jedyne zestawienie było stare, a i nie miało podanej metodologii porównań.

 

Wniosek z tych poszukiwań był podstawowy - nie można narzekać na niewiedzę ZU, bo oni nie mają skąd tej wiedzy zaczerpnąć. Wszelkie porównania, choćby i na Wikipedii, ograniczają się do porównań ficzerów, bez zawracania sobie głowy osiągami. Tak oto powstał pomysł stworzenia jakiegoś aktualizowanego rankingu osiągów (obciążeń serwera) popularnego oprogramowania do forum, sklepów, CMS-ów etc. przy określonym obciążeniu. Pomysł był dyskutowany w tym wątku (od postu 16), ale jakoś się skończyło bez konkretów. Być może po nieco dziwnych wytłumaczeniach ze strony Home.pl powrócimy do tematu? Wydaje mi się, że takie rozwiązanie przestaje być powoli fanaberią, a zaczyna być koniecznością.

 

Pomysł z "superjednostką" jest kontynuacją i rozwinięciem poprzedniego. Otóż gdyby taki ranking był opisany w jakichś jednostkach zużycia przykładowego serwera, ZU mógłby porównać skrypty między sobą.

 

Wydaje mi się, że mam też rozwiązanie problemu związanego z różnicami między serwerami. Otóż jeśli serwer testowy miałby jasno opisaną konfigurację sprzętową i programową (wraz z możliwością ściągnięcia plików konfiguracyjnych), to każda firma mogłaby zrobić porównanie serwera testowego ze swoim sprzętem firmowym i przeliczył "superjednostki" serwera testowego na "superjednostki" firmowe.

 

Oczywiście zdaję sobie sprawę z tego, że obliczenia na serwerze testowym nie będą pasować do setek konfiguracji w różnych firmach. Wydaje mi się jednak, że taki ranking w wielu miejscach da prostą odpowiedź o różnice między osiągami / wymaganiami poszczególnych skryptów. Jeśli róznice będą niewielkie, to trzeba będzie sprawdzić na docelowym serwerze, ale jeśli różnice obciążeń serwera testowego będą sięgały kilkuset procent, to będzie to jasna wskazówka dla ZU.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Wydaje mi się, że mam też rozwiązanie problemu związanego z różnicami między serwerami. Otóż jeśli serwer testowy miałby jasno opisaną konfigurację sprzętową i programową (wraz z możliwością ściągnięcia plików konfiguracyjnych), to każda firma mogłaby zrobić porównanie serwera testowego ze swoim sprzętem firmowym i przeliczył "superjednostki" serwera testowego na "superjednostki" firmowe.

 

Witam

 

Zgadzam się że mało jest o tym do znalezienia, głównie porady jak optymalizować skrypty, ale jak je testować już mniej (a w ogóle brak napisanych zrozumiale dla nie-programistów)

 

Moja propozycja - zacząć od zrobienia ankiety, którą administratorzy stron mogliby częściowo wypełnić sami a część przedstawić swojemu hostingowi.

 

Pierwsza część:

1) jaki wykorzystujesz skrypt (nazwa, wersja),

2) jakie moduły dodatkowe/zmiany w core (ale bez megaszczegółów),

3) średnia odwiedzalność serwisu, aktywność użytkowników (ilość postów dziennie choćby)

 

Druga:

1)jaki sprzęt

2)jakie łącze

3)najważniejsze parametry 'obciążenia' jakie generuje ww. strona

 

Od razu widać problemy -

 

1.skrypty są w przeróżnych konfiguracjach, dodatkowe moduły bywają kulą (pętlą) u nogi właściwego skryptu

2.Który hosting ma czas na takie zabawy?

3. problem dotyczy właściwie niewielu stron - jak się zastanowić to głównie dużych społeczności, które z jakichś powodów nie zarabiają (bo np. nie lubią śmiecić na swoich www adsense/pochodnymi), więc i zainteresowanie hostingów w rozwiązaniu sytuacji chyba niewielkie?

 

Co do pkt.3 to jeszcze mała uwaga - może zasypać przepaść między 'jeszcze mnie tolerują na zwykłym hostingu' a 'już potrzebuję czegoś więcej ale dedyk to za dużo i za drogo jak na moje potrzeby'! Przecież jak mam płacić 300zł rocznie a 300zł miesięcznie to jest skok nie do pokonania przez wiele stron - ich dochody musiałyby nagle skoczyć 10-krotnie żeby się utrzymać. Brakuje oferty 'przejściowej' (chociaż na tym forum już widziałem pomysły na takie 'hostingi dedykowane')

 

Może więc inaczej - dlaczego jakaś grupa pasjonatów/programistów php nie chce zdobyć glorii przez pomaganie w wyłapywaniu i poprawianiu źle napisanych kwerend, funkcji itd? Tu chyba problem jest taki, że gdyby taka grupa była to skrypty byłyby już poprawione :)

 

Ale może zamiast ładować czas i pieniądze w szukanie rozwiązania po stronie sprzętu, może warto zasponsorować jakiś Bug-Hunt-fest najpopularniejszych skryptów? hostingi mogyby się zrzucić (np. nagroda za zoptymalizowanie przemo - 100zł*procent uzyskanej optymalizacji :D), a potem wymagać od klientów żeby instalowali tylko 'poprawne' wersje :)

 

W ogóle obecny model kiedy dzieci we mgle instalują CMSy na serwerach i borykają sami się z masą problemów lub męczą o to adminów jest nieco nieteges... gdyby tylko istniał jakiś inny - coś ala fantastico ale z ciągłym upgrade, automatycznym łataniem, usuwaniem exploitów bez potrzeby grzebania w kodzie... no ale to nierealne na razie :)

 

pozdrawiam!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Moja propozycja - zacząć od zrobienia ankiety

Pierwsza część:

1) jaki wykorzystujesz skrypt (nazwa, wersja),

2) jakie moduły dodatkowe/zmiany w core (ale bez megaszczegółów),

3) średnia odwiedzalność serwisu, aktywność użytkowników (ilość postów dziennie choćby)

Błąd w założeniach :)

 

1. Trzeba testować najnowszą dostępną wersję i robić takie sprawdziany regularnie. Bez aktualizacji danych wszelkie porównania po paru miesiącach są nieaktualne. Skrypt w wersji X może mieć buga obciążającego serwer, ale w wersji X+1 moze mieć tego buga załatanego i być mocno zoptymalizowanym skryptem.

 

2. To nie ma sensu, zbyt wielka jest zmienność. Trzeba testować standardowe ustawienia, bo tylko wtedy można cokolwiek porównywać... no i każdy może sobie odtworzyć dane środowisko. W przypadku skryptów, które w wersji defaultowej są bardzo skromne i przez to bardzo rzadko w tej konfiguracji używane, pomyślałbym o jakiejś popularnej darmowej skórce.

 

3. To nie ma sensu, wszystkie porównania należy robić na identycznym symulowanym obciążeniu, inaczej nie da się porównać osiągów oraz obciążenia serwera.

 

 

Od razu widać problemy -

1.skrypty są w przeróżnych konfiguracjach, dodatkowe moduły bywają kulą (pętlą) u nogi właściwego skryptu

J.w.

 

2.Który hosting ma czas na takie zabawy?

Zabawy jak zabawy - takie zestawienie powinno być w interesie bardzo wielu (większości?) firm hostingowych.

 

3. problem dotyczy właściwie niewielu stron - jak się zastanowić to głównie dużych społeczności, które z jakichś powodów nie zarabiają (bo np. nie lubią śmiecić na swoich www adsense/pochodnymi), więc i zainteresowanie hostingów w rozwiązaniu sytuacji chyba niewielkie?

Mylisz się. Nikt nie jest wróżką i nie wiadomo, czy serwis o np. wróblach nie będzie za rok bardzo często odwiedzany w związku z jakimś wynalazkiem / odkryciem / wydarzeniem. Mając dane o obciążeniu serwerów można zakazać stosowania określonych skryptów (lub pobierać za ich stosowanie większą opłatę / stworzyć dla nich specjalną ofertę), podając w zamian alternatywę bardziej znośną dla serwera.

 

Może więc inaczej - dlaczego jakaś grupa pasjonatów/programistów php nie chce zdobyć glorii przez pomaganie w wyłapywaniu i poprawianiu źle napisanych kwerend, funkcji itd? Tu chyba problem jest taki, że gdyby taka grupa była to skrypty byłyby już poprawione :)

Prawda jest inna - do takiej roboty trzeba mieć zaplecze techniczne oraz umiejętności administracyjno-programistyczne, a na dodatek jeszcze mieć podejście humanistyczne, by mieć pojęcie o stopniu skomplikowania takiego testu. Tego się nie da zrobić w dwa dni, że nie wspomnę o regularnych aktualizacjach testów, to musi być czyjeś zajęcie na jakiś kawałek etatu. Oczywiście po zainwestowaniu własnego czasu można potem z tego wyciągać korzyści, ale większość osób nie ma na takie coś wytrwałości.

 

Ale może zamiast ładować czas i pieniądze w szukanie rozwiązania po stronie sprzętu, może warto zasponsorować jakiś Bug-Hunt-fest najpopularniejszych skryptów? hostingi mogyby się zrzucić (np. nagroda za zoptymalizowanie przemo - 100zł*procent uzyskanej optymalizacji ;)), a potem wymagać od klientów żeby instalowali tylko 'poprawne' wersje :)

Pomysł niezły, ale rozbija się o mały detal - ilość dostępnych darmowych skryptów. Przypuszczam, że wiele firm mogłoby zbankrutować, a efekt byłby niewielki. Pamiętaj, że takie łowy musiałyby być regularnie powtarzane, bo przecież w nowej wersji oprogramowania pojawiają się zawsze jakieś nowe usterki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×