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

    Migliorare velocità di uno script asp... consigli

    Ciao a tutti ho questo problema....
    Ho un file csv di ben 6000 righe che leggo con l'oggetto:

    codice:
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(PercorsoCSV)
    in queste 6000 righe tramite varie operazioni di left, right, mid etc... ottengo per ogni riga 10 variabili.

    Se stampo a video queste variabili che ottengo riga per riga, ci metto un pò (neanche poi tantissimo 2/3 minuti) e la pagina me le fa vedere tutte e le visualizzo.

    Adesso queste 10 variabili le devo inserire in vari record di un database (access tra l'altro) tramite operazioni di insert e ovviamente 6000 righe sono 6000 operazioni di insert.....

    Risultato è che lo script non ce la fa nel tempo di timeout di default a far girare tutte e 6000 le insert.
    Mi pare di aver letto in giro che il tempo di timeout di default di uno script asp sono 90 secondi.
    Ho allora provato tramite:

    codice:
    Server.ScriptTimeOut = 180
    a raddoppiare il tempo di timeout dello script e ho notato mi ha inserito circa 2000 record prima di dare errore di timeout..... ho allora impostato a 700 il timeout ma sembra entri in loop perchè è già oltre 20 minuti che gira senza darmi errore.....
    Avete qualche idea su come posso migliorare il tempo di esecuzione o altro?
    grazie a tutti

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da marcopaolo79
    Avete qualche idea su come posso migliorare il tempo di esecuzione o altro?
    evitare di caricare 6000 righe d'un colpo

  3. #3
    prova a mettere un Response.Flush subito dopo la Response.Write delle tue variabili; dovresti vedere via via le info che inserisci, così controlli se veramente in loop

  4. #4
    Già prima della tua risposta ho pensato di fare un controllo e dopo che la pagina era 20 minuti che la rotellina girava l'ho fermata ed ho guardato il database e mi sono reso conto che aveva inserito tutti e 6000 i prodotti ma allora perché non "fermare" la pagina e scrivermi a video la stringa che ho inserito al termine della pagina "caricamento completato" ?
    Poi ho inserito il response.flush come hai detto tu e oltre a vedere riga per riga cosa scrivo la pagina magicamente smettere di caricare e mi scrive il messaggio a video caricamento completato.... quindi innanzi tutto grazie per l'aiuto e poi perché questo cambio di risultato?

  5. #5
    senza vedere il codice non si può dire

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 © 2026 vBulletin Solutions, Inc. All rights reserved.