Jump to content
php.lv forumi

mysql_connect vai mysql_pconnect


DarkSide

Recommended Posts

Sveiki!

 

Te nu atkal es ar kārtējo jautājumu :) Fiška tāda, ka varbūt varat pastāstīt, ko labāk lietot mysql_connect vai mysql_pconnect? Kādas ir to atšķirības (domāju praktiskā dzīvē nevis to kas rakstīts manuālī)?

 

Tas viss mani interesē web datubāzes (datu uzskaites sistēma) kontekstā - vienvārdsakot standartsituācija ir tāda, ka ar datubāzi strādā ne pārāk daudz (~30-50) lietotāji, bet strādā visu dienu (parasti neverot ciet IE logu). Līdz ar to itkā sanāk, ka mysql_pconnect būtu loģiskāks risinājums, jo veido pastāvīgu savienojumu ar serveri nevis pieslēdzas un atslēdzas no servera pēc katras weblapas ielādes, taču ir arī savi mīnusi noteikti...

 

Varbūt varat pamurgot kautko par šo tēmu un varbūt būs kāda praktiskās dzīves pieredzes pērlīte :)

Link to comment
Share on other sites

es tā arī nedabūju strādāt.. vai arī nesapratu, kā īsti jābūt..

Citiem vārdiem, kad testējos uz servera dabūju N-idle-konekcijas

 

izmantojot pconnect laikam tiek iedota jau izdalīta konekcija, kas jau ir atmiņā... (iekš procesiem redzēsi nemazu tabuliņu :))

Link to comment
Share on other sites

Nu par to es arī domāju. Tas pconnect ir tāds pārāk aizdomīgs. Skaidrs ir viens - tas viennozīmīgi nav lietojams parastas weblapas (this is my home page tipa) gadījumā. Doma bija, ka varbūt tas tomēr atmaksājas lietot pie konkrēta lietotāju skaita (zināms, ka ne vairāk par 50-100 vienlaicīgi točno), kas ar datubāzi darbojas ilgu laiku no vietas (ver vaļā un ciet lapas, maina un dzēš datus no db utt.)...

Link to comment
Share on other sites

Ja ir apache/php tad visdrīzāk ka neatmaksājas viss, jo:

 

Prefork variantā childs pēc php skripta beigām anyway tiek nogalināts un pie nākošā rekvesta konekcija tiek izveidota no jauna..

Pconnect var izmantot tad kad php strādā piemēram Fastcgi (varbūt arī ja Apache ar kādu thread mpm moduli kas paliek dzīvi), kur viens process apkalpo vairākus pieprasījumus pirms aiziet nebūtībā.

 

Apaches gadijumā ja MySQL 'wait-timeout' būs liels (noklusētais) viss beigsies ar to ka kādā brīdi būs sasniegts max connection limits.

 

Pconnects labi der softiskās aplikācijām, kur var ietaupīt kādas 1-2 laika vienības uz konekcijas veidošana, tai pašā laikā tas ir papildus resursi MySQL serverim (katram tiek izdalīti papiluds bufferi (sort, key utt).

Link to comment
Share on other sites

×
×
  • Create New...