Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33

Discussione: PHP cacha? :)

  1. #1
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940

    PHP cacha? :)

    Mi domando: se moltissimi script PHP hanno tutti il medesimo file in include:
    codice:
    require_once ('my_classes.php');
    e questo file pesa parecchio in termini di Kb, l'interprete PHP cosa fa, lo tiene in cache o lo ricarica da disco ogni volta?

    Chi sa?
    10x

    [.:: JaguarXF ::.]
    __________________

  2. #2
    ovviamente lo reinterpreta

    per avere una specie di cache che parzialmente compila puoi usare eaccelerator che fa benissimo il suo dovere

  3. #3
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Interpretazione a parte - che per forza di cose dovrà aver luogo - mi chiedevo se il file viene riletto da disco oppure salvato in cache.

    Effettivamente la domanda doveva essere più completa: l'insieme di PHP, Apache, sistema operativo, processore, quando vedono parecchi accessi in lettura a quel dato file su disco, che fanno?

    Ovviamente a basso livello il processore ha la sua cache dati, il sistema operativo ottimizza con le sue cache (ce ne sono di svariati tipi e diversi algoritmi che le gestiscono, "writeback" etc), ma, in rapporto al PHP, cosa in realtà avviene in un computer? E' una domanda tosta lo so

    10x

    [.:: JaguarXF ::.]
    __________________

  4. #4
    quello dipende dal sistema operativo... e in genere i sistemi operativi caricano e scaricano "pagine" di memoria in base a diversi algoritmi....

    dal lato applictivo non credo ci sia nessuna cache

  5. #5
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    OS: Win XP/2k3

    dal lato applictivo non credo ci sia nessuna cache
    Cioè? Che distinzione c'è tra "lato applicativo" e lato non applicativo (di sistema?) nella cache: tutto è dato o comando passato al processore.

    Penso di non aver capito il tuo discorso.

    [.:: JaguarXF ::.]
    __________________

  6. #6

    asp.net VS php

    L'ultima versione di asp.net di Microsoft legge una sola volta tutti i file asp e li carica nella RAM del server; da quel momento in poi l'elaborazione delle pagine avviene senza rilettura degli script, la compilazione è quindi velocissima, superiore a quella del server Apache se la pagina non è nella cache.

    Il crew della Zend Technologies (che alla fine è composto dallo stesso Rasmus Lerdorf e ideatori/sviluppatori di PHP) si sono messi a lavoro per adeguare il PHP alla tecnologia asp.net, ed hanno tirato fuori il PHP Accelerator che fa qualcosa di simile, ma ancora non al livello del parsing asp.net.
    Ovviamente alla Zend ci stanno lavorando, sembra che non permetteranno così facilmente un sorpasso di queste entità da parte dei formati proprietari sull'open source, visto i primati finora mantenuti (vedi qui).

    Se ho detto qualcosa di impreciso segnalate pure, ho scoperto da poco questa info e mi sto documentando (mi interessano alquanto gli sviluppi!)
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  7. #7
    ora mi spieghi cosa c'entra asp.net con php? soprattutto in questa discussione, perché il nesso proprio non lo vedo

    inoltre ti vorrei far notare svariate cose:
    1°) Linux, a differenza di windows, ha una cache per i file di conseguenza il problema della caching non esiste, a differenza di windows
    2°) Per php esiste l'ottimo eAccelerator, ex turk mmcache, che è performante tanto quanto, se non di più, dello zend accelerator che non solo mette in cache ma in aggiunta pre-compila il codice php
    3°) PHP supporta il caching/byteencoding da ben prima che l'asp.net vedesse la luce

    Inoltre vorrei farti notare che:
    - ASP.NET è un set di classi del .NET
    - Apache un WebServer
    - La compilazione non la fa ASP.NET, che sono solo delle classi, ma IIS, tramite il .NET stesso, dato che se usi il codice sorgente per le pagine (ergo aspx) ha necessità di compilare il codice. Ovviamente usando le dll puoi usare le isapi e quindi hai già il compilato

  8. #8

    Cache della pagina ma non degli include

    Comunque per essere più attinenti al tema del thread e rispondere a mark2x, secondo me no, gli include php ripetuti a stretto giro di tempo non vanno nella cache del server.

    Con microtime() arrotondato alla quarta cifra decimale (quindi decimillesimi di secondo) traccio il tempo di elaborazione degli script, che è sensibilmente più breve al reload della pagina rispetto alla prima apertura (quindi qualcosa nella pagina viene cachato), ma aprendo per la prima volta altre pagine che hanno lo stesso include il fenomeno sussiste, ovvero tempo più lungo di elaborazione della pagina in prima apertura e più breve sul reload.
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  9. #9

    Re: Cache della pagina ma non degli include

    Originariamente inviato da emanueledg
    Con microtime() arrotondato alla quarta cifra decimale (quindi decimillesimi di secondo) traccio il tempo di elaborazione degli script, che è sensibilmente più breve al reload della pagina rispetto alla prima apertura (quindi qualcosa nella pagina viene cachato), ma aprendo per la prima volta altre pagine che hanno lo stesso include il fenomeno sussiste, ovvero tempo più lungo di elaborazione della pagina in prima apertura e più breve sul reload.
    dove hai eseguito il test? su windows o su linux?

    linux mette in cache i file in automatico di conseguenza mette in cache tutto, include compresi, perché per lui non sono altro che normalissimi file come tutti gli altri

  10. #10

    Re: PHP cacha? :)

    Originariamente inviato da mark2x
    Mi domando: se moltissimi script PHP hanno tutti il medesimo file in include:
    codice:
    require_once ('my_classes.php');
    e questo file pesa parecchio in termini di Kb, l'interprete PHP cosa fa, lo tiene in cache o lo ricarica da disco ogni volta?

    Chi sa?
    10x
    Se c'è un require_once(), come hai scritto tu, viene fatto parsing ed esecuzione una sola volta, lo dice la parola stessa: 'once'.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.