I file multimediali sono diversi dalle parti del sistema che contengono la logica dell'applicazione in quanto servire i file multimediali è un'attività ad alta intensità di I/O, mentre la logica dell'app di solito richiede una combinazione di I/O e CPU (il bilanciamento esatto dipende molto dall'app). Questo è il motivo per cui ha davvero senso utilizzare un sistema di distribuzione multimediale dedicato ottimizzato per il throughput del disco e della rete

Alcune linee guida generali se utilizzi il tuo server dedicato:
- Investi in molta RAM e utilizza la memorizzazione nella cache per i contenuti più comunemente utilizzati. L'idea è quella di risparmiare tempo di accesso al disco (in teoria la RAM è circa 100 volte più veloce). Memcache è la soluzione più popolare al giorno d'oggi afaik

- Investi in IO del disco veloce, installa più dischi e utilizza RAID (striping) per migliorare la velocità effettiva

- Quando selezioni un provider di hosting per i tuoi server dedicati/co-lo, concentrati sulla larghezza di banda

- Se possibile, si desidera individuare i file vicino ai loro consumatori per migliorare le latenze di rete. Quindi, ad esempio, i file multimediali in portoghese brasiliano trarrebbero vantaggio se archiviati su un server in Sud America

- Un buon CDN può risolvere praticamente tutto quanto sopra. Nella mia esperienza, ha ridotto il carico sui nostri server dell'85% circa. Utilizziamo Cotendo e Akamai. Altri fornitori a cui puoi rivolgerti ottomh: CDNetworks, Limelight, Level3

Se hai appena iniziato, la soluzione migliore secondo me è utilizzare S3 per archiviare i tuoi file, con CloudFront come CDN. Nella mia esperienza, è una soluzione molto semplice da configurare e abbastanza economica
*all'inizio* - come costi in modo lineare con la quantità di dati e l'utilizzo. Oltre una certa soglia, però, ha senso iniziare a gestire i propri rack di archiviazione dedicati e utilizzare qualche altra CDN.