Italian SMF

Supporto SMF => SMF 2.0.x => Discussione aperta da: c.tatananni il Giovedì - 21 Marzo 2013 - 11:29

Titolo: timeout allegati
Inserito da: c.tatananni il Giovedì - 21 Marzo 2013 - 11:29
Ciao a tutti,

vi espongo oggi il mio problema.

Ho installato già da qualche anno SMF su Aruba Hosting Linux (www.busbusnet.com), funzionava tutto perfettamente fino a quando la cartella allegati è diventata troppo "sostanziosa". Attualmente la cartella più piena delle "N" cartelle ha all'interno 15998 file per un totale di 2,5GB di spazio su disco.

Ho iniziato ad utilizzare quindi le cartelle multiple ma il cms mi si blocca letteralmente, va in timeout per via dei troppi files.

Per ora ho disabilitato gli allegati per non peggiorare la situazione, aspettando di trovare una soluzione.

Se divido gli allegati in più cartelle perdo poi i puntamenti ai vari posts. Conoscete una MOD per velocizzare la lettura dei files o per by-passarla?

Grazie a chiunque mi aiuterà
Titolo: Re:timeout allegati
Inserito da: emanuele il Giovedì - 21 Marzo 2013 - 14:03
mmm...solitamente se imposti una directory nuova il problema scompare (anche sm.org ha avuto questo stesso problema qualche tempo fa).
Quella che conta per la velocità di post è la "directory corrente", quella attiva, quella in cui i file finiscono.
Le altre sono irrilevanti.
Sicuro che i file non siano caricati nella directory sbagliata?

Il problema è stato by-passato in 2.1 spostando il check della directory (alla ricerca di file temporanei da eliminare) dal post ad uno "scheduled taks", ma ci sono alcuni cambi da fare, ed al momento non ricordo più dov'è il commit relativo...

L'unica alternativa "pratica" che mi viene in mente è un mio mod: http://custom.simplemachines.org/mods/index.php?mod=2851
L'ho impostato come "non supportato" perché non ho intenzione di svilupparlo oltre dato che è stato integrato in 2.1. Per quanto mi ricordi funziona, potrebbe avere un undefined index da qualche parte (ma non ricordo più se il problema era su quello già caricato on-line, oppure in qualche parte che stavo sviluppando) e/o un qualche warning con alcune configurazioni di server, ma in entrambi i casi non dovrebbero compromettere il funzionamento.
Titolo: Re:timeout allegati
Inserito da: Alex il Sabato - 23 Marzo 2013 - 22:44
confermo che il proplema riportato all'apertura del topic è dovuto alla cartella degli allegati che diventa "troppo piena".
Mi sono ritrovato nella stessa situazione di c.tatananni col medesimo hosting nella medesima configurazione; la soluzione è stata proprio quella proposta da Emanuele con la plugin "automanage attachments".
L'installazione della plugin mi sembra che non filò del tutto liscia ma ci fu qualche lieve intervento da fare (forse era semplicemente di traduzione), ad ogni modo una volta resa operativa questa plugin, non si sono più manifestati i problemi di timeout sul caricamento di allegati.

OT - non sapevo che la plugin fosse stata fatta da te Emanuele, è stata una di quelle "importanti e risolutive" per il mio forum. Ti ringrazio oggi per allora  ;)
Titolo: Re:timeout allegati
Inserito da: emanuele il Domenica - 24 Marzo 2013 - 00:18
eheheh
Tra l'altro è stato uno dei primi che ho scritto (ed un po' si vede LOL), venivo da WP e mi pareva strano che uno script come SMF non avesse una simile, basilare (pensavo ai tempi) funzione.
Di niente!
Titolo: Re:timeout allegati
Inserito da: Filippo il Domenica - 24 Marzo 2013 - 10:04
Noi abbaimo risolto questo problema con un metodo da monaci amanuensi: scaricati una gran quantità di allegati e rimessi su come link ad una cartella sullo spazio web. Una faticaccia :'(
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Lunedì - 25 Marzo 2013 - 12:21
Allora, il plugin di emanuele l'ho installato ma ho il problema dell'attachmentUploadDir...

da quello che ho capito il valore iniziale "a:XX" corrisponde all'attuale cartella di caricamento, giusto? come vedete l'ultima cartella ha come valore "29" invece a me rimane su "21", ogni giorno dovrebbe creare una nuova cartella, questo succede ma l'indice sballa... se tocco manualmente queste impostazioni succede un casino...


a:21:{i:1;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-03";i:10;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-04";i:11;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-05";i:12;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2012/07";i:13;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22";i:14;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2012/07/08";i:15;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-12";i:16;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-11";i:17;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-09";i:18;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2011-08";i:19;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2010";i:20;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/attach-2012-06";i:21;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/21";i:22;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/25";i:23;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/02";i:24;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/03";i:25;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/04";i:26;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/05";i:27;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/06";i:28;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/07";i:29;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22a";}


Le cartelle che mi mandano in timeout sono quelle del 2010, se le rinomino posso aprire le impostazioni dal pannello admin di SMF senza timeout
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Lunedì - 25 Marzo 2013 - 12:56
Ho provveduto con una soluzione provvisoria.

Ho spostato i vecchi allegati in una cartella chiamata "old".
Quando dovrò operare dal pannello di controllo di SMF per creare manualmente nuove cartelle rinominerò la cartella in"_old", mi darà errore di cartella non trovata ma non avrò problemi di timeout.

La situazione è un pò spiacevole cazzarola ;D
Titolo: Re:timeout allegati
Inserito da: emanuele il Lunedì - 25 Marzo 2013 - 14:09
Quel che già esiste non viene modificato.
Guarda che se rinomini la directory degli allegati non saranno più accessibili...

Citazione di: c.tatananni il Lunedì - 25 Marzo 2013 - 12:21
da quello che ho capito il valore iniziale "a:XX" corrisponde all'attuale cartella di caricamento, giusto? come vedete l'ultima cartella ha come valore "29" invece a me rimane su "21", ogni giorno dovrebbe creare una nuova cartella, questo succede ma l'indice sballa... se tocco manualmente queste impostazioni succede un casino...
mmm...probabilmente viene creata ed aggiornata solo se vengono caricati allegati in quel determinato giorno. Non so se questo è il tuo caso.
Titolo: Re:timeout allegati
Inserito da: giuliano il Mercoledì - 03 Aprile 2013 - 08:39
approfitto di questa discussione per una domanda:

nel mio forum abbiamo la necessità di caricare sovente allegati (tabelle, anagrafiche, documenti) per renderli disponibili agli utenti.

ovviamente i documenti caricati più vecchi appesantiscono inutilmente il forum (così ho capito).
come posso eliminare questi allegati in modo "selettivo"? Per data? per tipo? per anzianità?

Grazie
Titolo: Re:timeout allegati
Inserito da: emanuele il Mercoledì - 03 Aprile 2013 - 14:02
Beh, configurando directory multiple l'appesantimento risulta mooooooooooooolto ridotto (in pratica inesistente).
Se li vuoi cancellare: admin > forum > allegati > manutenzione file ;)
Titolo: Re:timeout allegati
Inserito da: Filippo il Domenica - 16 Febbraio 2014 - 21:42
Salve, siamo passati alla 2.0 anche perchè la nostra cartella allegati era diventata nuovamente elfantiaca. Quindi la prima cosa che ho cercato di fare è stata di rendere le cartelle multiple per gli allegati.

Problema: clicco su
Cartella Allegati
"Imposta cartelle multiple per gli allegati"

E dopo un pò mi trovo:

CitazioneGateway Time-out

The gateway did not receive a timely response from the upstream server or application.

Quindi non riesco ad impostare le cartelle multiple.

C'è un modo per bypassare il problema? allungare il tempo di attesa prima del tim-out oppure andare a metetere queste impostazioni direttamente nel db?
Titolo: Re:timeout allegati
Inserito da: emanuele il Domenica - 16 Febbraio 2014 - 23:13
Intendi nel panello di admin? O_o
Titolo: Re:timeout allegati
Inserito da: Filippo il Lunedì - 17 Febbraio 2014 - 07:14
Si, dal pannelo di admin, non riesco ad impostare le cartelle multiple degtli allegati in quanto mi da l'errore di timeout. Quindi pensavo di operare direttamente sul db, se possibile
Titolo: Re:timeout allegati
Inserito da: emanuele il Lunedì - 17 Febbraio 2014 - 23:14
azz... questo è un po' un casino...
Farlo da db devi stare piuttosto attento, perché questa è una di quelle opzioni un po' carogna per almeno un paio di motivi:
1) è un array serializzato,
2) devi impostare due variabili.

Vediamo un po', proviamo così.

<?php
require_once('SSI.php');
require_once(
$sourcedir '/ManageAttachments.php');

if (empty(
$modSettings['currentAttachmentUploadDir']))
{
$dirs = array(
=> $modSettings['attachmentUploadDir']
);
$modSettings['currentAttachmentUploadDir'] = 1;
}
else
$dirs unserialize($modSettings['attachmentUploadDir']);

if (isset(
$_POST['new_dir']))
{
$dirs[] = $_POST['new_dir'];
$last_index array_search($_POST['new_dir'], $dirs);
updateSettings(array(
'attachmentUploadDir' => serialize($dirs),
'currentAttachmentUploadDir' => $last_index,
));
}

echo 
'Directory correnti: <br />';
foreach (
$dirs as $id => $dir)
echo $dir '<br />';

echo 
'<br /><br />
<form method="post" action="' 
$_SERVER['PHP_SELF'] . '">
Aggiungi nuova: <input type="text" name="new_dir"/><br />
<input type="submit" value="salva ed imposta come attiva" />
</form>'
;


Metti il tutto in un file, caricalo nella directory di SMF e puntaci il browser.
Dovrebbe presentarti la lista di directory esistenti ed un box per inserirne una nuova.

Attenzione: non fa alcun controllo, quindi quello che gli metti, giusto o sbagliato, viene accettato!
Titolo: Re:timeout allegati
Inserito da: Filippo il Martedì - 18 Febbraio 2014 - 08:09
Un paio di domande prima di provare:
Lo script ti dice quale è la cartella (o quali cartelle) allegati attiva al momento e poi te ne imposta una in base a quello che scrivi nel form che ti compare (da quello che capisco).

In che forma devo scrivere la cartella? devo prima crearla o basta che digito un nome ed essa vinen creata? devo scrivere il nome della cartella o l'intero percorso?
Titolo: Re:timeout allegati
Inserito da: emanuele il Martedì - 18 Febbraio 2014 - 16:43
Citazione di: Filippo il Martedì - 18 Febbraio 2014 - 08:09
In che forma devo scrivere la cartella? devo prima crearla o basta che digito un nome ed essa vinen creata?
Lo script cambia solo l'impostazione di SMF, il resto lo devi fare tu, quindi dovrai creare tu la directory dove appropriato via ftp o cpanel (o equivalenti ;)).

Citazione di: Filippo il Martedì - 18 Febbraio 2014 - 08:09
devo scrivere il nome della cartella o l'intero percorso?
L'intero percorso, proprio come faresti dal pannello di admin di SMF. ;)
Titolo: Re:timeout allegati
Inserito da: Filippo il Martedì - 18 Febbraio 2014 - 17:14
Mai fatto da li

Da quello che vedo la cartella allegati è così elencata /web/htdocs/www.gilera-bi4.it/home/public/forum/attachments

Quindi dovrei mettere  qualcosa del tipo: /web/htdocs/www.gilera-bi4.it/home/public/forum/nome_cartella_aggiuntiva?
Titolo: Re:timeout allegati
Inserito da: emanuele il Martedì - 18 Febbraio 2014 - 18:34
yep.
Titolo: Re:timeout allegati
Inserito da: Filippo il Martedì - 18 Febbraio 2014 - 19:54
Funzionaaaaaaaaaaaaaaaaa

Ti meriti un bacio, ma non da me










(https://www.italiansmf.net/forum/proxy.php?request=http%3A%2F%2Fd2tq98mqfjyz2l.cloudfront.net%2Fimage_cache%2F1334913345477604_animate.gif&hash=12d8440df7a2efdaf69f0bd1ac966cf72aa16b1e)
Titolo: Re:timeout allegati
Inserito da: emanuele il Martedì - 18 Febbraio 2014 - 20:25
/me cede il bacio a qualcun altro
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Mercoledì - 10 Giugno 2015 - 10:19
Ritiro fuori questo topic perché il problema persiste...

Attivando le cartelle multiple le nuove cartelle non vengono inserite alla fine della lista ma più o meno a metà, sovrascrivendo una delle precedenti... c'è qualcosa che non va quando l'indice va a contare +1 forse non riconosce il numero delle cartelle totali... non c'è modo di modificare manualmente il database per correggere questo problema?

questo è il valore della tabella smf_settings:

a:50:{i:1;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2012-03";i:10;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2012-04";i:11;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2012-05";i:12;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/2012/07";i:13;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22";i:14;s:77:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/2012/07/08";i:15;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2011-12";i:16;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2011-11";i:17;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2011-09";i:18;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2011-08";i:19;s:78:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2010";i:20;s:81:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/old/attach-2012-06";i:21;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/21";i:22;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/25";i:23;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/04";i:24;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/03";i:25;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/04";i:26;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/05";i:27;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/06";i:28;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/07";i:29;s:74:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03/22a";i:30;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/03";i:31;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/05";i:32;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/06";i:33;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/06";i:34;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/07";i:35;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/08";i:36;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/09";i:37;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/10";i:38;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2013/11";i:39;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/01";i:40;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/02";i:41;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/03";i:42;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/04";i:43;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/05";i:44;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/06";i:45;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/07";i:46;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/08";i:47;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/09";i:48;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/10";i:49;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/11";i:50;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2014/12";i:51;s:73:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/06/04";i:52;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/01";i:53;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/01";i:54;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/02";i:55;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/03";i:56;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/04";i:57;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/05";i:58;s:70:"/web/htdocs/www.busbusnet.com/home/portal/theforum/attachments/2015/06";}
Titolo: Re:timeout allegati
Inserito da: emanuele il Mercoledì - 10 Giugno 2015 - 11:26
Dal valore che hai postato non mi sembra di vedere sovrascritture. Sì, la 2015/06/04 è una posizione strana, ma non mi sembra manchi niente (anzi, ci sono alcuni duplicati).

Io, una volta scelto il metodo, eviterei di cambiarlo onde evitare confusione.

Qual'è la directory che manca?
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Mercoledì - 10 Giugno 2015 - 11:40
Ho rimosso la funzione ora perché mi sovrascriveva un record precedente. Directory mancanti non ci sono. L'unico problema, come dicevo, se abilito le cartelle multiple automatiche, invece di aggiungerne una alla lista ne sovrascrive una già esistente
Titolo: Re:timeout allegati
Inserito da: emanuele il Mercoledì - 10 Giugno 2015 - 13:15
Nel file Subs-AutoManageAttachments.php c'è da cambiare:
$modSettings['attachmentUploadDir'][count($modSettings['attachmentUploadDir'])+1] = $updir;
in:
$modSettings['attachmentUploadDir'][] = $updir;
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Mercoledì - 10 Giugno 2015 - 20:37
Provo subito Emanuele. Grazie intanto
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Giovedì - 11 Giugno 2015 - 08:36
Sembra funzionare finalmente! Grazie infinite!!!
Titolo: Re:timeout allegati
Inserito da: Darknico il Venerdì - 12 Giugno 2015 - 10:49
Se è così, marca come risolto ;)
Titolo: Re:timeout allegati
Inserito da: c.tatananni il Venerdì - 12 Giugno 2015 - 18:15
Aspettiamo ancoa qualche giorno che sto testando