10
votes

Limiter l'adhésion par bande passante

Je viens de déployer une demande de codeigniter à Amazon EC2 (en utilisant S3 pour MEDIA et RDS pour MySQL).

Je dois restreindre l'accès des comptes d'utilisateurs en fonction du montant de la bande passante utilisée - les comptes seront basés sur la bande passante E.G. Compte de base £ X pour un maximum de 20 Go par mois, etc.

Cependant, je ne sais pas quelle est la meilleure façon de faire cela est.

Mes instances EC2 sont Ubuntu avec Apache2 si cela aide.

Des idées appréciées!

merci!


0 commentaires

4 Réponses :


0
votes

Vous pouvez créer un journal personnalisé avec Apache pour suivre le nombre d'octets transférés. La partie difficile l'associera à un utilisateur donné. Probablement une combinaison de cookie et peut-être une adresse IP à distance.

Vous allez alors prendre ce journal et le traiter à l'arrière-plan.

S3 / Cloudfront peut fournir des journaux similaires, mais vous ne pourrez probablement pas l'associer à un utilisateur.


0 commentaires

0
votes

Si vous utilisez la mémoire tampon de sortie dans PHP, vous pouvez appeler ob_get_length () juste avant d'appeler ob_end_flush () pour obtenir la taille du tampon de sortie que vous envoyez à le client.

Si vous implémentez également un gestionnaire PHP pour tous les fichiers (plutôt que de permettre des liens directs vers les fichiers via Apache), vous auriez une idée assez décente de la quantité de contenu que vous envoyiez chaque client.


0 commentaires

4
votes

Vous pouvez utiliser l'API d'Amazon pour vérifier l'utilisation de la bande passante, au lieu d'utiliser les journaux. Comme vous l'avez dit que vous utilisiez S3 pour gérer les actifs, ce sera bon si vous créez un nouveau godet pour chaque utilisateur et vérifiez l'utilisation de la bande passante, puis limitez le compte s'il dépasse cette limite.


3 commentaires

Merci, cela semble la solution la plus pratique.


Sachez simplement que vous ne pouvez pas créer plus de 100 godets par compte Amazon.


@Geoff Appleford merci Geoff, je ne le savais pas.



2
votes

Limiter la largeur de bande par chaque connexion pour PC Linux

Vous devez installer l'outil "LightPD", son serveur Web. Il est utile de limiter la largeur de bande par connexion et j'installe également Axel pour augmenter et diminuer le nombre de connexions.

sudo apt-get Installer Axel

http://www.ycyberciti.biz/ Conseils / Installation-and-Configuration-LightPD-WebServer-Howto.html

par connexion I Ajouter cette commande dans ce chemin / etc / lightpd /lightpd.conf.

connexion.k octets-per-second = 70

Je limite la largeur de bande de 70 kb / s et j'ai testé chaque connexion pendant 5 fois et j'ai observé le temps minimum, le temps maximum et j'ai calculé le temps moyen. Je l'ai répété jusqu'à 10 connexions.


0 commentaires