PHP kód gyorsítása

A héten nekifogtam egy régi projektem simogatásának és folyton bosszankodtam, hogy az oldalaim kb 5-10 sec alatt jönnek le a saját gépemről! Elkezdtem nézegetni egy profilerrel, hogy mitől olyan lassú a PHP kód és azt vettem észre, hogy minden oldalletöltésnél az adatbázishoz való kapcsolódással elmegy 5-7 másodperc. (A program két adatbázishoz kapcsolódik egyszerre.)

Azt olvastam, hogy a persistent (állandó) kapcsolat esetén a PHP újrafelhasználja a korábban megnyitott adatbázis kapcsolatokat az ismételt oldalletöltésnél - modul módban használt PHP esetén.

Nosza beállítottam a persistent kapcsolatot a két adatbázishoz, de ettől megbolondult a program. Mindig rossz adatbázisból akarta lekérdezni az adatokat.

Rájöttem, hogyha mind a két kapcsolathoz ugyanazt a host, usernév, jelszó hármast használom, akkor a korábban megnyitott kapcsolatot hívja meg újból és rossz adatbázishoz kapcsolódik a program.

A megoldás az lett, hogy egyik esetben a host: 127.0.0.1 és a másik esetben localhost lett. Bár TCP/IP szinten a kettő ugyanaz, de a PHP kapcsolatkezelőjének ez két különböző hostot jelent, így külön kapcsolatot nyitott mind a két adatbázishoz. Így minden oldalletöltésnél a két adatbázisokhoz való kapcsolódáskor más kapcsolatot használ, de mivel ezeket a kapcsolatokat korábban már megnyitotta és nyitva tartja, ezért az oldalaim lefutásának sebessége lecsökkent 0.3 sec-re, azaz 200x-os gyorsítást értem el!!!!