Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Polaczenie z baza a obciazenie serwera
yalus
post 19.06.2008, 16:40:46
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


witam

czy umieszczenie takiego oto kodu na poczatku strony ma duzy wplyw na obciazenie serwera:

  1. <?php
  2. $link = mysql_connect("serwer_mysql", "log", "psw")
  3. or die ("Could not connect to MySQL (db_connect)");
  4.  
  5. mysql_select_db (dbName)
  6. or die ("Could not select database (db_connect)");
  7.  
  8. extract($_SERVER);
  9. $zapytanie1="INSERT into visitors SET
  10. ip='".$REMOTE_ADDR."',
  11. date='".date("Y:m:d H:i:s")."'";
  12. $result1 = mysql_query($zapytanie1);
  13. ?>


i jak to obciazenie sie zmienie jak dodam:

  1. <?php
  2. mysql_close($link);
  3. ?>


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
erix
post 19.06.2008, 18:39:38
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie rozumiem trochę pytania...

Skoro korzystasz z DB, to chyba musisz zestawić z nią połączenie, nie (pomijam płaskie bazy)? Każde nowe połączenie obciąża w jakimś stopniu serwer. ;]


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
dado
post 19.06.2008, 18:52:18
Post #3





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Jest to owszem obciążenie serwera, choć minimalne to jednak niezbędne do pobrania czegokolwiek z bazy danych
Go to the top of the page
+Quote Post
piotrooo89
post 20.06.2008, 07:22:19
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja osobiście nie wyobrażam sobie twojej pracy na niepołączonej bazie danych... to tak jakbyś chciał jechać wyłączonym autem, spalisz trochę paliwa ale dojedziesz do celu. tu jest tak samo: obciążysz trochę serwer ale wykonasz co trzeba.


--------------------
Go to the top of the page
+Quote Post
yalus
post 20.06.2008, 11:25:05
Post #5





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


tak faktycznie mozna nie zrozumiec pytanie, juz podaje wiecej szczegolow

dokladnie rzecz biorac kazda moja strona zaczyna sie od:

  1. <?php
  2. $link = mysql_connect("serwer_mysql", "log", "psw")
  3. or die ("Could not connect to MySQL (db_connect)");
  4.  
  5. mysql_select_db (dbName)
  6. or die ("Could not select database (db_connect)");
  7.  
  8. extract($_SERVER);
  9. $zapytanie1="INSERT into visitors SET
  10. ip='".$REMOTE_ADDR."',
  11. date='".date("Y:m:d H:i:s")."'";
  12. $result1 = mysql_query($zapytanie1);
  13. ?>


poprosty chce miec zapisywane do bazy kto i kiedy wchodzi na poszczegolne strony

i teraz skaczac ze strony na strone ja rozpoczynam nowe polaczenie
chodzi mi o to czy jak jakis user bedzie bardzo aktywnie przegladal stronki to czy te nowe polaczenia (nie zapytania) beda mocno obciazaly serwer
bo polaczenie jest przechwywane tutaj:

  1. <?php
  2. $link
  3. ?>


prwda?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
l0ud
post 20.06.2008, 11:29:16
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


yalus, ale KAŻDY SKRYPT PHP używający mysql tworzy połączenie po jego wywołaniu! smile.gif A najlepiej użyj funkcji mysql_pconnect() - wtedy na większości serwerów połączenie będzie tylko raz otwierane, a później wykorzystywane przy każdym następnym wywołaniu skryptu.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
yalus
post 20.06.2008, 11:37:21
Post #7





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


ok, dzieki


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
piotrooo89
post 20.06.2008, 12:07:47
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




można sobie też w osobnym pliku napisać logowanie do bazy i później tylko includować ale nie wiem czy to jakoś znacząco przyspieszy lub przyczyni sie do mniejszego obciążenia serwera.


--------------------
Go to the top of the page
+Quote Post
Shili
post 20.06.2008, 12:12:44
Post #9





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Ze stałymi połączeniami problem jest taki, że na niektórych serwisach łatwo jest przekroczyć limit dozwolonych jednoczesnych połączeń.
Go to the top of the page
+Quote Post
f1xer
post 20.06.2008, 12:44:45
Post #10





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


Cytat
chodzi mi o to czy jak jakis user bedzie bardzo aktywnie przegladal stronki to czy te nowe polaczenia...

Jeżeli nie zamkniesz połączenia w skrypcie to zamknie się ono samo po wykonaniu całego skryptu więc będziesz miał aktywne tylko jedno połączenie, wiele dużych skryptów mają właśnie na początku łączenie się z bazą i jakoś nie widać żeby znacząco to obciążało serwer, bardziej skup się na konstruowaniu szybkich zapytań bo źle skonstruowane rozbudowane zapytanie może znacząco wpłynąć na czas wykonywania skryptu.


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
Pilsener
post 20.06.2008, 12:51:04
Post #11





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Dokładnie. Poza tym ja nie polecam takich machinacji - przy dużym ruchu niepotrzebnie spowalniają bazę. Zamiast każdego wysłania strony do przeglądarki może lepiej zliczać klikanie w linki? Co więcej - do gromadzenia informacji o użytkowniku (co robi, jak długo, gdzie klika, co klika etc) polecałbym cookies - na podstawie cookies możesz też wyświetlać użytkownikowi np. reklamy z działu, który najbardziej go interesuje (np. pralko-suszarki czy coś tam) a co jakiś czas informacje odczytane z ciastek wrzucasz po prostu do bazy i na podstawie tego robisz analizy. Oczywiście część userów kasuje ciacha albo ma je wyłączone, ale chodzi przecież o statystyki, a nie aptekarską dokładność. Poza tym wyłączoną obsługę cookies mają na 90% różne boty, więc dodatkowo zyskujemy smile.gif
Go to the top of the page
+Quote Post
l0ud
post 20.06.2008, 14:02:39
Post #12





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Shili, opisz proszę dokładniej ten problem zajmowania wszystkich dostępnych połączeń przy użyciu mysql_pconnect() smile.gif Według mnie taki nie występuje bo skrypt wykorzystuje istniejące, wolne połączenia. Jeżeli będzie więcej żądań na sekundę to i tak połączeń zabraknie, również w przypadku używania mysql_connect(). No chyba że o czymś nie wiem? smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Shili
post 20.06.2008, 14:35:41
Post #13





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Jeśli uruchomione są procesy potomne otwierające takie połączenie to istnieje zagrożenie. Bardziej dokładnie zapewne jest w manualu. Są tam też opisane inne rzeczy, które mogą nie być zbyt przyjemne w przypadku stałych połączeń.

Oczywiście, trzeba zawsze rozważyć wszystkie za i przeciw, w końcu każde rozwiązanie ma plusy i minusy smile.gif
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 01:13