Gazduirea obișnuită este, de obicei, cea mai ieftină, dar nu este potrivită pentru site-uri cu trafic mare. Virtualizarea virtuală funcționează după cum urmează, multe site-uri web sunt situate pe același server, iar aceste site-uri împart toate resursele disponibile. În unele cazuri, un server partajat poate conține sute sau chiar mii de site-uri web active pe un singur server care pot afecta reciproc activitatea. În același timp, furnizorii de găzduire stabilesc restricții stricte privind găzduirea virtuală, ceea ce duce la greșeli frecvente. Shared hosting este cel mai potrivit pentru un conținut ușor sau static, iar pentru aplicații extrem de dinamice, cum ar fi SocialEngine, trebuie să alegeți dintre servere virtuale private (VPS) sau servere dedicate.
VPS sau servere dedicate
După cum am menționat mai devreme, serverele VPS și serverele dedicate sunt cea mai bună alegere atunci când vă gândiți la hosting. Cu toate acestea, există câteva avertismente.
În primul rând, majoritatea furnizorilor de hosting oferă planuri gestionate și ne-gestionate pentru VPS și servere dedicate. Cu ajutorul planurilor gestionate, furnizorul de servicii de găzduire își asumă responsabilitatea pentru furnizarea de asistență și pentru modificarea configurației serverului și, de asemenea, vă ajută în caz de eșec al software-ului server. Aceasta afectează creșterea valorii. Planurile neangajate sunt create pentru cei care au experiență cu serverele. Toate configurațiile acestui server vor cădea pe umerii tăi.
În al doilea rând, planul ales ar trebui să aibă cel puțin 2 GB de RAM. Dacă furnizorul de servicii de găzduire vă oferă un VPS sau un server dedicat cu memorie de 4 gigaocteți și bugetul vă permite să cumpărați, selectați-l. Motivul pentru aceasta este utilizarea MyEnSoftware-ului InnoDB al lui SocialEngine pentru a stoca tabele de baze de date. InnoDB utilizează memoria pentru stocarea indexurilor, precum și o memorie cache pentru datele utilizate frecvent, ceea ce permite ca majoritatea interogărilor SQL SocialEngine să fie executate în milisecunde.
Sfaturi pentru îmbunătățirea performanței în PHP
2. Memoria cache în memorie, nu pe fișiere
Dintre toate funcțiile de cache suportate de SocialEngine, cache-ul bazat pe fișiere este de departe cel mai lent. Toate celelalte funcții de cache din SocialEngine utilizează memoria și au o viteză mare de acces la memoria cache decât viteza de acces la fișiere.
3. Configurarea APC pentru rezultate mai bune
Dacă utilizați APC ca cache în SocialEngine, editați fișierul php.ini de pe server și ridicați apc.shm_size cu directiva 128:
Dacă aveți APC 3.1.9, utilizați următoarele:
Acest lucru ar trebui făcut pentru a evita fragmentarea ridicată, ceea ce reduce performanța APC.
Câteva avertismente, pe unele servere Unix / Linux, va trebui să ridicați manual resursele kernel.shmmax pentru a furniza memoria APC 128M. Pentru aceasta, găsiți fișierul de configurare Sysctl pe serverul dvs., de obicei /etc/sysctl.conf și efectuați următoarele modificări:
Această modificare trebuie făcută înainte ca directiva apc.shm_size să fie incrementată.
4. Urmăriți erorile PHP. Verificați jurnalele.
Erori și excepții în SocialEngine sunt înregistrate automat în jurnalele de eroare SocialEngine din jurnalul temporar / jurnal. Log - puteți verifica în Stats> Browser Jurnal prin panoul admin.
Unele dintre cele mai frecvente greșeli și soluția lor:
1. Utilizați două extensii PHP cu memoria cache opcode pe server (de exemplu, APC, Xcache, Eaccelerator sau Zend Optimizer). Dacă intenționați să utilizați APC sau Xcache, toate celelalte extensii pentru cache-ul de cod trebuie să fie dezactivate.
2. MySQli o conexiune pierduta la baza de date MySQL. A pierdut conexiunea la baza de date MySQL. De obicei, este rezolvată prin setarea directivei mysqli.reconnect.
3. Eroare de conexiune max MySQL. Numărul maxim de conexiuni. De obicei, aceasta este rezolvată prin setarea unei valori mai mici a interacțiunii time_timeout și a wait_timeout la 30 de secunde în MySQL.
Dacă întâmpinați un bug și aveți nevoie de ajutor, vă rugăm să mergeți la forumul nostru.
5. Utilizați mod_php5 sau mod_fastcgid cu APC
O problemă obișnuită care apare atunci când rulează APC este folosirea mod_fcgid cu PHP, ceea ce este o idee proastă privind sistemele multi-core. Luați în considerare un scenariu în care sunt 2 procesoare quad-core pe server. Cu cele 8 kernel-uri disponibile, mod_fcgid este folosit ca server API, APC alocă 8 galerii în memorie pentru stocarea datelor. Dacă aveți un APC configurat să utilizeze 128 MB de memorie partajată, se pare că APC utilizează în cele din urmă 1 GB de memorie RAM (8 * 128 MB = 1024 MB = 1 GB). Prezența a 8 nuclee conduce APC la creșterea ratelor de cache, acestea cresc încărcarea procesorului.
Pentru a evita această problemă, puteți utiliza mod_fastcgid sau mod_php5 cu Apache. Dacă SocialEngine rulează pe un server fără alte site-uri web, mod_php5 va oferi performanțe mai bune. Dacă aveți mai mult de un site web, cu toate acestea, fiecare site web există într-un cont de utilizator separat din motive de securitate, puteți utiliza mod_fastcgid. Memorie 128M pentru apc.shm_size - a se vedea # 3, APC va folosi 1GB de memorie. În plus, PHP va folosi celule de memorie aleatoare pentru cache-ul APC, ceea ce va duce la o creștere a numărului de cache-uri de memorie cache, ceea ce va crește sarcina pe CPU.