Ich habe eine Web-App in Azure, die ungefähr 100.000 Besucher pro Monat hat, mit weniger als zwei Seitenaufrufen pro Sitzung (reine SEO-Besucher).
Ich habe gerade unsere Azure-Rechnungen studiert und war schockiert, als wir herausfanden, dass wir im letzten Monat% der Daten herausgenommen haben.
Terabyte.
Das macht absolut keinen Sinn. Unsere durchschnittliche Seitengröße ist weniger als 3 MB (viel, aber nicht 30 MB, was die Mathematik sagen würde). Die Gesamtdaten sollten in der Praxis lauten:
3431000 (mb) / 150000 (Sitzungen) = 23 MB pro Sitzung, was absolut falsch ist. Ein Ergebnis von einem Dienst wie Pingdom sagt:
(Scheint Stack.Imgur ist down - Temp Link: Ссылка )
Mein Diagramm sieht so aus, und es ist nicht etwas, das gerade auftauchte. Ich habe unsere Rechnungen für eine Weile nicht analysiert, also könnte das schon eine Weile so weitergehen:
(Scheint Stack.Imgur ist down - Temp Link: Ссылка )
Die Seiten, die wir am häufigsten besuchen, sind eine automatisch generierte SEO-Seite, die aus einer Datenbank mit + 3 Millionen Datensätzen liest, aber sie ist ziemlich optimiert und unsere Datenbanken sind nicht so teuer. Die größte Herausforderung sind die Daten, die viel kosten.
Wie aber gehe ich bei jedem Test vor? Wo soll ich anfangen?
Meine Architektur:
Ich glaube ehrlich, dass alle meine Ressourcen in der gleichen Gegend sind. Hier ist ein Screenshot von meinen Hauptmördern - meine App und meine Datenbank:
App:
Datenbank:
Alle meine Ressourcen:
Nach einer sehr guten Hilfe von einem ukrainischen Entwickler, den ich bei Upwork gefunden habe, haben wir das Problem endlich gelöst.
Die Herausforderung war in unserer robots.txt.
Es stellte sich heraus, dass wir so viele Anfragen auf unseren Seiten hatten - und wir haben 3,6 Millionen Adress-Seiten - dass es einfach eine riesige Menge an Anfragen war. Deshalb waren die Daten so groß.
Wir haben es jetzt gelöst durch:
Ich bin glücklich!
Folgen Sie den Anweisungen in Ihre Rechnung für Microsoft Azure verstehen . Überprüfen Sie die Abrechnung auf Abonnementebene.
Finden Sie heraus, ob der Egress in anderen Regionen von azure-Diensten gesendet / angefordert oder von Website-Besuchern angefordert wird. Überprüfen Sie auch das Backup-Panel der Web-App oder jedes andere Backup, das regelmäßig ausgeführt wird.
Überprüfen Sie die Leistungsüberwachung oder den Leistungstest. Irgendwelche Tests von anderen Regionen, die für größeren Ausgang verantwortlich sind?
Finden Sie heraus, ob der Egress während der Geschäftszeiten der Website-Last folgt. Wenn nicht tiefer graben. Finden Sie heraus, ob SEO-Besucher Downloads auslösen, wenn ja, passen Sie die Links entsprechend an.
Tags und Links .net azure c# performance azure-web-app-service