Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Połączenie z bazą MySQL z zewnatrz, Połączenie z bazą MySQL
-ARTURRO71-
post
Post #1





Goście







Witam,

Przeszukałem google i niestety nie znalazłem odpowiedzi na następujący problem.

Mam stronę oraz bazę danych MySQL na serwerze X.
Skrypty zamieszczone na serwerze łączące się z bazą MySQL działają bardzo szybko (czyli normalnie).
Jestem na etapie obrabianie dużych plików CSV a serwer ma ograniczenia czasowe na wykonanie skryptu do 30 sekund więc postanowłem odpalić taki skrypt z serwera na domowym komputerze - serwer WAMP/XAMPP itp.

Problem w tym, że gdy łącze się z domowego serwera z bazą MyQSL na serwerze X, połączenie trwa bardzo długo.
Skrypt na tym samym serwerze co baza MySQL wykonuje się poniżej 1 sekundy.
Skrypt odpalony z serwera domowego, który łączy się z bazą na serwerze X, wykonuje się ok 15-20 sekund.

Wiele postów znalazłem z tym problemem - niestety nigdzie nie ma odpowiedzi w tym temacie.


Czy to jest normalne, że łączenie do bazy MySQL z zewnątrz trwa zawsze tak długo (IMG:style_emoticons/default/questionmark.gif) ?
Może istnieje jakiś sposób na przyspieszenie tego połączenia (IMG:style_emoticons/default/questionmark.gif) ?

Bede wdzieczny za fachowa pomoc - napewno nie tylko mnie sie przyda.

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
abort
post
Post #2





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


Łączenie nie trwa długo - to jest chwila (tyle, ile zajmuje przekazanie pary login/pass).

UŻYWANIE bazy - to może trwać długo, w zależności od tego, ile danych przesyłasz łączem. Porównanie jest proste: jeśli baza jest na tym samym komputerze, co serwer WWW, to mamy właściwie tylko narzut na operacje I/O dysku. Jeśli serwer WWW i serwer SQL są podpięte via sieć (i to jeszcze ze słabą komunikacją), to pojawia się problem wydajności sieci. Masz mniej więcej taką samą sytuację jak kopiowanie pliku z dysku na dysk (to odpowiednik WWW i SQL na jednej maszynie) lub kopiowanie tego przez sieć ze słabym łączem (WWW i SQL via internet 1Mbit - bo równamy do słabszego parametru łącza).

Spróbuj podzielić to na części i odpalać na serwerze, gdzie stoi sklep. Skoro 60k rekordów wykonuje się w dwie minuty (w pesymistycznym wariancie), Ty załóż że może być czasami gorzej (jeszcze trzykrotnie) wyjdzie Ci, żeby podzielić jeden plik na kilka mniejszych plików po ok. 10 tysięcy rekordów.

Druga sprawa: spróbuj robić update bazy z crona - może się okazać (co jest częste), że limity na PHP wywoływane z CLI są inne niż na PHP wywoływane z WWW. Ba, może się zdarzyć, że tych limitów w ogóle nie będzie...
Go to the top of the page
+Quote Post

Posty w temacie
- ARTURRO71   [MySQL][PHP] Połączenie z bazą MySQL z zewnatrz   1.12.2012, 22:43:35
- - viking   Nie jest normalne. Może wysyłasz duże porcje danyc...   2.12.2012, 07:03:17
- - ARTURRO71   Za pomocą skryptu na serwerze domowym otwieram pli...   2.12.2012, 23:23:43
- - ARTURRO71   Nikt nie wie jak temu zaradzić?   3.12.2012, 21:22:13
- - abort   Łączenie nie trwa długo - to jest chwila (tyle, il...   3.12.2012, 22:01:52
- - ARTURRO71   Dzięki za skrupulatne wyjaśnienie ABORT. W weekend...   7.12.2012, 19:48:03
- - ARTURRO71   CRON sprostał zadaniu... dzięki   15.12.2012, 14:14:36


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 15:29