J'ai récemment pris en charge un site d'hébergement de fichiers (similaire à rapidshare, megaupload, etc.) et compte actuellement environ 75 000 visiteurs par jour. Après la migration, nous avons écrit notre propre système à partir de zéro. Il est maintenant temps de mettre à niveau l'infrastructure et de jouer avec les serveurs Web et la mise à l'échelle. Maintenant, le problème est que, une fois le téléchargement du fichier terminé, le serveur web ne "vide" pas la mémoire utilisée. Nous avons téléchargé plusieurs fichiers de 300 Mo + et avant le téléchargement, nous avions environ 3,7 Go de mémoire libre et après avoir téléchargé 3 fichiers de 300 Mo chacun, l'utilisation de la mémoire se situe autour de 1,2 Go. Au départ, nous pensions qu'il pourrait s'agir d'un problème d'apache, mais la mise à niveau vers Litespeed ne l'a pas non plus résolu. Voici la « utilisation de la mémoire » de « top »Mémoire de téléchargement de fichiers volumineux Problème PHP
Mem: 4015996k totale, 1206036k utilisé, 2809960k libre, 114984k tampons
Je me gratter la tête pour savoir comment « flush » la mémoire utilisée par le serveur Web ou par php pendant le téléchargement, parce que de cette façon, le système va manquer de mémoire et se bloquer en un rien de temps.
Voici mes valeurs php.ini:
max_execution_time = 6000 = 6000 max_input_time memory_limit = 2048M post_max_size = 2047M upload_max_filesize = 2047M
Sur Apache, PHP fonctionne sur fcgi et Litespeed, c'est Litespeed SAPI.
Merci, Bill