Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Carico CPU al 100% con download e upload

    Ciao a tutti!

    Come da titolo, il problema è questo: se effetto un download oppure un upload, il carico della CPU va in picco, e più grande è il file, più a lungo dura il picco (con ovvie conseguenze).
    Come mai?
    La macchina è un P4 2,6 Mhz, con Windows 2000 e IIS.

  2. #2
    Sullo stesso server, con ASP non c'è questo problema...

    Che ASP sia più performante di PHP per i download e gli upload? :master:

  3. #3
    :master: :master:

    che vor di? :master:

    php ti gira su windows con iis o con apache?
    come fai il download? che codice usi per l'upload?

  4. #4
    Originariamente inviato da daniele_dll
    :master: :master:

    che vor di? :master:

    php ti gira su windows con iis o con apache?
    come fai il download? che codice usi per l'upload?
    Con IIS

    per il download:
    codice:
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: $attachment filename=$filename");
    header("Content-Length: ".filesize($filepath."\\".$filename));
    header("Content-Transfer-Encoding: binary");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Pragma: public");
    readfile($filepath."\\".$filename);

  5. #5
    ehm ... è normale ... leggi tutto il file e lo vai spuntando fuori ... se winzoz fa skifo che si ci po fa

    c'è anche un'alternativa


    codice:
    $fp = fopen('file.ext', 'wb');
    while(feof($fp) === false)
    {
      echo fread($fp, 10240);
      flush();
    }
    fclose($fp);
    cosi vai leggendo e buttando fuori blocchi da 10 kb ^^ (ovviamente non scarichi a 10 kb al secondo ... ma 10 kb a ciclo ... e la velocità di esecuzione del ciclo dipende dalla velocità di download dell'utente ... infatti il flush attende che il server invii i dati al client per continuare e quindi vai ne + e ne meno a quanto serve e probabilmente riduci il carico della cpu)

  6. #6
    Originariamente inviato da daniele_dll
    ehm ... è normale ... leggi tutto il file e lo vai spuntando fuori ... se winzoz fa skifo che si ci po fa

    c'è anche un'alternativa


    codice:
    $fp = fopen('file.ext', 'wb');
    while(feof($fp) === false)
    {
      echo fread($fp, 10240);
      flush();
    }
    fclose($fp);
    cosi vai leggendo e buttando fuori blocchi da 10 kb ^^ (ovviamente non scarichi a 10 kb al secondo ... ma 10 kb a ciclo ... e la velocità di esecuzione del ciclo dipende dalla velocità di download dell'utente ... infatti il flush attende che il server invii i dati al client per continuare e quindi vai ne + e ne meno a quanto serve e probabilmente riduci il carico della cpu)
    Nada...
    Ho provato anche così, ma la CPU va sempre al 100%.

    Com'è possibile che ASP gestisca meglio il carico?

  7. #7
    no ... è + probabile che IIS che funziona na ciofeca o che il modulo ISAPI di php funzioni male ... ma opto per la prima dato che è la prima volta che sento di problemi del genere


    io non ho minimamente di questi problemi

  8. #8
    Originariamente inviato da daniele_dll
    no ... è + probabile che IIS che funziona na ciofeca o che il modulo ISAPI di php funzioni male ... ma opto per la prima dato che è la prima volta che sento di problemi del genere


    io non ho minimamente di questi problemi
    Ehm... però come ne vengo fuori?

    Non per rompere le pelotas, ma con ASP non succede...

  9. #9
    beh ... non puoi

    fai scaricare direttamente il file

  10. #10
    Originariamente inviato da daniele_dll
    beh ... non puoi

    fai scaricare direttamente il file
    Non posso... Devo fare dei controlli di permission prima di permettere il download.

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.