GD utilizza molta memoria. Carica completamente l'immagine nella memoria e la decomprime, quindi avrai bisogno di almeno 32 bit per pixel. Un'immagine con le dimensioni 800 x 600 do quindi utilizzare up:
800 * 600 * 32 bit = 15,4 megabit = 2 MB
Questo è solo per caricare l'immagine. Ho sentito che userà il doppio di questo se ridimensionerai, e se le tue immagini sono ancora più grandi sarà ancora più memoria.
È consigliabile prendere in considerazione la memorizzazione nella cache delle anteprime in modo che debbano essere generate una sola volta (ciò velocizzerà la pagina anche per i visitatori!).
Ho letto anche ora che stai caricando le immagini da un server esterno, nel qual caso devi REALMENTE mettere in cache l'immagine perché altrimenti i visitatori devono aspettare che tu scarichi l'intera immagine per prima. Ciò peggiora ulteriormente se il server esterno è inattivo o sovraccarico e i visitatori dovranno attendere un timeout (questo sembrerà che il servizio sia lento). Inoltre, se scarichi l'immagine ogni volta che un utente ne richiede una miniatura, perderai molta larghezza di banda.
Dal GD usa così tanto la memoria, può essere utile per generare invece le miniature utilizzando l'estensione imagick. ImageMagick ha una scala molto migliore per quanto riguarda il consumo di memoria ed è anche molto veloce (ma dovresti comunque memorizzare le immagini nella cache, per i motivi sopra indicati).
fonte
2010-01-13 21:14:52
Rigenerante una miniatura richiede tempo del server.L'unico modo per sapere se rende "troppo lento" o no è provarlo e vedere. Inoltre, "memoria" e "velocità" sono due concetti completamente diversi. –