Server Optimization c php

A probléma lényege abban rejlik, hogy a szerver fut egy online játék, PHP-ben íródott.
Olyan kedves és nagy teljesítményű szerver, és nem írt ügyetlen kezek, de a szerver alig lélegzik, egy kicsit, és tényleg hazudnak. Lehetetlen dolgozni, még konzol fékek.

Nézett terhelés, nem borul átlagos terhelés: 10,54, 10,28, 9,96

Azt hittem, hogyan lehet megjavítani. Működésének optimalizálására ezen a honlapon, meg kell érteni, hogy a php.

Az a tény, hogy a php nem csak egy script utasításokat egy adott programot. Ennek lényege abban rejlik, hogy minden script megy keresztül több szakaszban visszatérése előtt eredmény:

  1. A forgatókönyv lefordították bájtkódot
  2. teljesített
  3. O szerver eredmény

A második és a harmadik persze, de az első ismerős programozók bonyolultabb nyelvet, mint a php. Bájtkód már egy sor utasítást, minden ekvivalens egy vagy több szerelési utasításokat. Ez a kód fut a tízszer gyorsabb, mint egy script, hogy fut a program. Csak egy probléma lefordítani a forgatókönyvet a byte-kód fogyaszt sok erőforrást egyetlen forgatókönyv, természetesen ez képtelenség, de ha van több és több száz a szerverrel való, hogy a szerver erőforrások már akkor kezdik használni a nemerenoe mennyiségben.

Van egy módja. Annak érdekében, hogy ne pazarolja erőforrásait folyamatosan fordítására a forgatókönyvet a byte-kód, akkor a gyakran használt szkriptek már olyan állapotban, hogy jelentősen csökkenti a szerver erőforrás-felhasználás.

Ehhez sok program, úgy döntöttem, hogy egy ilyen - a eAccelerator.

Ez egy kényelmes, könnyen konfigurálható modul php.

telepítése eAccelerator

És így a telepítés megkezdéséhez. Kapcsolódni a szerverhez SSH-n keresztül is, vagy ha van egy közvetlen hozzáférést, a konzolra.

Azt hozzon létre egy mappát a / usr / local / eAccelerator. amelyben dolgozunk, és adja át

Lépj be a könyvtárba eaccelerator-0.9.5.3:

Opció -A-eaccelerator megosztott memória van szükség, hogy képes legyen használni az API eAccelerator. A teljes lista a lehetőségeket.

Valójában most a modul készen áll és telepítve van a mappa / usr / lib / php / modules /. ahol az összes modul telepítve php

Most itt az ideje, hogy csatlakoztassa a modult, és állítsa be, mint most.

Files csatlakoztatásához php modul php.d. mappa Ha a letöltés Apache olvas minden felhúzókötelek kiterjesztésű ini ezt a mappát.

Leírás Az alapvető konfigurációs attribútumok eAccelerator

Gyorsítótár mérete megosztott memória meghatározott megabájt.

Directory merevlemezen. eAccelerator tárolja a megadott könyvtár bináris ábrázolása a kód az ülés és egyéb adatokat.

Ez az opció be van kapcsolva, és ki eAccelerator. Az érték 1 - on, 0 - off.

Ez jelzi az időt másodpercben, amely után a hosszú kód nem használják el kell hagyni a megosztott memóriát meghaladó lefoglalt memória.

Alapértelmezés szerint ez az opció le van tiltva, javasoljuk az érték 60-300 nagyszámú fájlok és 900-1800 kis számú fájlt.

Amikor eAccelerator nincs elegendő szabad memória, akkor megpróbálja törölni a régi adatokat, ha az előző kísérlet történt több „shm_prune_period” másodperccel ezelőtt. Az alapértelmezett érték „0”, amelyben eAccelerator nem próbálja meg eltávolítani a régi adatokat a memóriából.

A paraméterek meg a rendelkezésre álló módja van a eAccelerator cache.
Lehetséges értékek:

  • shm_and_disk - cache adatokat osztott memória, és a lemezen (ez az alapértelmezés);
  • shm - cache adatokat osztott memóriában vagy lemezen, ha osztott memória vagy adat mérete nagyobb, mint „eaccelerator.shm_max”;
  • shm_only - cache adatokat osztott memóriát;
  • disk_only - cache adatok a lemezen;
  • none Ne gyorsítótár az adatokat.

Most hozzon létre egy mappát a cache, amit az irányelvben megnevezett eaccelerator.cache_dir - a / tmp / eaccelerator, és adja neki a jogot, hogy rögzítse

Tulajdonképpen beállítás befejeződött, jelenleg Apache újraindításához:

következtetés

Tulajdonképpen mi ez adta. Igazából nem igazán számítottam ilyen eredményre, de a szerver terhelése csökken tízszeres.

load average: 0.91, 0.88, 0.72

Kapcsolódó cikkek