Ukladanie do vyrovnávacej pamäte Apc. Inštalácia akcelerátora php aplikácií APC na OS X Mountain Lion. Inštalácia vyrovnávacej pamäte APC z úložiska Ubuntu

  • 03.11.2019
sudo apt-get install php-apc - nefunguje

APC už nie je potrebné v Ubuntu 14.04. APC nie je podporované v PHP 5.5, ktoré namiesto toho prichádza s vlastnou vstavanou vyrovnávacou pamäťou Opcache. Uistite sa, že je povolená vyrovnávacia pamäť, upravte súbor /etc/php5/apache2/php.ini.
Nahradiť:

opcache.enable = 0

Opcache.enable = 1

Potom sa uistite, že je aktivovaný modul php:

# php5enmod opcache

Nakoniec reštartujte Apache:

Reštart služby apache2

Vyšetrenie:

Http: // /info.php

Vytvorte súbor info.php s nasledujúcim obsahom v koreňovom adresári webového servera / var / www / html /

A otvorte ho v prehliadači. Nájdete tam informácie o PHP vrátane povolenej vyrovnávacej pamäte. Nenechávajte tento súbor na produkčnom serveri. Po kontrole ho odstráňte.
Mali by ste vidieť:

Ukladanie operačného kódu do vyrovnávacej pamäte a spustenie optimalizácie Zend OPcache povolené atď.

Ako nainštalovať alternatívnu vyrovnávaciu pamäť PHP (APC) na Ubuntu 12.04

Inštalácia z PECL

Informácie o inštalácii z úložiska Ubuntu nájdete nižšie.

O spoločnosti APC.
APC je skvelý operačný systém na ukladanie kódu do vyrovnávacej pamäte pre PHP, ktorý môže pomôcť urýchliť vašu stránku. PHP je dynamický skriptovací jazyk na strane servera, ktorý musí server analyzovať, skompilovať a spustiť pri každej požiadavke na stránku. V mnohých prípadoch však požiadavky prinášajú presne rovnaké výsledky, čo znamená, že cloudový server musí zbytočne opakovať všetky tieto kroky pre každú z nich.
Tu vstupuje do hry APC. To, čo robí, je uložiť operačný kód PHP (operačný kód) do pamäte RAM a ak je znova požiadaný, vykoná ho odtiaľ. V podstate obchádza kroky analýzy a kompilácie a minimalizuje niektoré zbytočné zaťaženie cloudového servera.

To predpokladá, že máte svoje vlastné VPS s oprávneniami root a nainštalovanú LAMP.

Najprv nainštalujte balíčky:

Sudo apt-get install php-pear php5-dev make libpcre3-dev

Teraz môžete nainštalovať APC pomocou príkazu pecl:

Sudo pecl nainštalovať apc

Budete vyzvaní, aby ste odpovedali na niekoľko otázok, ale kým nebudete poznať presnú odpoveď, použite predvolené nastavenie stlačením klávesu Enter.

Ďalším a posledným krokom je úprava súboru php.ini

pridanie na koniec riadku:

Rozšírenie = apc.so

Uložte súbor a reštartujte Apache:

Reštart služby Sudo apache2

Ak chcete skontrolovať, či je APC povolené, skontrolujte informačnú stránku PHP. Ak ho nemáte, vytvorte ho v adresári / var / www:

Nano /var/www/info.php

a vložte kód:

Otvorte ho v prehliadači. Nájdete tam informácie o PHP vrátane povolenej vyrovnávacej pamäte. Nenechávajte tento súbor na produkčnom serveri. Po kontrole ho odstráňte.

Konfigurácia APC

Nainštalovali ste APC a spustí sa s predvolenými nastaveniami. Mali by ste si byť vedomí minimálne dvoch nastavení. Otvorte súbor php.ini, ktorý ste už upravili:

Sudo nano /etc/php5/apache2/php.ini

Pod riadok, že ste povolili APC, pridajte:

Apc.shm_size = 64

To umožní APC použiť 64 MB RAM na ukladanie do vyrovnávacej pamäte. Túto hodnotu môžete zmeniť v závislosti od vašej konfigurácie.
Ďalší riadok na pridanie:

Apc.stat = 0

Parameter apc.stat kontroluje skript pri každej požiadavke, aby zistil, či sa zmenil alebo nie. Ak sa skript zmenil, APC ho prekompiluje a uloží novú verziu do vyrovnávacej pamäte. Toto je predvolené správanie APC po inštalácii. Nastavením hodnoty parametra na 0 povieme APC, aby nekontrolovalo zmeny skriptu. To zlepšuje výkon, ale ak bol skript zmenený, zmeny sa nepoužijú, kým sa server nereštartuje. Preto sa hodnota 0 odporúča používať iba na produkčnom serveri, kde nedochádza k žiadnym trvalým zmenám kódu.

Monitorovanie APC
Existuje malý skript na sledovanie stavu a výkonu vyrovnávacej pamäte APC.

Súbor apc.php môžete skopírovať z / usr / share / php / do pracovného adresára webového servera, napríklad / vwr / www:

Cp /usr/share/php/apc.php / var / www - pre inštaláciu z pecl

Alebo si stiahnite:

Wget http://pecl.php.net/get/APCu -O - | tar xz --wildcards apcu * / apc.php

Teraz si pozrite tento súbor z vášho prehliadača:

Http: // /apc.php

Mali by ste vidieť štatistiky APC. Všimnite si, že APC má nedostatok pamäte a fragmentácia nie je príliš veľká.
Dobrým indikátorom by bola vysoká miera zásahov do vyrovnávacej pamäte, približne 95 % po viacerých požiadavkách.

Inštalácia vyrovnávacej pamäte APC z úložiska Ubuntu

$ sudo apt-get install php-apc

Reštartujte Apache a pozrite si info.php. Mala by sa zobraziť sekcia APC (Enabled On).
Na monitorovanie použite obslužný program, ktorý je súčasťou balenia:

Cd / usr / share / doc / php-apc # gunzip apc.php.gz

Skopírujte súbor apc.php napríklad do / var / www
Prístup k súboru z prehliadača:

Http: // /apc.php

Chyba:
Nie sú k dispozícii žiadne informácie o vyrovnávacej pamäti. Zdá sa, že APC nefunguje.

sa zobrazí, ak v kóde apc.php nie je zadané žiadne heslo.
Upravte súbor apc.php:

# vi /var/www/apc.php

a nastavte používateľské meno a heslo:

Predvolené ("ADMIN_USERNAME", "apc"); // Predvolené používateľské meno správcu ("ADMIN_PASSWORD", "pass"); // Heslo správcu – ZMENIŤ TOTO NA POVOLENIE !!!

Predvolené ("USE_AUTHENTICATION", 0);

Ďalšie možnosti v /etc/php5/apache2/conf.d/apc.ini

; apc.enabled = 1 – nerelevantné; apc.enable_cli = 1 – nepodstatné; apc.shm_size = 64 miliónov # predvolená hodnota 32 miliónov; apc.stat = 0

rytier so sudom 9. júla 2011 o 23:03

Prvotné nastavenie APC UPS v Linuxe z pohľadu čajníka

  • Drevenica *

Po zakúpení neprerušiteľného zdroja napájania od APC (konkrétne APC Back-UPS ES 550VA) som bol prekvapený, keď som zistil, že po vybalení sa nemôže pochváliť blízkym priateľstvom s Linuxom. XFCE Power Manager, ktorý je súčasťou XFCE 4.4, samozrejme zachytil a rozpoznal UPS, ale všetko, čo dokázal, bolo zobrazenie úrovne nabitia v zásobníku. Neboli tam vôbec žiadne nastavenia, nedalo sa ani nastaviť vypnutie PC pri dosiahnutí určitej úrovne nabitia.

Po konzultácii na Google som sa dozvedel o existencii úžasného démona apcupsd, ktorého úlohou je – tomu nikdy neuveríte – spravovať UPS od APC. Ako sa však ukázalo, takmer všetky návody na jeho počiatočné nastavenie boli úprimne zastarané - vrátane, napodiv, oficiálneho návodu. Hneď na začiatku som musel naraziť na "cat / proc / bus / usb / zariadenia". Po rozhovore so spoločnosťou Google serióznym a dôveryhodným tónom som mu dal odkaz na aktuálnu príručku, ktorej tento článok je umeleckým prekladom s doplnkami z iných zdrojov.

Začnime teda inštaláciou samotného apcupsd:

Sudo apt-get nainštalujte apcupsd

Samozrejme, vyššie uvedené platí pre Debian a jeho deriváty, vrátane Ubuntu. Ak vaša distribúcia nepoužíva apt-get, myslím, že stále viete, ako nainštalovať požadovaný balík. Dúfam.

Teraz upravíme konfiguračný súbor apcupsd:

Sudo gedit /etc/apcupsd/apcupsd.conf

V tomto prípade nás zaujímajú iba tri parametre:

  • UPSCABLE - označujeme typ kábla, ktorým je naša UPS pripojená k PC. Možné typy sú uvedené v komentároch - jednoduchý, inteligentný, ether, usb. Súčasné domáce modely sa pripájajú cez USB - preto stačí pridať usb
  • UPSTYPE - typ pripojeného UPS. V komentároch sú uvedené možné typy a zodpovedajúce hodnoty parametra DEVICE, našou voľbou je typ usb
  • DEVICE - komentujte tento riadok umiestnením znaku pred neho # - nie je potrebný pre zariadenia USB
Uložte upravený konfiguračný súbor, otvorte nasledovné:

Sudo gedit / etc / default / apcupsd

Vymeňte ISCONFIGURED = nie na ISCONFIGURED = áno, uložiť, zavrieť. Odteraz bude apcupsd vedieť, že sme ho nezabudli nakonfigurovať.

Teraz stačí spustiť apcupsd:

Sudo /etc/init.d/apcupsd sa spustí

Ak už bol spustený, namiesto štartu, samozrejme, budeme musieť napísať reštart.

To je všetko, váš počítač je teraz spojený s úplne novým UPS prostredníctvom silných priateľských väzieb.

Teraz trochu o tom, čo môžeme nakonfigurovať v rozsiahlom súbore /etc/apcupsd/apcupsd.conf:

  • ONBATTERYDELAY Čas (v sekundách), ktorý definuje oneskorenie medzi detekciou výpadku napájania a odoslaním udalosti onbattery. Predvolená hodnota - 6
  • BATTERYLEVEL Percento úrovne nabitia batérie, pri ktorom sa počítač vypne. Predvolená hodnota - 5
  • MINÚTY - odhadovaný čas zostávajúcej práce (v minútach), po dosiahnutí ktorej sa spustí vypnutie počítača. Predvolené - 3
  • TIMEOUT - parameter je relevantný pre staré UPS, ktoré nedokážu určiť úroveň ich nabitia. Nastavuje čas (v sekundách) medzi výpadkom napájania a vypnutím počítača. Pre moderné UPS by mal byť parameter ponechaný na 0, ale nastavenie inej hodnoty môže byť vhodné na testovanie prevádzky UPS. Napríklad, ak nastavíte 30 a odpojíte napájací kábel, apcupsd za pol minúty preukáže svoju schopnosť vypnúť počítač.
Jedna z podmienok (ÚROVEŇ BATERIE, MINUTY alebo ČASOVÝ LIMIT) postačuje na vypnutie počítača. Podrobnejšie ladenie nie je popísané, pretože jeho potreba pre domáceho používateľa je veľmi otázna.

Rozprávanie trvá dlho, ale netrvá dlho: predpokladám, že používateľ vykoná opísané akcie za pár minút. Dúfam, že tento článok niekomu pomôže spriateliť sa s jeho APC UPS s Linuxom, ušetrí čas a nezapadne do zastaraných manuálov.

Tagy: apc, apcupsd, ups, ups, linux

APC Je skratka pre Alternatívne ukladanie do vyrovnávacej pamäte PHP... Russian Text je alternatívna vyrovnávacia pamäť PHP. Načo sa to používa? Rovnako ako iné populárne vyrovnávacie pamäte, ako sú XCache a eAccelerator, sa používa na zrýchlenie skriptov PHP. Ak máte vlastný server a obávate sa rýchlosti PHP skriptov, riešením vášho problému môže byť APC. V dnešnom článku sa dozvieme viac o APC, naučíme sa ho nainštalovať a otestovať, využiť APC caching pri písaní PHP skriptov.

Dnes to zistíme

Čo je APC Accelerator?

UrýchľovačAPC(Alternative PHP Cache) je bezplatná a open source vyrovnávacia pamäť operačných kódov pre PHP. Bol koncipovaný ako bezplatný, otvorený zdrojový a stabilný rámec na ukladanie do vyrovnávacej pamäte a optimalizáciu zdrojového kódu PHP. APC je vo fáze vývoja. V súčasnosti podporuje PHP 4 a PHP 5, vrátane 5.3. Vraj má byť súčasťou štandardnej verzie PHP 6.

Ako sa dosiahne zrýchleniePHP?

Keď dôjde k oneskoreniu načítania vašej stránky, vyvstáva otázka - Prečo? Faktom je, že keď sa vykoná štandardné volanie skriptu PHP, skompiluje sa zakaždým nanovo. To znamená, že rovnaká práca sa vykonáva niekoľkokrát. Ak ide o malý projekt, spomalenia môžu byť jemné, dokonca neviditeľné. Ak však máte veľký projekt (stránku), všimli ste si, že pri prístupe dochádza k oneskoreniu pri načítaní stránky, napriek tomu, že stránka je dobre optimalizovaná, pokiaľ ide o a. Kvôli prehľadnosti sa pozrime, ako sa štandardný dotaz vykonáva bez použitia akcelerátorov PHP:

Zároveň dochádza k exekúciám kompilačný kód na každú žiadosť. Spracovanie žiadosti zaberie veľa času, a preto sa spomaľuje. Aby to obišli, prišli s urýchľovačmi, ktorých zástupcom je APC. Preložený kód uložia do vyrovnávacej pamäte na disku, po prístupe k nemu vypíše výsledok. To zvyšuje rýchlosť PHP. APC môže pracovať v dvoch režimoch, ktoré sú nakonfigurované v súbore /etc/php.d/apc.ini, variabilný apc.stat... Premenná môže nadobúdať hodnoty 1 a 0 (apc.stat = 0 alebo apc.stat = 1). Pri použití režimu apc.stat = 1 je práca skriptov mierne spomalená, rovnako ako kontrola modifikácie súboru, ale vyhnete sa tak problémom pri zmene kódu a výstup zostane rovnaký. Preto vám odporúčam nastaviť hodnotu premennej na 1.

Po nainštalovaní akcelerátora APC bude schéma vykonávania požiadavky nasledovná:

Inštalácia APC

Inštalácia APC je veľmi jednoduchá. Dá sa nainštalovať na Debian / Ubuntu aj na iné distribúcie.

Inštalácia APC na CentOS, RHEL, Fedora:

Nainštalujeme cez PECL. Najprv zahrnieme .repo, ktoré obsahuje aktuálne APC. Pozrite si príklad nižšie:

wget http://rpm.scwlab.com/el/php/yum.conf -O /etc/yum.repos.d/stalwart.repo

yum nainštalovať php-pecl-apc

Teraz zmeňte nastavenia súboru /etc/php.d/apc.ini podľa svojich predstáv a reštartujte server.

Inštalácia APC na Debian, Ubuntu

apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g ++

pecl nainštalovať apc

Po stiahnutí otvorte súbor na /etc/php5/apache2/php.ini, pridajte parameter rozšírenie = apc.so a reštartujte server.

Ako vidíte, inštalácia APC na Debian alebo Ubuntu je pomerne jednoduchá, musíte do konzoly zadať príkaz sudo aptitude nainštalujte php-apc... Toto rozšírenie môžete nainštalovať aj cez synaptické... Ak máte inú distribúciu, môžete si nainštalovať balík APC z PECL. Ak to chcete urobiť, spustite nasledujúci príkaz v konzole sudo pecl nainštalovať apc.

Kontrola dostupnosti balíkaAPC

Ak je v súbore nastavení php.ini riadok na stiahnutie balíka rozšírenie = apc.so... Alebo bol v konfiguračnom priečinku PHP extensions vytvorený súbor apc.ini s identickým riadkom. Každá distribučná súprava má svoju vlastnú adresu. Pre Debian je to /etc/php5/apache2/conf.d/.

Ak ste skontrolovali a ubezpečili sa, že je všetko v poriadku, reštartujte server. Teraz sa pozrime na informácie o samotnom balíku APC. Ak to chcete urobiť, nájdite priečinok, v ktorom bolo rozšírenie nainštalované. V priečinku nájdete súbor s názvom apc.php... Tento súbor sa nachádza aj v inštalačnom archíve. Skopírujte ho do ľubovoľného adresára zo stránok vášho servera..php. Ak bol balík úspešne nainštalovaný, po stiahnutí tohto súboru sa zobrazí nasledujúca tabuľka s informáciami o aktuálnom balíku APC.



Používanie APC v PHP

Používanie rozšírenia APC pri písaní PHP kódu je veľmi jednoduché a pohodlné. Teraz uvidíte sami.

Najprv napíšeme triedu na prácu s pamäťou cez systém vyrovnávacej pamäte APC. Vytvorte súbor a vložte tam kód na nasledujúcu adresu:

triedy / apc.caching.php

bEnabled = extension_loaded ("apc"); ) // získanie údajov z pamäťovej funkcie getData ($ sKey) ($ bRes = false; $ vData = apc_fetch ($ sKey, $ bRes); návrat ($ bRes)? $ vData: null;) // funkcia uloženia údajov do pamäte setData ($ sKey, $ vData) (vrátenie apc_store ($ sKey, $ vData, $ this-> iTtl);) // odstránenie údajov z pamäte funkcia delData ($ sKey) ($ bRes = false; apc_fetch ($ sKey, $ bRes); návrat ($ bRes)? apc_delete ($ sKey): true;))?>

Trieda popisuje, čo každá z funkcií robí. Teraz vytvoríme testovací súbor.

index.php

"tabuľka", "farba" => "hnedá", "veľkosť" => pole ("x" => 200, "y" => 120, "z" => 150,), "sila" => 10, ); require_once ("classes / apc.caching.php"); $ oCache = nová CacheAPC (); echo "Údaje:

"; // Pozrime sa, čo máme print_r ($ aData); echo"
"; if ($ oCache-> bEnabled) (// Ak je APC k dispozícii $ oCache-> setData (" my_object ", $ aData); // Uloženie údajov do pamäte $ oCache-> setData (" our_class_object ", $ oCache) ; // Uloženie objektu triedy do pamäte echo "Teoreticky sme uložili údaje do pamäte, kliknite sem a skontrolujte, či je tam naozaj všetko.";) Inak (echo "Balík APC nie je nainštalovaný, nainštalujte a potom budete test!";) ?>

V tomto súbore máme v pamäti uložené 2 objekty: pole a objekt triedy. Teraz vytvoríme druhý súbor.

index2.php

bEnabled) (// Ak je k dispozícii APC $ aMemData = $ oCache-> getData ("my_object"); // Získanie údajov z pamäte $ aMemData2 = $ oCache-> getData ("our_class_object"); // Získanie údajov z pamäte, ktoré v triede echo "Údaje v pamäti:

"; // skontrolujte, čo máme v pamäti print_r ($ aMemData); echo"
"; echo" Ako vidíte, všetky údaje sú k dispozícii, teraz ich stiahneme z pamäte, ideme sem ... ";) else (echo" Balík APC nie je nainštalovaný, nainštalujte a potom budete testovať! ";)?>

V tomto skripte čítame informácie iba z pamäte. Ako vidíte, všetky informácie sa dokonale čítajú z pamäte. Pozrime sa na posledný príklad.

index3.php

bEnabled) (// Ak je APC k dispozícii $ oCache-> delData ("my_object"); // Získanie údajov z pamäte $ oCache-> delData ("our_class_object"); // Získanie údajov z pamäte $ aMemData = $ oCache-> getData ("my_object"); // pokus o získanie údajov späť $ aMemData2 = $ oCache-> getData ("our_class_object"); echo "Údaje z pamäte:

"; // Skontrolujte, čo máme v pamäti print_r ($ aMemData); echo"
"; echo" Údaje z pamäťového objektu triedy CacheAPC:
"; print_r ($ aMemData2); echo"
"; echo" Ako vidíte, všetky údaje boli načítané z pamäte. Hurá! ";) Inak (echo" Nie je nainštalovaný žiadny balík APC, nainštalujte a otestujte neskôr! ";)?>

Záver

Ďakujem za tvoju pozornosť! Dúfam, že vás zaujalo čítanie o používaníAPC inPHP. Ak máte ďalšie nápady na použitieAPC pri písaníPHP skripty, napíšte o tom v komentároch.

9. apríla 2015 12:12 hod 1 889 videní | bez komentára

čo je APC?

APC je systém na ukladanie kódu PHP do vyrovnávacej pamäte, ktorý vám umožňuje zrýchliť vaše webové stránky. PHP je dynamický skriptovací jazyk na strane servera, ktorý je potrebné analyzovať, skompilovať a spustiť na serveri pri každej požiadavke na stránku. V mnohých prípadoch sa však požiadavky opakujú, a preto musí cloudový server každú z nich znova spracovať.

Tu prichádza na pomoc APC alebo Alternative PHP Cache. Tento nástroj ukladá kód PHP do pamäte RAM a podľa potreby ho načítava. V podstate obchádza spracovanie a kompiláciu kódu, čím sa minimalizuje zaťaženie servera.

Táto príručka vám ukáže, ako nainštalovať a nakonfigurovať APC.

Poznámka: Na dokončenie tutoriálu musíte mať tiež oprávnenia root.

Inštalácia APC

Pred inštaláciou vyrovnávacej pamäte APC musíte nainštalovať niektoré z jej závislostí. Ak to chcete urobiť, použite nasledujúci príkaz:

sudo apt-get install php-pear php5-dev make libpcre3-dev

Potom môžete nainštalovať APC pomocou príkazu pecl:

sudo pecl nainštalovať apc

Na konci inštalácie je potrebné upraviť súbor php.ini:

na koniec pridajte nasledujúci riadok:

rozšírenie = apc.so

Uložte a zatvorte súbor a reštartujte Apache:

reštart služby sudo apache2

Ak chcete zistiť, či je APC povolené, otvorte informačnú stránku PHP. Ak nie, vytvorte prázdny súbor php v priečinku / var / www:

nano /var/www/info.php

A pridajte k nemu nasledujúci kód:

phpinfo ();
?>

Uložte a zatvorte súbor a potom otvorte prehliadač. Na obrazovke sa zobrazia všetky informácie o aktuálnej inštalácii PHP. Ak je APC povolené, stránka to oznámi. Vo všeobecnosti sa neodporúča opustiť tento súbor, pretože môže poskytnúť prístup k dôverným údajom neoprávneným používateľom. Po kontrole ho odstráňte.

Konfigurácia APC

Po inštalácii sa APC Cache spustí s predvolenými nastaveniami. V jeho konfiguráciách sú dve veľmi dôležité nastavenia. Otvorte teda súbor php.ini:

sudo nano /etc/php5/apache2/php.ini

Pod predtým pridaný riadok, ktorý obsahuje APC, pridajte nasledujúci riadok:

apc.shm_size = 64

Tým sa pridelí 64 MB pamäte RAM pre ukladanie do vyrovnávacej pamäte APC. Táto hodnota sa môže líšiť v závislosti od požiadaviek alebo obmedzení virtuálneho dedikovaného servera.

Nižšie je potrebné pridať ešte jeden riadok:

Nastavenie apc.stat kontroluje skript pri každej požiadavke, aby skontroloval zmeny. Ak sa zmenil, znova ho skompiluje a uloží novú verziu do vyrovnávacej pamäte. Toto je štandardné správanie APC. Hodnota 0 v tomto riadku povie APC, aby nekontrolovala zmeny v skripte. To zlepšuje výkon, má to však nevýhodu: ak dôjde k zmenám v skripte PHP, nevykonajú sa, kým sa cloudový server nereštartuje. Preto sa odporúča nastaviť hodnotu na 0 iba na miestach, ktoré sú vo fáze výroby.

Teraz, keď je vyrovnávacia pamäť APC nainštalovaná a spustená, môžete skontrolovať jej stav a výkon. Nájdite súbor apc.php v priečinku / usr / share / php / a presuňte ho do priečinka dostupného v prehliadači - napríklad www.