Avis de non-responsabilité: je suis un développeur frontal dans un monde de serveurs.
Salut les gars. J'ai une instance de serveur sur EC2, le c5d.9xlarge
, dont les spécifications sont:
- Système: Ubuntu 18.04
- vCPU: 36 threads / cœurs
- Mémoire: 72 Go
- Stockage: SSD NVMe 900 Go
- Bande passante EBS dédiée: 7 000 Mbps
- Performances réseau: 10 Gbps
Scénario: j'utilise ce serveur pour télécharger de grandes vidéos (4K, 1+ h) et les traiter à l'aide de FFMPEG mais par rapport à mon serveur UpCloud précédent avec 12 cœurs et 48 Go de RAM, ce serveur EC2 prend 1,5 fois plus de temps à télécharger et à traiter , ce qui ne devrait pas être le cas, je pense.
Question: Comment puis-je maximiser les performances pour ce que je paie?
ubuntu
amazon-web-services
amazon-ec2
Martavis P.
la source
la source
Réponses:
Votre
c5d.9xlarge
est livré avec un stockage d'instance de 900 Go (également appelé stockage éphémère ) - l'utilisez-vous pour stocker et traiter les fichiers? Bien que votre instance dispose d'une bande passante EBS dédiée, le stockage SSD sur instance sera toujours beaucoup plus rapide . Je vous suggère de l'utiliser pour tous les fichiers source et temporaires et de stocker uniquement les résultats sur EBS.Il y a cependant quelques mises en garde avec le stockage d'instance:
Vous devez le formater et le monter avant de pouvoir l'utiliser. Référez-vous à cette réponse pour plus de détails: Montez automatiquement le stockage d'instance SSD sur AWS EC2 dans Ubuntu 16.04
Le contenu est effacé lorsque vous arrêtez et redémarrez l'instance. Il survit au redémarrage mais pas à l'arrêt / démarrage.
Mise à jour: Par défaut, le SSD n'est pas monté - vous devrez suivre les étapes de la réponse liée ci-dessus pour l'utiliser. Dans la configuration standard après le démarrage, vous utiliserez l'EBS qui est plus lent que le SSD.
Ensuite , vous devrez vous assurer que vous êtes en train de l' utiliser - régler le téléchargement , travail et répertoire temporaire à ce point de montage SSD.
Ou encore mieux - puisque vous avez 72 Go de RAM - créez un disque RAM et utilisez-le pour les fichiers temporaires. Ce sera encore plus rapide que SSD (si les fichiers conviennent).
Tout d'abord, ignorez la vitesse de téléchargement et optimisez le traitement - téléchargez le fichier sur EBS et chronométrez le traitement, puis téléchargez sur SSD et chronométrez puis sur disque RAM et chronométrez le traitement. Voyez combien ils diffèrent.
La vitesse de téléchargement sera affectée par de nombreux aspects, notamment la distance et la latence entre vous et la région AWS vers laquelle vous téléchargez. Utilisez-vous une région AWS près de chez vous?
Concernant les performances du processeur - vous disposez de 36 processeurs, mais chaque cœur peut être plus lent que les cœurs de votre précédente machine à 12 cœurs. Cela dépend de l'architecture du processeur et de la vitesse d'horloge. Cependant, si vous pouvez paralléliser le traitement vidéo en 36 threads, vous devriez être mieux dans cette instance. Si vous utilisez un seul thread, vous n'obtiendrez peut-être pas les performances souhaitées.
J'espère que cela pourra aider :)
la source
Y a-t-il une possibilité d'étudier des alternatives? Pour le prix d'un
c5d.9xlarge
, même si vous bénéficiez d'une remise substantielle, sur le marché des serveurs dédiés, vous pourriez avoir plusieurs machines équivalentes ou meilleuresL'utilisation du cloud pour ce type de problème à l'échelle verticale est une recette de surpaiement et, comme vous l'avez vu, de mauvaises performances
Désolé pour le genre de non-réponse, mais je n'ai pas assez de représentant pour commenter
la source