Moaha 0 Zgłoś post Napisano Kwiecień 13, 2010 Witam! Załóżmy że mam jakąś aplikację która trzyma dane w bazie Mysql ale ta baza nie znajduje się na serwerze lokalnym tylko gdzieś na innym serwerze daleko w sieci... Załóżmy że ping z serwera aplikacji do serwera Mysql jest 20 ms. Pytanie jest takie... Czy to że baza danych jest na innym serwerze będzie miało jakiś wpływ na jej obciążenie? Tzn. czy baza danych będzie bardziej obciążała serwer jeżeli będzie na innym serwerze niż aplikacja? Jeżeli strata mocy będzie to jak duża? Czy może jedynie będzie różnica w czasie wykonywania zapytania a obciążenie takie samo? Udostępnij ten post Link to postu Udostępnij na innych stronach
tym 205 Zgłoś post Napisano Kwiecień 13, 2010 Baza nie będzie obciążała serwera bo jej na nim nie ma. Za to prawdopodobnie znacznie zwiększy się czas ładowania strony. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Łukasz Tkacz Zgłoś post Napisano Kwiecień 13, 2010 2(połączenie + ilość zapytań do bazy) x 20ms. Czyli 20 lekkich zapytań (zoptymalizowany skrypt) wychodzi ponad 0.8s na same pobieranie danych z bazy... Gra nie warta świeczki Udostępnij ten post Link to postu Udostępnij na innych stronach
BlueMan 69 Zgłoś post Napisano Kwiecień 13, 2010 Chyba, że zastosuje się połączenie permanentne - wtedy nie będzie się tracić czasu na łączenie z bazą. Ale też uważam, że jest to gra nie warta świeczki. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Kwiecień 13, 2010 2(połączenie + ilość zapytań do bazy) x 20ms. Czyli 20 lekkich zapytań (zoptymalizowany skrypt) wychodzi ponad 0.8s na same pobieranie danych z bazy... Gra nie warta świeczki Zoptymalizowany skrypt to wykona całą transakcję w jednej sesji TCP/IP. Do tego - wg ciebie to połączenie z localhostem via TCP ma zerową latencję? Chyba też jakieś milisekundy to zajmuje... Poza tym - latency 20ms to oznacza, że 20ms później dostaniesz dane. A jeśli to będzie typowy strumień, to przyjdzie cały opóźniony o 20ms a nie 0,8sek. Wracając do meritum - łączenie z zewnętrznym serwerem (poprzez sieć WAN) ma sens wtedy, gdy po prostu musi być wspólna baza dla wielu klientów rozmieszczonych w wielu lokalizacjach. W przypadku, gdy jest to jedna baza, z jednym użytkownikiem, to logicznym jest, że lepiej ją umieścić albo równolegle na serwerze aplikacyjnym, albo też - jeśli wymagana jest jej ekstraduża wydajność - postawić sobie w sieci LAN na jakimś równoległym hoście. Chyba, że ktoś z jakichś tam względów prawno-cośtamowych będzie do tego zmuszony... ale... Przy zewnętrznym dostępie dochodzi tu wielka kupa problemów - gdzie ta latencja to coś, co można przeboleć jeszcze... głównym problemem jest bezpieczeństwo danych sobie przepływających - sesje MySQL są w większości przypadków totalnie nieszyfrowane. Więc aby zapewnić sobie wyniesienie tego dalej, to trzeba by albo aplikację na mysqls przerobić, albo zestawić bezpieczny VPN. Udostępnij ten post Link to postu Udostępnij na innych stronach
Moaha 0 Zgłoś post Napisano Kwiecień 14, 2010 Że opóźnienia będą to się z tym liczę. Zapytań nie będzie aż 20 jak ktoś wyżej napisał bo max kilka. A poza tym wszystko będzie cachowane więc większość wywołań w ogóle nie będzie tykać bazy... Tylko proszę mi powiedzieć jak z tym obciążeniem. Rozumiem że skrypt będzie się dłużej wykonywał ale czy obciążenie serwera Mysql będzie takie samo zarówno gdy pomiędzy serwerem aplikacji a mysql będzie 20ms jak i 2ms? Chodzi o to czy mi się baza nie wykolei z powodu tego że serwer jest oddalony o 20 ms... Bo zapytania takie same ale przecież połączenie z bazą będzie nawiązywane na dłuższy czas... Udostępnij ten post Link to postu Udostępnij na innych stronach
ednet 136 Zgłoś post Napisano Kwiecień 14, 2010 Tylko proszę mi powiedzieć jak z tym obciążeniem. Rozumiem że skrypt będzie się dłużej wykonywał ale czy obciążenie serwera Mysql będzie takie samo zarówno gdy pomiędzy serwerem aplikacji a mysql będzie 20ms jak i 2ms? Obciążenie serwera mysql bedzie takie samo. Czy zapytania do serwera mysql sa proste czy rozbudowane? Najbardziej korzystne umieszczenie myslqa na odzielnej maszynie jest wtedy gdy sa to rozbudowane i wolne zapytania z wieloma joinami. Przy wielu prostych zapytaniach czas transmisji moze byc większy niz czas wykonywania zapytan. Ed Udostępnij ten post Link to postu Udostępnij na innych stronach
Moaha 0 Zgłoś post Napisano Kwiecień 14, 2010 głównym problemem jest bezpieczeństwo danych sobie przepływających - sesje MySQL są w większości przypadków totalnie nieszyfrowane. Więc aby zapewnić sobie wyniesienie tego dalej, to trzeba by albo aplikację na mysqls przerobić, albo zestawić bezpieczny VPN. A tym mam się przejmować? Jeżeli w bazie nie będzie danych np. jakiegoś sklepu/banku/płatności itd.? Chyba dla "jaj" nikt mi nie będzie zaglądał w to co pobieram z bazy? Udostępnij ten post Link to postu Udostępnij na innych stronach
Biznes-Host.pl 0 Zgłoś post Napisano Kwiecień 19, 2010 A tym mam się przejmować? Oczywiście, że nie, najprawdopodobniej nie masz shella na zdalnym serwerze, więc nic nie poradzisz Jeżeli w bazie nie będzie danych np. jakiegoś sklepu/banku/płatności itd.? Chyba dla "jaj" nikt mi nie będzie zaglądał w to co pobieram z bazy? Odpowiedz sobie na pytanie, po co komuś przeglądanie Twojej bazy? Jeżeli nie ma w w niej numerów kart kredytowych, jawnie zapisanych haseł lub czegokolwiek podobnego to moim zdaniem nie ma czym się przejmować. Pozdrawiam, PM Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Kwiecień 19, 2010 Odpowiedz sobie na pytanie, po co komuś przeglądanie Twojej bazy? Jeżeli nie ma w w niej numerów kart kredytowych, jawnie zapisanych haseł lub czegokolwiek podobnego to moim zdaniem nie ma czym się przejmować. Yeah. Tylko czemu nic użytkownikowi tak naprawdę nie dające uzyskanie na jakimś hostingu /etc/passwd jest bardzo wielce tu piętnowane? Idąc tym tokiem myślenia - może dać chmoda 444 na /etc/shadow - przecież tam nie ma jawnie zapisanych haseł =) Piszę to tak ku przestrodze, żeby użytkownik potem nie robił wielkiego płaczu i winił wszystkich poza sobą, że jego aplikacja okazała się dosyć mocno "dziurawa" i gdzieś ta baza danych wypłynęła... Udostępnij ten post Link to postu Udostępnij na innych stronach