Windows Azure virtual machine est trop lente pour accéder au réseau lors de la mise à l'échelle
Je suis de l'exécution de certains scripts de démarrage (cmd/chauve-souris) sur mon petit azure VM qui comprennent une opération de transfert de fichiers à partir d'une montée VHD, et normalement, ça se termine en environ 3 minutes (copie de fichiers et de l'extraction de ~500 mo de fichier zip en ligne de commande 7z).
Quand je l'échelle à ~150 cas, la même opération est très lente (jusqu'à 15 minutes au total, dont la plupart est utilisée par 7z). Aussi, les nœuds qui sont les plus lentes pour terminer la procédure de démarrage est difficile d'accès lors de la première utilisation de mstsc(l'animation est à la traîne et prend beaucoup de temps pour vous connecter), mais qui pourraient ne pas être liées.
Quel pourrait être le problème?
Nous avons eu l'idée d'examiner le cache, mais il serait bon de savoir que de toute autre goulot d'étranglement potentiel qui peut être présent dans la situation suivante.
Mise à JOUR:
J'ai essayé de l'extraction sur le lecteur D:\ au lieu de l'extraire sur le C:\ et la mise à l'échelle de 200, de la décompression prend environ une minute! Donc, il me semble que le problème est que C:\ peut-être sur la goutte. Mais encore une fois, j'ai 3 go de données dans 40 fichiers, de façon à 60 MO/s par blob devrait être suffisant pour gérer. Ou - peut-il être le cas que nous avons une pac pour l'ensemble de blobs?
OriginalL'auteur user2520968 | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
une chose à considérer est la par-stockage-compte l'évolutivité de la cible d'un compte de stockage. Avec georeplication activé, vous disposez de 10 gbit /s de sortie et 20 opérations/sec, ce qui peut être cogner. Figure avec 150 cas, vous pourriez être en tirant 150 x 100 mbits /s, ou 15Gbps comme l'ensemble de vos instances de démarrage.
Pas sûr de la "montée VHD" partie de votre question. Avec Azure drive-montage, une seule instance de machine virtuelle peut monter un disque à un moment donné. Pour ce type de fichier de l'opération de copie, en général, vous attraper un fichier directement à partir d'un stockage d'objets blob, plutôt que d'un fichier stocké dans un disque dur virtuel (qui, à son tour, est stocké dans un blob de pages).
MODIFIER: je voulais Juste dire qu'un individu blob est limitée à 60 MO/sec (également mentionné dans le billet de blog que j'ai référencé). Cela pourrait aussi être lié à votre limitation.
L'a obtenu. Une chose vaut la peine d'essayer de le stocker votre fichier zip directement dans un blob plutôt que dans vos données de disque vhd, et en évitant le faible niveau du pilote de disque (qui prend soin de l'accès au système de fichiers pour vous), il vous suffit de faire un simple téléchargement à partir du blob (facile de le faire en PowerShell ou via les nombreuses la langue Sdk publié).
Oui, c'est quelque chose que nous avons l'intention de le faire dans l'avenir. Je vous remercie. pourriez-vous me donner quelques références pour que de 10 gbit / s de la pac que vous avez mentionnés? Je n'ai jamais nouvelle Azure avait une telle limite (ou - je n'ai jamais su quand s'attendre à un). Nous pouvons échelle beaucoup plus grande que 150 instances (10 fois plus), de sorte qu'il serait bon de savoir à ce sujet. Aussi, va stocker le fichier zip dans le stockage blob résoudre cette limitation?
Compte de stockage des cibles (révisée): blogs.msdn.com/b/windowsazure/archive/2012/11/02/...
Résolu. Apparemment, les clichés ne contiennent que les différences de le blob d'origine, de sorte que tous les accès se fait via une simple tache, de sorte que nous sommes frapper les 60 MO/s/blob de la pac.
OriginalL'auteur David Makogon
La VM tailles ont chacun leurs propres limites de bande passante.
Je soupçonne que vous avez toujours une copie de vos monté VHD et ont ~150 instances de frappe. L'augmentation de la taille de mémoire virtuelle de la machine virtuelle hébergeant le disque dur virtuel serait un bon test, mais une solution coûteuse. À plus long terme, mettre les fichiers dans le stockage blob. Cela signifie que la modification des scripts d'accès Reposant points de terminaison.
Il pourrait être plus facile de créer 2-3 lecteurs sur 2-3 différentes VMs et d'écrire un script qui s'assure qu'ils ont les mêmes fichiers. Vos scripts pourrait frapper au hasard un des 2 ou 3 montées de disques durs Virtuels pour répartir la charge.
Voici les dernières limites par taille de mémoire virtuelle. Malheureusement, ce tableau n'inclut pas la bande passante du réseau: http://msdn.microsoft.com/en-us/library/windowsazure/dn197896.aspx
Riches
p.s. J'ai eu la largeur de bande à partir d'une diapositive PowerPoint dans Microsoft fourni Azure Kit de Formation, datée de janvier 2013.
Dans votre script, vous accédez à des fichiers à l'aide d'un chemin d'accès réseau? \\servername\sharename\myscript.cmd ou via http?
Stockage dans le Cloud studio vous permet de supprimer les instantanés. red-gate.com/products/azure-development. Sinon, vous devez utiliser Azure de l'API. Il n'est pas fourni par Microsoft PowerShell encore.
Étant donné que le disque est monté, le chemin ressemble à une adresse locale: F:\yada\yada\yada Nous travaillons sur de les supprimer (captures d'écran) à l'aide de l'API, mais la rupture du contrat de location n'est pas toujours simple. Je vais sans doute poser une question un jour, quand cela devient un problème.
confirmé, le plus petit speedtest.net/result/3168917566.png et pour les petits instance de speedtest.net/result/3168444648.png
OriginalL'auteur richstep