Realizzare portali, e-commerce e siti Web in PHP
La tecnologia sta cambiando velocemente, scegliere un linguaggio di programmazione che rimanga valido nel tempo può far risparmiare denaro in futuro: non sarai costretto a cambiare software al tuo portale o al tuo e-commerce.
PHP è il linguaggio di programmazione usato WordPress, uno dei software più famosi: WordPress è un CMS usato per realizzare siti Web, piccoli portali e piccoli e-commerce, questo CMS è la garanzia che il tuo software resisterà ai futuri cambiamenti tecnologici perché risulta essere il più usato.
Da più di cinque anni, Comm.it realizza le sue Web Apps anche con WordPress.
Per non parlare di Laravel anch’esso uno dei maggiori framework utilizzati per realizzare portali Web di piccole e medie dimensioni; anch’esso è realizzato in PHP, Comm.it da diversi anni lo utilizza per i suoi clienti.
Magento è un software per realizzare e-commerce per grosse aziende: il famoso Ebay è fatto con Magento.
Anche Magento è realizzato in PHP, quindi chiedere un sito in PHP significa investire soldi in qualcosa di economico e duraturo nel tempo, il resto dei software non possono garantirti questo, con altri linguaggi potresti non trovare sviluppatori per il tuo portale, sito Web o e-commerce.
Il punto centrale è che l’ascesa dell’industria open source ha portato a scegliere i migliori software per realizzare portali, e-commerce e siti Web.
L’architettura è diventata più semplice e necessaria per disaccoppiare con le interazioni asincrone (Django, Flask e Node.js hanno la possibilità di inserire nel codice funzionalità asincrone) . È inoltre comune per i moduli non-core o middleware scegliere progetti open source in linguaggi eterogenei che superino i limiti di prestazioni o hanno requisiti aziendali speciali coinvolti nei miglioramenti dello sviluppo (cioè ad esempio alcune API sono realizzate in PHP altre che hanno bisogno di un output molto veloce si usa Node.js come per esempio nelle chat, quindi si creano progetti con linguaggi eterogenei).
Più dell’80% di siti Web, portali, e-commerce di piccole e medie dimensioni sono scritti in php.
Molte persone hanno spiegato i vantaggi di java rispetto alla funzionalità di php quando si fa la logica di base, ma questo non è un problema così importante per un linguaggio Turing Completeness, inoltre, l’attuale comunità php ha una soluzione completa.
Perché scegliere PHP per realizzare il tuo portale Web
C’è un punto che poche persone notano: i fattori che contribuiscono a questa scelta potrebbero non essere la lingua, ma le persone che la usano:
1. Prima di tutto, definiamo il teams di sviluppo del portale Web: dovrebbe essere necessario avere un gran numero di squadre (condizioni non sufficienti), e dovrebbero essere tutte d’elite (dall’elite all’elite dopo alcuni anni di lavoro), supponendo che il numero sia di 300 persone.
2. Supponiamo di contare il prodotto, l’interfaccia utente, il front-end, il back-end, il test; in base alla percentuale di allocazione normale della domanda, il numero di persone nel back-end può essere di circa 100.
3. Successivamente, chiedi al tuo HR quanto sia difficile completare un team tecnico d’élite di 100 persone php (costruire o continuare a fare le persone).
Ti diranno che è quasi impossibile.
Solo quando chiedete spesso alle persone HR saprete quali posizioni di élite sono le più difficili da reclutare, e i teste sanno meglio quanto grande sia il divario tra sviluppo generale e buon sviluppo.
Php ha il vantaggio di uno sviluppo rapido, ed è anche il linguaggio completo di Turing, oltre allo sviluppo iterativo negli ultimi anni le migliori soluzioni offerte da Co-programma, e il compilatore Just-in-time( JIT) di Java per lavorare con php 8 in poi.
Tutto questo suggerisce che php nel linguaggio non ha molti più svantaggi, ma lavorando con Java il costo umano effettivo e i problemi di team building sono i problemi più grandi, che non possono essere risolti direttamente con lo sviluppo del linguaggio. La risposta definitiva a questa domanda sta nella comunità, per questo motivo si sottolinea l’importanza della prosperità della comunità php. La prosperità della comunità php dipende da ogni phper ( è il Web developer di back-end che usa il linguaggio PHP per sviluppare i portali).
Al momento, sembra che molte grandi Web House stanno cominciando ad implementare i team di phper, il reparto php della società dedicato alla realizzazione di Web apps in php.
I competitor di PHP
Dopo la struttura dei moduli, è diventato sempre più comune che diversi di questi siano implementati in diversi linguaggi in base ai loro scenari e alle loro esigenze aziendali, in parte a causa della composizione del team tecnico dell’azienda. Non c’è da meravigliarsi che PHP sia il più commerciale nello sviluppo Web. Oggi Python / NodeJS / Go e altri hanno anche aderito all’esercito di sistemi eterogenei con molti progetti open source.
La risposta originale fu probabilmente scritta intorno al 2012.
In primo luogo, perché PHP e non altri? Questo ha molto a che fare con la comunità open source di entrambi; inoltre è adatto allo sviluppo Web, e agli ambienti linux, dove può essere gestito in modo uniforme sulle operazioni.
Anche la quota di mercato di Net è bassa, ma è relativamente meno considerata a causa di problemi come il costo di delle licenze di Windows, SQL Server e le comunità open source inattive. Il linguaggio adatto per lo sviluppo Web in TIOBE TOP 10 include anche Python Perl Ruby. La recente uptivity di Python è stata forte, ma considerando che c’è meno documentazione e reclutare sviluppatori e difficile, quelli che si sono, sono pochi e sono in gran parte destinati ad essere una scelta mainstream per i grandi portali Web. Stesso discorso per Ruby.
Guardate di nuovo le differenze tra le due lingue. PHP è flessibile, veloce da iniziare, facile da modificare, veloce da pubblicare, gli svantaggi sono semplici: commettere errori (comune come errori di ortografia, SQL injection, esecuzione del caricamento, ecc.), esecuzione inefficiente, mancanza di memorizzazione nella cache globale.
Java ha i vantaggi di essere stabile e affidabile, di funzionare in modo efficiente (soprattutto perché JIT è diventato più errante), non soggetto a errori (tipo forte, precompilazione, deve intercettare le eccezioni e così via), e lo svantaggio è che lo sviluppo e la pubblicazione sono relativamente inefficienti: Web Developer bravi a sviluppare con Java sono difficili da trovare rendendo lo sviluppo lungo e spigoloso, creando molti bug costruendo portali poco efficienti, rendendo costoso lo sviluppo sia per l’azienda che per il committente.
Come sviluppano i Web developer con PHP
Oggi si usa la gerarchia di MVC, nel ciclo di sviluppo del progetto dei portali, e-commerce, sito Web generale. Questa è una buona sistema per velocizzare lo sviluppo, creando ordine, e facilitando successivi ampliamenti senza il bisogno di cambiare software o ripartire da 0.
Anche in questo caso, la tecnologia RPC è abbastanza matura per entrambe le API Web Services/Hessian/RESTful per consentire agli sviluppatori di concentrarsi sullo sviluppo funzionale senza dover pensare troppo alle differenze tra piattaforme eterogenee e dettagli di comunicazione. Ciò significa che l’applicazione con più linguaggi di programmazione in una grande azienda non introduce troppa complessità e sforzo. Naturalmente, il limite inferiore della quantità di documentazione che è molto più alto, ma in realtà la maggior parte dei team sono felici di questo, anche se genera delle complessita che solo aziende come Comm.it con quindicianni di esperienza sa risolvere grazie ai suoi programmatori altamente qualificati.
Infatti, ci sono molte aziende al fine di garantire che l’organizzazione del team non sia eccessivamente complessa, saranno più inclini ad adottare un unico linguaggio, soprattutto le piccole e medie imprese anche per abbattere i costi e i bug.
Nel complesso, vicino al front-end dell’utente, PHP consente aggiornamenti frequenti e banali al front-end fatti più rapidamente, rispondendo liberamente ai cambiamenti nei requisiti. La ristrutturazione delle pagine, la convalida di base dell’input dell’utente, la logica semplice relativa solo all’interazione dell’utente e così via sono tutte adatte per lo sviluppo php.
Anche le tecnologie del modello come Smarty possono eseguire la migrazione delle modifiche ai team front-end. La logica di business di base e gli aggiornamenti dei dati vengono sviluppati da PHP, che può migliorare in modo efficace la riutilizzabilità, migliorare le prestazioni e la velocità effettiva ed evitare problemi di sicurezza. Una leggera riduzione dell’efficienza di sviluppo in cambio di un aumento della manutenibilità e una pubblicazione più lenta non è un problema, poiché le modifiche alla logica di business sottostante sono spesso modifiche complessive e sono disponibili conferme di test strato per strato per il rilascio.
Pertanto, il front-end del sito Web su larga scala che utilizza il back-end PHP, con un buon reclutamento del personale, con la manutenzione, la stabilità del sistema e le alte prestazioni, anche la sicurezza è stata notevolmente aumentata, riducendo così i costi ed offrendo software migliori. Anche il riutilizzo del codice e la completezza dei documenti sono stati migliorati. Questi vantaggi non è un problema non richiedere una maggiore ampiezza dello spettro di conoscenza dell’architetto.
PHP può anche fornire servizi e problemi di prestazioni di tipo algoritmico e architetturale piuttosto che differenze di linguaggio. Esempi come Velocity o JSTL sono anche eccellenti gli schemi di isolamento.
I vantaggi del doppio linguaggio dettagliando alcuni dei punti che sono difficili da cambiare:
1. PHP, a causa delle sue caratteristiche del linguaggio di scripting dinamico, tra cui classi, funzioni, costanti e così via.
Quali cicli devono essere ripetuti in ogni ciclo di richiesta prima della creazione dell’ambiente operativo; Inoltre, c’è una mancanza di supporto a livello di sistema per la condivisione dei dati, rendendo necessario capire quali dati di base devono essere riutilizzati dopo l’inizializzazione con l’aiuto di estensioni o middleware.
2. E ‘così facile commettere errori in PHP che è difficile individuarli, e anche se si utilizza studio di Zend, non è possibile modificare il fatto che per garantire che il programma è di alta qualità e senza errori, è necessario avere sufficiente esperienza, rigore, e un QA responsabile. Huang Wei di Taobao una volta ha scherzato sull’IDE. La ragione dietro lo scherzo era “mancanza di middleware”, cosa che è migliorata molto negli ultimi anni, soprattutto perché un sacco di supporti di middleware è diventato sempre più esteso a beneficio di PHP, ma la causa principale dello sviluppo è in realtà nelle comunità C e Java. Le prestazioni e gli errori sono di difficoltà tecniche causate dalle caratteristiche del linguaggio ed è difficile aspettarsi miglioramenti fondamentali.
3. Il mondo Java ha anche JSTL, Velocity e Freemarker, ma non sono paragonabili al rispetto e alle funzionalità dinamiche flessibili e potenti di PHP, funzioni ricche e librerie di classi, costi di apprendimento facili e documentazioni ricche!
In pratica, i problemi di prestazioni possono essere risolti attraverso una buona architettura, errori facili da commettere possono essere risolti attraverso framework e specifiche e test completi, è la giusta selezione del middleware.
Pertanto, si vedranno sempre più teams di back-end che usano linguaggi diversi. Infine, userai un linguaggio di programmazione in base alle caratteristiche di qual API o Endpoint, se laboriosa magari userai PHP se deve solo inviare un output userai Node.je, se è laboriosa ma deve avere una certa velocità userai Python, se molto complessa e servono risposte molto rapide userai Java o NET.
Il più grande vantaggio del back-end PHP è l’enorme ambiente di sviluppo, se vuoi risolvere un qualsiasi problema, PHP ha una soluzione già pronta, e, rispetto ad altri linguaggi, soluzioni open source sono nella media in termini di efficienza operativa e per i costi operativi è il migliore (qui non si discute della capacità del Developer,…), quindi il back-end è naturalmente incline a PHP, indipendentemente dal front-end.
Per quanto riguarda il front-end, il problema più grande è che l’interfaccia utente di un sito web cambia abbastanza frequentemente, con soluzioni di sviluppo tradizionali basate su java, jsp tag lib, Freemarker, velocità… Come si modifica il front-end e come si esegue il debug? Come capiscono senza uno studio speciale? Inoltre, il modello di sviluppo di java, muovendosi verso l’alto, è MVC
Il back-end e il front-end sono troppo integrati, fondamentalmente il front-end è difficile da lavorare liberamente nel livello ui.
A sua volta, il portale front-end basato su API scritte in back-end in PHP che lavora con Java, node.js,… in back-end per fare servizi, mentre il layout grafico prende i dati dal back-end.
Così il portale risulterà per gli utenti veloce e più bello da fruire, naturalmente è PHP la soluzione migliore, nessuno può cambiare, non importa quanto si guarda giù o su PHP, rimane la soluzione migliore per i Web Developer di back-end e più comoda per i Web developer di front-end, la soluzione Web dinamica più confortevole è ancora PHP!
Le lamentele più comuni tra Web Developer front-end e back-end:
1. I progettisti e gli ingegneri front-end si lamentano del fatto che il codice dinamico incorporato nelle pagine rende difficile per loro effettuare il refactoring delle pagine su larga scala, mentre gli sviluppatori back-end spesso si lamentano di doversi lavorare sodo per risolvere i problemi causati dal refactoring front-end delle pagine.
Comm.it in quindicianni di sviluppo software con grande esperienza ha risolto il problema egregiamente utilizzando framework front-end come Vue, React, Angular (link di tutti è tre alle rispettive pagine), rendendo la vita più semplice agli sviluppatori e riducendo i costi fornendo Web App di alta professionalità, e facili da espandere con nuove funzionalità, anche in un secondo, terzo memento, quarto…
2. Gli sviluppatori spesso soffrono della mancanza di funzionalità nel linguaggio. Una logica di rendering complessa speciale spesso richiede agli sviluppatori esperti di scrivere codice altamente qualificato da implementare. E questo tipo di codice, di solito, diventa difficile da capire.
Comm.it in quindicianni di sviluppo software con grande esperienza ha risolto il problema egregiamente utilizzando framework back-end come: Laravel, Node.JS, NET, Spring, Liferay, Django, Flask sono i Framework utilizzati dai più grandi player IT: Twitter, Netflix, Linkedin, Paypal, Uber,..
3. Gli sviluppatori sono estremamente insoddisfatti dell’efficienza di sviluppo inefficiente di MVC e sono desiderosi di avere un modello di sviluppo più efficiente.
Comm.it in quindicianni di sviluppo software con grande esperienza ha risolto il problema egregiamente utilizzando il framework back-end Django che è un MVV. Funziona così:una richiesta a un URL viene inviata a una View, questa vista richiama il Modello, esegue le manipolazioni e prepara i dati per l’output. I dati vengono passati a un View che viene reso emesso come risposta a video. Idealmente nei framework web, il Controller è nascosto alla vista.
La differenza rispetto a MVC: in MVC, l’utente interagisce con il sito Web, il Controller gestisce la richiesta e notifica il Modello e la View interroga il Controller per visualizzare il risultato all’utente.
Realizzazione portali ed e-commerce con PHP
L’ottimizzazione delle prestazioni dei siti Web, portali ed e-commerce di grandi dimensioni è molto importante.
Una velocità di apertura dell’accesso alla Web app influisce sull’esperienza utente, l’accesso lento al sito causerà un’elevata frequenza di rimbalzo, i siti di piccole dimensioni sono un’ottima soluzione, mentre i portali e gli e-commerce di grandi dimensioni a causa del numero di colonne e immagini sono pesanti da mostrare al browser, quindi Comm.it grazie all’esperienza quinquennale ha risolto questo problema utilizzando PHP in remoto con Laravel e in front-end framework come: vue, angular e react andando ad ottimizzare le prestazioni e rendendo leggero e fruibile il sito web.
In primo luogo, strategia per migliorare le prestazioni di portali, e-commerce e siti Web su larga scala:
I siti Web di grandi dimensioni, ad esempio i portali, dispongono di soluzioni di base incentrate sull’utilizzo di server ad alte prestazioni, database ad alte prestazioni, linguaggi di programmazione efficienti e contenitori Web ad alte prestazioni a fronte di un numero elevato di contenitori Web accessibili dall’utente.
In una certa misura, queste soluzioni significano maggiori investimenti.
Un contenitore Web è un programma di servizio che fornisce il servizio appropriato su una porta del server e questo programma gestisce le richieste dei client.
Ad esempio se si lavora con PHP e Java, il contenitore sarà Tomcat e dove stanno i file scritti in Java del portale . Un server può avere più di un contenitore.
Quindi i processi che Comm.it usa per rendere il sito Web più veloce capiti in quindici anni di esperienza sul campo, se l’azienda non ha anni di esperienza non sarà in grado di fare bene le seguenti cose:
1. SPA che significa Single Page Application, in pratica l’utente si accorge di essere su questi siti perchè non c’è il reload dal server e le pagine vengono visualizzate molto velocemente con poco tempo di latenza: da sempre il miglior modo di rendere il sito bello e veloce per l’utente è lo sviluppo front-end con i framework: React, Angular, Vue che sono utilizzati dai grossi player come: facebook, Netflix, Instagram, Amazon, … con la tecnologia Single Page Application il back-end scritto in PHP passa i dati alle SPA attraverso REST o GraphQL (inventata da Facebook).
Prima invece si usava o si usa il SSR, il server-side rendering, in pratica ti accorgi di questa tecnologia perché prima di passare da una pagina all’altra c’è il tempo di latenza alto perchè c’è il reload dal server, quindi in risposta a una chiamata HTTP, prima dell’arrivo di pagine web dinamiche generate in Javascript, veniva servito HTML statico, processato da linguaggi server-side come PHP, Python, Ruby,…
2. separazione del server delle immagini, come sapete, per i server Web, che si tratti di Apache, IIS o altri contenitori, le immagini sono le più dispendiose in termini di risorse, quindi è necessario separare le immagini dalle pagine, che è fondamentalmente la strategia utilizzata dai portali ed e-commerce di grandi dimensioni, tutti hanno server di immagini separati, anche molti. Tale architettura riduce la pressione sul sistema server che fornisce richieste di accesso alle pagine e garantisce che il sistema non si arresti in modo anomalo a causa di problemi di immagine.
Nei server di applicazioni e nei server di immagini, è possibile eseguire diverse ottimizzazioni della configurazione.
Ad esempio apache con il supporto minimo e il meno LoadModule possibile durante la configurazione di ContentType, garantendo un maggiore consumo del sistema e l’efficienza di esecuzione.
3. cluster di database, hash della tabella di libreria, i portali ed e-commerce di grandi dimensioni dispongono di applicazioni complesse che devono utilizzare database, pertanto, di fronte a un elevato accesso, il collo di bottiglia del database può emergere rapidamente e un database non sarà presto in grado di soddisfare l’applicazione, pertanto è necessario utilizzare un cluster di database o un hash della tabella di libreria.
In termini di cluster di database, molti database hanno le proprie soluzioni, così come Master/Slave, che viene spesso fornito da MySQL.
I cluster utilizzano in genere la tecnologia di bilanciamento del carico CDN e GSBL e DNS, ogni regione ha un gruppo di gruppi di server, ad esempio: NetEase, Baidu ha utilizzato la tecnologia di bilanciamento del carico DNS, ogni canale un set di server che utilizza la tecnologia di carico DNS, tutti i canali condividono un set di cluster di server.
L’hashing della libreria è una soluzione comune ed efficace:
Installiamo moduli aziendali e applicativi o funzionali nell’applicazione per separare il database, moduli diversi corrispondono a database o tabelle diversi e quindi in base a una determinata politica per una pagina o funzione, si usa l’hash di database, ad esempio tabelle utente, in base all’hash della tabella ID utente si fanno i Join, in modo che possa migliorare le prestazioni del sistema a un costo basso e avere una buona scalabilità.
Forum di Sohu è l’uso di tale quadro, gli utenti del forum, le impostazioni, post e altri post di dati di informazioni di separazione, e poi i post, gli utenti in base alla campo ID e dell’hash del database e tabella, si può semplice configurazione nel file di configurazione, così può consentire al sistema in qualsiasi momento di aggiungere un database a basso costo per integrare le prestazioni del sistema.
4. cache la parola caching è stata utilizzata in molti luoghi. Anche l’architettura dei portali ed e-commerce la cache nello sviluppo delle Web app sono importanti. Ecco due delle cache più basili. La memorizzazione nella cache avanzata e distribuita è descritta più avanti.
Dal punto di vista architettonico, chiunque abbia familiarità con Apache sa che Apache fornisce il proprio modulo di cache, o può essere memorizzato nella cache utilizzando il modulo più Squid, entrambi possono migliorare efficacemente la reattività di accesso di Apache.
Cache di sviluppo del programma del sito Web, La cache di memoria fornita su Linux è un’interfaccia di memorizzazione nella cache comunemente utilizzata che può essere utilizzata nello sviluppo web, ad esempio l’utilizzo dello sviluppo Java per chiamare MemoryCache per memorizzare nella cache e condividere alcuni dati, che viene utilizzato da alcune comunità di grandi dimensioni. Inoltre, nell’uso dello sviluppo del linguaggio web, tutti i linguaggi hanno fondamentalmente i propri moduli di memorizzazione nella cache e metodi, PHP ha il modulo Cache, Java è più, .net non è molto familiare, credo che ci deve essere.
5. specchio il mirroring viene spesso utilizzato dai portali e e-commerce di grandi dimensioni per migliorare le prestazioni e la sicurezza dei dati, la tecnologia di mirroring può risolvere diversi provider di accesso alla rete e differenze geografiche nella velocità di accesso degli utenti, come le differenze di ChinaNet ed EduNet tra molti siti Web nella rete didattica per creare siti mirror, dati per aggiornamenti regolari o aggiornamenti in tempo reale.
6. bilanciamento del carico, il bilanciamento del carico sarà una soluzione di fascia alta per i portali di grandi dimensioni per gestire le visite ad alto carico e un gran numero di richieste synth.
La tecnologia di bilanciamento del carico è stata sviluppata per molti anni, ci sono molti fornitori di servizi professionali e prodotti tra cui scegliere, personalmente noi di Comm.it conosciamo alcune soluzioni, tra cui due architetture di riferimento.
Commi.it data la sua esperienza quinqiennale sa come ottimizzare la scrittura di codice PHP, qui di seguito spieghiamo alcuni trucchetti per ottimizzare il codice PHP :
1. Echo è molto più veloce della stampa, entrambi i metodi stampano gli elementi sulla pagina, ma echo non restituisce alcun valore e print restituisce 0 o 1 in caso di esito positivo o negativo.
2. include_once spreca molto più tempo ad essere eseguito di include Perché deve verificare se la classe che si desidera includere è già inclusa.
3. Assicurarsi di utilizzare virgolette singole anziché virgolette doppie per stringhe di paragrafi lunghi.
Perché le virgolette doppie cercano le variabili nella stringa. Ad esempio: echo ‘This is long string’.$name è molto più veloce dell’eco ‘questa è una stringa lunga $name’.
4. Non nidificare nuovamente il ciclo for.
5. Se è possibile definire una funzione come statica, quindi non definire come una funzione membro, che è 33% più veloce di una funzione membro.
6. Se è possibile risolvere il problema senza espressioni regolari allora non usare le regole giuste. Le espressioni regolari sono più lente delle funzioni PHP-native.
Ad esempio, utilizzare str_replace invece preg_replace.
7. Provare a non utilizzare percorsi relativi per contenere i file, la ricerca di un file in un percorso relativo si trova ora nella directory corrente. Questo rende lento trovare i file. È una WEB_ROOT una tale costante e quindi va utilizzata per contenere il file.
8. Il simbolo completo è più veloce dell’uguale, e se (1 s.1′) restituisce true, se (0 s.) restituisce true e se (1 s.1′) e if (0 s.1′) restituiscono false quando si utilizza il simbolo di uguale. Quindi è meglio utilizzare simboli completi quando è necessario rilevare alcune variabili booleane nel programma.
Commi.it data la sua esperienza quinquennale sa come ottimizzare i server dove gira PHP, qui di seguito spieghiamo alcuni trucchetti per ottimizzare “Think PHP” :
1. Disattivare la modalità di debug, una volta che la modalità di debug è disattivata, la cache di compilazione del progetto viene generata automaticamente e le scritture del log vengono disattivate, riducendo il caricamento di I/O e la scrittura del log.
2. Aprire l’output di compressione della pagina, la versione 3.1 inizia con l’aggiunta di OUTPUT_ENCODE di configurazione per controllare l’output di compressione della pagina.
3. Attivare la cache, l’installazione di una cache APC o Xcache in un ambiente di distribuzione del sito può migliorare in modo efficace le prestazioni del sito e il footprint di memoria.
XCache è un open source opcode cache /optimizer, il che significa che può migliorare le prestazioni PHP sul server. Memorizzando nel buffer i dati PHP compilati nella memoria condivisa per evitare processi di compilazione duplicati, è stato in grado di utilizzare direttamente il codice compilato memorizzato nel buffer per aumentare la velocità. In genere è possibile aumentare la velocità di produzione della pagina da 2 a 5 volte riducendo il carico del server.
Alternative PHP Cache (APC) è uno strumento di memoria buffer open source ad alta velocità che è efficace per PHP; memorizza nella cache il codice intermedio php del codice operativo.
4. Cache dei campi, per impostazione predefinita, le cache dei campi vengono generate automaticamente e, al termine dello sviluppo, fondamentalmente il database cambia meno, pertanto è consigliabile unire i campi alla classe Model corrispondente, riducendo l’overhead di I/O di ogni cache dei campi di lettura. Il metodo merge consiste nell’individuare la cache dei campi _fields runtime/Data/data/data file riportato di seguito.
Commi.it data la sua esperienza quinqiennale sa come ottimizzare il DataBase per PHP:
1, scegliere il motore di archiviazione corretto: MySQL, ad esempio, include uno dei due motori di archiviazione, MyISAM e InnoDB, ciascuno con pro e contro.
MyISAM è adatto per le applicazioni che richiedono molte query. La tendenza innoDB sarà un motore di archiviazione molto complesso che sarà più lento di MyISAM per le piccole applicazioni. Tuttavia, supporta “blocchi di riga” e le transazioni.
2, ottimizzare il tipo di dati del campo: più piccola è la colonna, più velocemente sarà per la maggior parte dei motori di database, le operazioni sul disco rigido possono essere il collo di bottiglia più significativo. Quindi, rendere i dati compatti può essere molto utile perché riduce l’accesso al disco rigido.
Se una tabella contiene solo poche colonne (ad esempio, una tabella del dizionario, una tabella di configurazione), non vi è alcun motivo per utilizzare INT come chiave primaria, sarebbe più economico usare MEDIUMINT, SMALLINT o TINYINT più piccolo. Se non è necessario registrare il tempo, è molto meglio usare DATE che DATETIME. Naturalmente, è anche necessario lasciare abbastanza spazio per l’espansione.
3, aggiungere un indice al campo di ricerca: un indice non è necessariamente una chiave primaria o un campo univoco.