Ich habe eine Reihe von Azure Websites
, die zu demselben Resource Group
als Azure VM running SQL server
bereitgestellt werden, soweit ich zuvor verstanden habe, war dies alles, was erforderlich war, um sicherzustellen, dass Ihre Prozesse in einem geographischen befinden Nähe zueinander.Azure-Website zu Azure VM Netzwerklatenz verbessern
Allerdings habe ich einige steile Leistungsprobleme bekommen. Mit Entities Framework
wenn ein einfaches Stück Code, wie diese zwischen meinem lokalen dev Setup
var result = await context.Categories.Include(o => o.ParentCategory);
oder eine Kombination der über dem durchschnittlichen Leistungsunterschied
var result = await Context.Settings.Where(o => o.Name == name).FirstOrDefaultAsync();
oder etwas so einfaches wie
ausgeführt wird und das Produktionssystem ist 400%. Dieser Unterschied scheint bei verschiedenen Arten von Abfragen ziemlich konsistent zu sein, und nachdem eine größere VM auf das Problem geworfen wurde, scheint es definitiv kein Hardwareproblem zu sein, da es keinen Effekt hatte. Während ich etwas Netzwerklatenz erwartete, scheint dies extrem hoch.Was mache ich falsch? Ich würde es sehr begrüßen, wenn jemand eine Aufschlüsselung der Best Practices für die Kommunikation zwischen Azure-Websites und Azure-VMs bereitstellen und die Latenz verbessern könnte.
Nebenbemerkung: Im Verlauf meiner Recherchen habe ich festgestellt, dass Sie Azure Virtual Networks
erstellen können (und davon ausgehen, dass dies Teil der Lösung sein könnte), aber ich sehe keine Möglichkeit, eine Website zu einem solchen virtuellen Netzwerk zu verschieben oder zuzuordnen.
Bitte überprüfen Sie, ob Sie alle Ihre Artikel in der gleichen Region bereitgestellt haben. Die Verwendung derselben Ressourcengruppe garantiert nicht, dass sich alle in derselben Region befinden. Aus der Dokumentation: "5 - Eine Ressourcengruppe kann Ressourcen enthalten, die sich in verschiedenen Regionen befinden." https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/ –