Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    CPU usage e entry process

    Buongiorno a tutti e grazie dell'eventuale supporto che riceverò, spero di aver azzeccato la sezione giusta.

    Ho un portale in fase di testing che vorrei lanciare e pubblicizzare al più presto possibile,

    purtroppo ho un grosso problema e non riesco a trovare la fonte.

    Sono hostato su un servizio di Hosting dedicato professionale linux,

    Il portale in questione tramite l'utilizzo di google page speed nelle pagine più utilizzate ha una media di 90-92 punti su 100, quindi abbastanza regolare.

    Il problema è che quando carico qualsiasi pagina del sito e mi fiondo nel pannello cpanel vedo che l'utilizzo della cpu sale all'8% e si carica un entry process. Siccome in questo momento ci sono solo io come visitatore, mi pongo una domanda.. se 10 utenti entrano nel mio portale la mia cpu andrebbe al 100%, come infatti è successo recentemente con relativa mail di avviso dal provider.

    Il fatto che ogni pagina del portale compreso il pannello di admin generi questo problema, non mi fa pensare ad uno script in particolare visto che non in tutte le pagine ci sono codici uguali e visto che ogni pagina del portale vi è affetta. Il mio portale gira con Smarty php quindi è fatto .tpl e genera in modo dinamico.

    Apparentemente non ci sono plugin di gestione della cache, se non quello interno.

    Volevo chiedere consiglio a voi, per capire come risolvere questo problema che non mi fa dormire la notte e di cui non riesco a trovare una soluzione.

    Vi ringrazio nuovamente.

  2. #2
    ciao,

    beh, sicuramente potremmo aiutarti, ma senza sapere neanche il nome del CMS che hai usato, se pubblico, è un pelino difficile trovare una soluzione.

    Premesso che i comuni CMS, in primis Wordpress e Drupal, ma anche Joomla, sono un pelino pesanti e si mangiano le risorse cme fosse pane, avere 10 utenti connessi nello stesso istante vuol dire avere 10 richieste al secondo.
    10 richieste al secondo significherebbero 600 al minuto
    600 al minuto significherebbero 36.000 l'ora
    36.000 richieste l'ora significherebbero 864.000 richieste al giorno

    Come puoi renderti conto da solo, fin quando non raggiungi quei numeri non hai di cosa preoccuparti
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Ciao Daniele e grazie del supporto.

    Il template engine come ho scritto è Smarty php (smarty.net),

    Il problema è che 1 utente mi mangia nel caricamento della pagina dall'8% al 16%, sicchè si pensava di pubblicizzarlo tramite un programma radiofonico e nello stesso tempo tramite google adwords, è possibile che si connettano simultaneamente un bel po di persone, se dopo appena 5 utenti connessi simultanemente il provider mi contatta per dirmi che utilizzo troppe risorse penso che qualcosa che non va c'è sicuramente.

    All'inizio pensavo di aver pastrucchiato troppo con il codice e di essermi dimenticato qualcosa, così ho provato a fare un'installazione pulita come da origine ed il problema si crea comunque.

    Quindi pensavo più a qualche bug di smarty o alla configurazione di esso sul mio server.

  4. #4
    smarty è parecchio pesante di sua natura, e quindi abilitare la cache gli darebbe un po d'aria, ma comunque non dovresti preoccuparti eccessivamente per una sola richiesta che occupa l'8% della CPU perché il calcolo del consumo del processore è un'operazione statistica

    per avere una misurazione accurata delle risorse ti consiglio di utilizzare ab (apache benchmark) un tool che ti permette di "stressare" il webserver interrogando a ripetizione una specifica pagina web

    ab è inclusi nel pacchetto di apache, sia su windows sia su linux, non ha interfaccia grafica ma è veramente veramente semplice da usare
    http://httpd.apache.org/docs/2.0/programs/ab.html
    http://www.cyberciti.biz/tips/howto-...eb-server.html
    http://go2linux.garron.me/linux/2010...iis-server-718

    Basta che gli fai richiedere le pagine che tu ritieni più pesanti per ad esempio 60 secondi con 10, 20 e 50 client e vedi che succede

    ab, ovviamente, non ti dice quanto processore o quanta memoria consumata ma ti da informazioni più utili, ovvero il tempo di risposta medio che ti permette di capire fino a che carico riesce a gestire il sistema rispondendo in tempi accettabili

    dovresti avviare ab direttamente sul server, senza farlo passare dalla tua adsl, perché altrimenti le tempistiche non sono affidabili

    PS: ma sei su linux o su windows? avendomi tu detto la percentuale del processore occupato ho il sospetto che tu sia su windows
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    Sono su linux, Windows lo lascio volentieri agli altri :P al di là delle performace tra tutti gli exploits di IIS e Webdav è come avere un cartello in testa con scritto colpitemi.

    Potrei stressarlo un po con Backtrack, anche se la versione 2.2.21 di Apache dovrebbe essere stabile.

    A dire il vero una specie di stress test me l'hanno fatto google e bing, ho dovuto abbassare manualmente il numero di scan delle mie pagine tramite il pannello webmaster tool di google, avevo la cpu fissa al tra l'80 e 90%.

    La cache è abilitata, gzip è abilitato anche se ho letto che fa utilizzare più risorse al server.

    Mi viene da pensare che la mia versione di Smarty sia poco recente, il problema è che nel passaggio dalla versione 2 alla 3 hanno modificato un po la sinstassi, certi tag non sono più supportati ed il mio portale è abbastanza grosso, pensare di modificare tutti i tag non supportati dall versione 3 è da matti.

  6. #6
    Originariamente inviato da nikit089
    Sono su linux, Windows lo lascio volentieri agli altri :P al di là delle performace tra tutti gli exploits di IIS e Webdav è come avere un cartello in testa con scritto colpitemi.
    già mi piaci di più (anche se a dire la verità con le ultime versioni di windows server, soprattutto la 2008, e con le ultime versioni di IIS, le cose sono cambiate in meglio ... ma io preferisco nginx :P)

    Potrei stressarlo un po con Backtrack, anche se la versione 2.2.21 di Apache dovrebbe essere stabile.
    se sei con linux basta che lanci ab direttamente dal server, sicuramente è installato

    A dire il vero una specie di stress test me l'hanno fatto google e bing, ho dovuto abbassare manualmente il numero di scan delle mie pagine tramite il pannello webmaster tool di google, avevo la cpu fissa al tra l'80 e 90%.
    si ma a te serve avere i tempi di risposta delle richieste in base al numero di client che simuli quindi devi farlo tu

    il consumo di CPU è secondario rispetto ai tempi di risposta perché i tempi di risposta dipendono da svariati fattori oltre la cpu (cpu, memoria, dischi, com'è scritto il codice e via dicendo), per farti un esempio ... il mio codice, in normali condizioni, non deve consumare mai più di 1mb di memoria, massimo 1.5mb (per condizioni normali intendo ove non è necessario fare precaricamenti in memoria di grosse quantità di dati, o operazioni che richiedono parecchio tempo e via dicendo), così come il tempo di esecuzione deve restare sempre sotto il decimo di secondo in condizioni normali

    devi guardare i valori che restituisce ab per farti un'idea

    se con 20 client in contemporanea sei sotto il secondo, va ancora bene
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Il problema è che sono su un hosting dedicato e non un server dedicato, da pannello non ho nessuna opzione per poter lanciare un ab test.

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.