Skocz do zawartości
gravisrs

Wąskie gardła popularnych CMS'ów PHP a hosting

Polecane posty

Chciałbym poruszyć temat optymalizacji hostingu z perspektywy developera aplikacji internetowych. Drobnych szczegółów, które są coraz częściej zaniedbywane a mają ogromny wpływ na prędkość hostowanych aplikacji opartych o nowoczesne CMS na PHP'ie,


Rzecz pierwsza.

Otóż zauważyłem, że coraz częściej trafiam na hostingi, gdzie baza danych jest na bardzo "odległej" maszynie niż sam serwer http. Złożona witryna oparta na Drupalu, WordPressie czy Joomli generuje 100+ zapytań SQL'owych przy każdorazowym wyświetleniu strony, często bardzo prostych i w większości dobrze zoptymalizowanych po stronie kluczy na tabelach itp. Odległej mam tu na myśli opóźnienie na pojedynczym zapytaniu SQL od 1ms, dochodzących nawet do 10-20ms które pochodzi najczęściej z zastosowanej topologii sieci/VPS/Firewalli. Przy jednym zapytaniu SQL'owym nie ma to znaczenia, ale w skryptach, które blokują się na każdą z setek+ odpowiedzi z bazy - te opóźnienie wynikłe z trasowania rośnie do tysięcy milisekund. Jest to bardzo ważny aspekt optymalizacji hostingów na styku aplikacja <-> baza danych.

Rzecz druga.

Głęboka konfiguracja. Zdarzają się hostingi, które do każdych żądań HTTP dodają nagłówki X-Frame-Options: SAMEORIGIN - rozumiem kwestie bezpieczeństwa anty XSS/XSRF, ale chciałbym mieć możliwość ich wyłączenia. Wciąż w sieci są systemy np. rezerwacji hoteli osadzane w ramkach. Zdarzają się hostingi, gdzie próżno szukać podstawowych ustawień PHP jak limity zasobów/czasów wykonywań. Zdarzają się hostingi, gdzie wciąż nie są interpretowane .htacces.

Jeżeli planujecie (roz)budowę hostingu, pamiętajcie proszę o tych drobnych szczegółach, za które klienci używający popularnych CMS będą bardzo wdzięczni.

Edytowano przez gravisrs
  • Lubię 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pewnych elementów nie można wyłączyć ponieważ mają za zadanie zabezpieczyć właśnie infrastrukturę serwerową. Co do .htacces to trochę jestem zaskoczony ponieważ to jest chyba standard by taka opcja była aktywna z możliwością ingerencji przez użytkownika. Napisałeś coś również o możliwości ustawień PHP a w tym limity zasobów/czasy wykonywania. Tego typu opcje posiadają usługi dedykowane lub własne środowiska deweloperskie. Nie oczekuj że ktoś da tobie dostęp do takich opcji w standardzie. Serwery nie są z gumy niestety.

  • Lubię 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
49 minut temu, gravisrs napisał:

opartych o nowoczesne CMS na PHP'ie,

Nowoczesne CMS stosują cache, wiec nie wykonują za każdym requestem pełną pulę wywołań do bazy danych.

 

51 minut temu, gravisrs napisał:

ochodzących nawet do 10-20ms

Znajomy miał tak zrobione, że serwer dedykowany HTTP miał w OVH we Francji a bazę danych tez na dedykowanym w OVH ale w PL  xD 

 

53 minuty temu, gravisrs napisał:

Zdarzają się hostingi, gdzie wciąż nie są interpretowane .htacces.

Nie rozumiem pojęcia "zdarzają się" ? Losowo je Wybierasz czy co, ze Ci się takie zdarzają ? 

 

56 minut temu, gravisrs napisał:

Jeżeli planujecie (roz)budowę hostingu, pamiętajcie proszę o tych drobnych szczegółach, za które klienci używający popularnych CMS będą bardzo wdzięczni.

Tylko czy z taką samą wdzięcznością będą chcieli płacić za luksusy ? Trochę "dziwny"  ten post  B|

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Według mnie jeśli klient posiada dedykowaną platformę (najczęściej sprzedażową) to powinien do tego poszukać też dedykowanej usługi, która to obsłuży. 

 

Dziwi mnie, że hosting współdzielony za 100/rok wybierają firmy, które prowadzą duże kobyły sklepowe albo poczta jest u nich "must-have", i "tracą miliony" gdy nagle usługa o gwarantowanym SLA na poziomie 99,7% nie działa, adres IP do wysyłki (współdzielony) wpada na czarną listę lub sklep wolno chodzi.

 

Teraz i tak jest coraz lepiej, mamy PHP7, opcache, cache na warstwie samego softu serwującego nawet static-html, dostępne tweaki max_memory_limit czy timeouty/exectimeoutlimit, a nawet dostęp do SSH na sharedzie.

 

Jeśli cokolwiek generuje 100+ zapytań do serwera SQL / per refresh strony  i jest ten potwór umieszczony na sharedzie, to należy go przenieść na usługę dedykowaną i zoptymalizować. 

To czy jest to jakiś skrypt opensourcowy używany przez miliony, do tego mnóstwo pluginów to wcale nie znaczy, że jest to soft porządny. Tym bardziej kiedy owe pluginy są wspierane głównie przez pojedynczych członków społeczności.

 

Nie twierdzę, że się nie da tego trzymać na współdzielonym, ale nie warto też skąpić na coś co jest narzędziem pracy. 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W chwili obecnej mamy usługi chmurowe, gdzie są markety z aplikacjami, w których jednym kliknięciem możesz taka zamówić wraz z usługą serwerową (domyślnie już skonfigurowaną z zainstalowanym oprogramowaniem np. system CMS)  ... zasoby wówczas możesz w locie całkiem duże przydzielać nawet nie martwiąc się o optymalizacje po stronie oprogramowania wybranego systemu zarządzania treścią...

 

PRZYKŁAD: https://www.oktawave.com/marketplace/Pages/Templates/TemplatesList.aspx?srtBy=0&srtDir=0&pgNr=1&ctg=1546&srTxt= 

 

 

...mamy też dedykowane usługi hostingowe pod konkretne rozwiązania, gdzie gwarantowane są odpowiednio duże zasoby z możliwością ich zwiększenia... 

 

PRZYKŁAD: Hosting Magneto w http://swits.pl/ 

 

...typowy hosting współdzielony musi mieć ograniczenia związane z zasobami z uwagi choćby na koszty...  tego się nie przeskoczy...

Edytowano przez szarik

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przy okazji wydajności w aplikacjach warto też zwrócić uwagę na wersję PHP.

PHP 7.1 w Benchmarkach miażdży linię 5.x

Być może szukającym maksymalnej wydajności w ramach hostingu współdzielonego przyda się więcej informacji o wpływie wersji PHP na szybkość:

http://blog.hekko.pl/przyspieszyc-wczytywanie-strony/

 

Tylko tyle, że czasem spotka się plugin napisany tak, że zadziała tylko pod 5.x ale na to nie ma rady, czasem samodzielnie

można poprawić w kodzie źródło błędu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
12 godzin temu, Mion napisał:
13 godzin temu, gravisrs napisał:

Jeżeli planujecie (roz)budowę hostingu, pamiętajcie proszę o tych drobnych szczegółach, za które klienci używający popularnych CMS będą bardzo wdzięczni.

Tylko czy z taką samą wdzięcznością będą chcieli płacić za luksusy ? Trochę "dziwny"  ten post  B|

 

Poprawne i szybkie działanie strony Klienta to nie jest luksus :) To powinien być standard. Na moich serwerach bardzo dbam o to żeby IO wait prawie nie istniało, a średnie użycie CPU nie przekraczało 50% i wykres był płaski. Podobnie ma się kwestia serwerów MySQL, a ich "odległość" od serwera www nie przekracza u mnie 0,3ms. Gdy w DC, którego używam na chwilę musieli zmienić trasę i czasy skoczyły do 10ms wpłynęło to bardzo mocno na jakość działania stron.

 

Cały system działa tak jak jego najsłabszy element. Jeżeli masz dużą odległość pomiędzy serwerem www, a MySQL to nawet jak użyjesz do tego najmocniejszych serwerów na świecie to i tak nie będzie działało tak jak powinno. Tak samo gdy będziesz pozwalał na "zęby" w wykresach CPU i IO wait, które dodatkowo się na siebie nakładają. Oczywiście nie można zapomnieć o wycinaniu zbędnego ruchu robotów typu ataki XML-RPC, wp-login itp. itd.

 

Grafika przedstawia serwer, na którym jest kilka tysięcy domen, a ten jeden ząbek na górze(IO wait) to przyrostowy backup, który robi się w nocy.

cpu-day.png

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Różnice między serwerem MySql lokalnie, a - co czasem może się zdarzać - nawet w innym DC, są duże. Czasami podobne operacje potrafią trwać 10x dłużej (sami mieliśmy taki przypadek developując jeden z naszych systemów, gdzie te same operacje wykonywalne na kliencie lokalnym były właśnie o tyle szybsze niż na zdalnym). W niektórych wypadkach, aby zminimalizować impakt na user experience, dobrze jest stosować kod asynchroniczny, ale to nie zawsze jest możliwe i trzeba mieć trochę większe pojęcie o programowaniu - może dla niektórych czytających ten wątek będzie to jakaś wskazówka, jeśli z jakiegoś powodu muszą męczyć się z "odległym" sql'em.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dołącz do rozmowy

Możesz pisać i zarejestrować się później. Jeśli masz konto,Zaloguj się teraz, aby publikować na swoim koncie.

Gość
Odpowiedz...

×   Wklejony jako tekst z formatowaniem.   Wklej jako zwykły tekst

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


  • Podobna zawartość

    • Przez rademenes2019
      Planuję uruchomienie branżowego portalu na Wordpressie. CMS mało poważany, ale portal będzie dość zaawansowany (informacje, katalog lokalnych firm, galeria zdjęć itd.). Nie mam pojęcia jakiej będę potrzebował mocy ani ilu uda mi się pozyskać użytkowników. Ponieważ zapewne przez pierwszy rok liczba odwiedzin będzie niewielka, chciałem wykupić hosting współdzielony z pakietem do 50 GB SSD w cenie 200-250 zł za rok. Myślałem o dHosting.pl, ale z racji średnio udanej współpracy przy wcześniejszych projektach, przyglądam się ofercie konkurencji. 
       
      Aktualnie jestem po rozmowie z wykonawcą szablonu strony, który zasugerował serwer dedykowany. Fajnie, ale najtańsze pakiety w tej opcji w dwa miesiące wyczerpuje mój roczny budżet na hosting  Portal przez pierwsze miesiące nie będzie przynosił dochodu, więc mam zagwostkę: płakać i płacić za dedykowany serwer (no i u kogo?) czy szukać serwera współdzielonego, ale może w jakimś droższym / wyższym pakiecie?
       
      I ostatnia sprawa - wielu dostawców hostingu twierdzi, że mają serwery dedykowane dla WP. To bełkot marketingowy czy WP faktycznie wymaga specjalnego traktowania?
    • Przez gutozaur
      Witam. 
      Dostałem maila od hostingu superhost że obciążenie procesora jest powyżej 100%. Zalogowałem się do panelu i czasem jest nawet 1200%. Ogólnie od 12 dni mam dużo powyżej 200% i za 2 dni wyłączą mi stronę ze względu na obciążenie procesora. Czy ktoś może pomóc? Poniżej wklejam przykładowe logi. Więcej w załączniku. Jak zablokować to g... Dodam że poinstalowałem wtyczki zabezpieczające. Wpisałem IP które mnie atakowało, ale po chwili ataki są już nie z IP a z zestawu znaku + IP tak jak widać w pierwszej linijce obu ataków. Nie wiem jak to zablokować. Przykładowe logi
      ec2-34-229-55-110.compute-1.amazonaws.com - - [12/Apr/2018:09:51:58 +0200] "GET
      /index.php/galeria/?type_18=gallery&album_gallery_id_18=8&bwg_previous_album_id_18=7%2C7&bwg_previous_album_page_number_
      18=0%2C0&type_8=gallery&album_gallery_id_8=18&bwg_previous_album_id_8=18%2C18&bwg_previous_album_page_number_8=0%2C0&typ
      e_11=gallery&album_gallery_id_11=15&bwg_previous_album_id_11=14,14&bwg_previous_album_page_number_11=0,0 HTTP/1.1" 200 -
      "-" "MauiBot (crawler.feedback+wc@gmail.com)"

      crawl-66-249-64-83.googlebot.com - - [12/Apr/2018:09:51:22 +0200] "GET
      /index.php/galeria/?type_13=gallery&album_gallery_id_13=13&bwg_previous_album_id_13=12%2C12&bwg_previous_album_page_numb
      er_13=0%2C0&type_15=gallery&album_gallery_id_15=11&bwg_previous_album_id_15=10%2C10&bwg_previous_album_page_number_15=0%
      2C0&type_2=gallery&album_gallery_id_2=24&bwg_previous_album_id_2=24,24&bwg_previous_album_page_number_2=0,0 HTTP/1.1"
      200 708766 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
       
       
      Dzwoniłem do superhosta, kazali przysłać zgłoszenie mailowe i dostałem taką wiadomość:
      "z tego co mogę zauważyć na serwerze występuje problem z nadmierną ilością analiz strony poprzez boty.
      Możemy poradzić zlimitowanie botów, poprzez dodanie do pliku robots.txt następującej wartości:
      User-Agent: Googlebot-Image
      Crawl-Delay: 300
      Ograniczy to odwiedzanie strony przez boty google'a."
       
       
      Czy tak powinna zareagować taka firma? Dołączam jeszcze logi w pliku
       
       
      groningen.org.pl-access.log-20180412
    • Przez Vieworld
      Witam, 
      zostałem tutaj oddelegowany z forum WHT...  długo się nie logowałem tam i byłem zdziwiony taką ciszą w moim temacie... już wiem czemu
       
      Do tej pory nieprzerwanie korzystałem z usług Linuxpl przez kilka lat, jednakże ostatnio zostali wciągnięci przez H88, ja od dłuższego czasu biję się z przekraczaniem pojemności dysku 16GB i chciałem zmienić usługę na wyższą... na co dzień moje konto służy jako hosting 3 stron internetowych opartych na dużej ilości zdjęć (branża foto) i chciałem zmienić Apache na Litespeed by wszystko chodziło szybciej i tutaj mam schody bo do wyboru:
       
      Hosting SSD + Litespeed + SSD 5GB = 250zł/rok
      (bez możliwość zwiększenia limitu dysku, mogę jedynie wykupić np. 5 kont po 250zł każde i połączyć w jedno co jest dla mnie czymś.. słabym.. delikatnie mówiąc) Hosting WPRO + Litespeed + SATA Enterprise (RAID10) 100GB = 500zł/rok (po rabacie 441zł) Umowa mi się kończy za miesiąc, więc mam trochę czasu jeszcze... Próbowałęm coś wynegocjować u nich i udało się dostać rabat -10%, ale postanowiłem zasięgnąć rady ekspertów
       
      Najbardziej mi zależy na wsparciu technicznym. Zawsze ceniłem sobie pomoc ze strony Linuxa przez gg lub teraz przez czat na stronie i problemy rowiązywałem od ręki w ciągu godziny... Czy ktoś może polecić coś z min. 30GB dyskiem będącego z Litespeed'em i ewentualnie opartego na dyskach SSD?  Jak się ma hosting w pełni na SSD vs taki gdzie tylko bazy danych są na SSD a reszta na HDD? Czy to w ogóle jest potrzebne i nie wystarczy sam LS? Nie potrzebuję Bóg wie czego, po prostu utrzymuję 3 strony swoje na serwerze + czasem robię stronę na WP u siebie zanim ją przeniosę do klienta... Limit (memory) php minimum: 256 zagwarantowany w cenie a 512 byłoby jeszcze lepiej (w niektórych miejscach widziałem za to dopłaty)  
       Z tego co widziałem, polecany jest Mzone.uk - jednak tutaj support z tego co widzę odpowiada w ciągu 24h i mimo, że serwery są w Polsce to pomoc jest realizowana w języku angielskim. Odezwała się do mnie firma Servizza.com która posiada faktycznie hosting na SSD Enterprise + LS jednakże nie mogłem prawie wcale znaleźć żadnych opinii o nich a bez tego wiara w ładne oczy może się skończyć przy pierwszej lepszej okazji korzystania z supportu...
       
      Ważna jeszcze sprawa, aby hosting nie miał problemów z formularzem np. Contact Form 7 - o ile na futurehost i linuxpl nie ma problemów z działaniem tej wtyczki, to na home.pl jak również nazwa.pl pamiętam, że zawsze miałem problemy i albo działało albo nie i support nie potrafił mi z tym pomóc ani wtyczki typu "SMTP Mail"... oczywiście jest na to sposób by w polu nadawcy wiadomości wymusić podanie e-mail przypisanego do domeny z której to strony idzie wiadomość, ale komfortowe to nie jest... linuxpl takich problemów nigdy nie miał i nie ma..
       
       
      Z góry dziękuję za pomoc,
      A.
    • Przez dhosting.pl
      Hej, hej!

      Tak jak obiecaliśmy w tym wątku, publikujemy kolejny ebook jeszcze w listopadzie. Wiemy, że zostało kilkanaście godzin do końca miesiąca, ale udało się.

      Tym razem opowiadamy o SEO w WordPressie również na ponad 30 stronach, więc wszystkich zainteresowanych zachęcamy do pobrania i dania znać, jak się podobało. Od razu uprzedzę, że poradnik skierowany jest raczej do początkujących, ale być może ci zaawansowani również odkryją coś nowego.
       
      http://lp.dhosting.pl/jak-zadbac-o-seo-w-wordpress
       
      Mamy nadzieję, że ebook spełni swoje zadanie!
    • Przez dhosting.pl
      Cześć, 
      Zapraszamy do zapoznania się z naszym ebookiem z poradami dotyczącymi  działania WordPressa. Poradnik jest darmowy, a ściągnąć możecie go tutaj: http://lp.dhosting.pl/jak-przyspieszyc-strone-na-wordpress/
      Dowiecie się z niego:
      - Jak przyspieszyć stronę działającą w oparciu o WordPressa.
      - Których wtyczek używać, żeby WordPress działał szybciej.
      - Jak administrować stroną, żeby jej nie spowalniać.
       
      Mamy nadzieję, że Wam się przyda!
  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
×
  • Utwórz nowe...

Ważne informacje

Korzystając z forum, wyrażasz zgodę na: Warunki korzystania z serwisu, Regulamin, Polityka prywatności.