Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: php-mysql problemone

  1. #1

    php-mysql problemone

    Ciao a tutti,
    vi espongo il mio problema (uso easyphp con windows 2003 server):
    tutti i giorni con uno paginetta php (che faccio girare automaticamente alle ore 8.00 con internet explorer), svuoto una tabella di 40 campi, e la ripopolo caricando i dati da un file di testo, a fine operazione la tabella contiene cira 3 milioni di record.
    succede però che dopo un'ora di caricamento (questo è il tempo che ci impiega, anche perchè deve ricreare gli indici),il browser mostra la classica paginetta che dice "la pagina richiesta non è stata trovata".
    Le operazioni di caricamento sul database continuano ugualmente fino al termine, però essendo andato in errore il browser, alla fine del caricamento non vengono eseguite le altre operazioni che sono state inserite nello script php
    quindi ogni giorno devo continuare manualmente l'esecuzione delle istruzioni successive...
    Domanda:
    c'è qualche timeout o qualche altra variabile che va regolata (su Apache oppure su php o su mysql)???
    c'è qualche istruzione (php o mysql) che mi può velocizzare tali operazioni (fino a quando i record caricati erano circa 2.500.000 tutto lo script veniva eseguito completamente senza andare in errore) ???
    c'è qualcosa che posso fare???

    grazie a tutti

  2. #2

  3. #3
    "max_execution_time" è già stat settata a 300.000 sec, infatti se il file di testo contiene circa 2.500.000 record, tutto funza (circa 45-50 min) se il file contiene 3.000.000 succede quanto descritto.

  4. #4
    300.000 secondi sono...... /60/60 dillo tu che a me vien da ridere....



    forse l'unita' di misura e' un'altra.....


    son quasi tre giorno e mezzo.....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    io certamente non so dirti come fare...

    ma se tu questi dati li immagazzini in due tranche...??

    cioè, 1.500.000 record prima e 1.500.000 dopo...


    magari tutto funge!!!

    o no??


    Ciao!

  6. #6
    300.000 sec sono 83 ore circa, ho settato un numero spropositato volutamente, proprio per non avere problemi di timeout, ho TOPPATO???
    Per quanto riguarda la suddivisione in due tronconi da 1.500.000 record, ho provato anche a suddividerlo in 8 pezzi e succede questo:
    . svuoto tabella
    . disabilito gli indici (questo per velocizzare il caricamento dati)
    . carico gli 8 file
    . riabilito gli indici sul tabellone popolato
    Questi 4 punti appena descritti vengono eseguiti da query, e penso che sia l'ultima query (gli indici) che poi blocca il browser (perchè se fosse una query precedente, mi ritroverei il tabellone popolato ma senza indici, con problemi enormi di velocita di selezione dei singoli record).
    Se invece cerco di popolare la tabella senza prima disabilitare gli indici per poi riabilitarli, ottengo lo stesso risultato ma gia con il file di testo da 2.000.000 di record.
    Quindi l'accrocchio degli indici mi ha aiutato dai 2.000.000 ai quasi 3.000.000 di record e ora non funza più...
    HELP ME

  7. #7
    allora forse c'è qualcosa che non va nel codice... postalo che qui ti aiutano volentieri...


    Ciao!

  8. #8
    Ma mi pare che una operazione del genere da fare giornalmente non ce l'abbia neppure una centrale telefonica che gestisca le chiamate dell'utenza.

    Sicuramente l'hardware andrebbe potenziato....

    ma lo sai tu quel che devi fare.....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    a proposito di chi dovrebbe compiere tale operazione (centr telefonica) , c'hai preso in pieno...
    non so che fare (l'HW è buono)
    se vi viene in mente qualcosa.....

    cmq grazie...

  10. #10
    l'inserimento nel database lo fai con delle query? Per grossi volumi non è il metodo più veloce!
    Il metodo più veloce è eseguire il seguente comando:
    LOAD DATA LOCAL INFILE '/path/del/file/dei/dati.txt' INTO TABLE tabella_da_riempire LINES TERMINATED BY '\r\n'


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.