Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu Azure Well-Architected Framework Performans Verimliliği denetim listesi önerisi için geçerlidir:
| PE:12 | Performansı sürekli olarak optimize edin. Veritabanları ve ağ özellikleri gibi zaman içinde performansın kötüleştiğini gösteren bileşenlere odaklanın. |
|---|
Bu kılavuzda sürekli performans iyileştirme önerileri açıklanmaktadır. Sürekli performans iyileştirmesi sürekli izleme, analiz etme ve performans verimliliğini artırma sürecidir. Performans verimliliği, talepteki artışlara ve düşüşlere uyum sağlar. Performans iyileştirmesinin iş yükünün ömrü boyunca devam eden bir etkinlik olması gerekir. İş yükü performansı genellikle zaman içinde düşer veya aşırı hale gelir ve dikkate alınması gereken faktörler kullanım düzenlerindeki, talepteki, özelliklerdeki ve teknik borçtaki değişiklikleri içerir.
Tanımlar
| Süre | Definition |
|---|---|
| Veri katmanlama | Verileri erişim sıklığına göre kategorilere ayırmayı ve uygun depolama katmanlarında depolamayı içeren bir depolama stratejisi. |
| Teknik borç | Birikmiş verimsizlikler, yetersiz tasarım seçimleri veya kodu daha hızlı teslim etmek için geliştirme işlemi sırasında kasıtlı olarak alınan kısayollar. |
| Yaşam süresi | Veriler için süre sonu zamanı ayarlayan bir mekanizma. |
Performans verimliliği, iş yükü kapasitesinin gerçek kullanıma uygun olmasıdır. Fazla performans gösteren bir iş yükü, yetersiz performans gösteren bir iş yükü kadar sorunludur. Dengeler farklılık gösterir. Aşırı performans, maliyet iyileştirmesini etkiler. Düşük performans kullanıcıları etkiler. Performans verimliliğinin anahtarı, zaman içinde izleme, ayarlama ve test etmedir. İş yükünün verimli olduğundan emin olmak için performans ölçümlerini düzenli olarak gözden geçirmeniz ve gerekli ayarlamaları yapmanız gerekir. Performans hedeflerine ulaşmak için tüm değişiklikleri uygulama öncesi ve sonrası test etmek gerekir.
Performans kültürü geliştirme
Performans kültürü, sürekli iyileştirmenin beklendiği ve ekibin üretimden ders aldığı bir ortamdır. Performans iyileştirme, özel beceriler gerektirir. İş yükü ekipleri, talep artışlarını ve düşüşlerini karşılamak için performanslarını iyileştirmek için doğru becerilere ve düşünce yapısına ihtiyaç duyar. Ayrıca, ortaya çıkan performans sorunlarının gerekli izlenmesini ve düzeltilmesi için zaman ayırmanız gerekir. Bu ekiplerin net beklentilere ihtiyacı var. Örneğin, performans hedeflerinin, taban çizgilerinin ve sapma eşiklerinin (temelden ne kadar uzak kabul edilebilir) yüksek oranda görünür ve sosyalleştirilmesi gerekir.
Denge: Sürekli performans iyileştirmeleri, performans sorunlarını bulmak ve düzeltmek için doğru becerilere ve zamana sahip bir ekip gerektirir. Personelin performansa ayırılması operasyonel maliyet katıyor. Personel kaynaklarınız sınırlıysa, sürekli performans iyileştirmesi diğer operasyonel görevlerden zaman alabilir.
Yeni platform özelliklerini değerlendirme
Yeni platform özelliklerinin değerlendirilmesi, iyileştirilmiş depolama çözümleri, önbelleğe alma mekanizmaları veya kaynak yönetimi araçları gibi performans verimliliğini artırabilen bir platformun yeni işlevlerini ve araçlarını incelemeyi içerir. Yeni platform özellikleri, performans verimliliğini artırmak için yollar açabilir. En son yenilikleri ve en iyi uygulamaları kullandığınızdan emin olmak için platformunuzu ve araçlarınızı up-togüncel tutun. Yaklaşımınızı geliştirmek için bu yeni eklemelerden gelen geri bildirimleri ve performans ölçümlerini tutarlı bir şekilde izleyin.
İyileştirme çalışmalarının önceliğini belirleme
Performansı proaktif olarak iyileştirmek, herhangi bir performans sorunu ortaya çıkmadan önce iş yükünün performansını geliştirmek ve geliştirmek için proaktif önlemler almak anlamına gelir. Proaktif önlemlerin kullanılması olası performans sorunlarını belirlemeyi, performans ölçümlerini izlemeyi ve iş yükünün verimli bir şekilde çalıştığından ve istenen performans hedeflerini karşıladığından emin olmak için iyileştirmeler uygulamayı içerir. Bozulan bileşenlerin, kritik akışların ve teknik borcun analizine bağlı olarak, her alana özgü performans iyileştirmeleri uygulayabilirsiniz. Geliştirmeler kod değişikliklerini, altyapı ayarlamalarını veya yapılandırma güncelleştirmelerini içerebilir.
Bozulan bileşenlerin önceliklerini belirleme
bir iş yükü genellikle zaman içinde performans düşüşlerine eğilimli veritabanları ve ağ bileşenleri gibi bileşenlere sahiptir. İş yükü geliştikçe ve kullanım düzenleri değiştikçe, bu değişiklikler genellikle iş yükündeki tek tek bileşenlerin performansını etkiler. Veritabanlarındaki verilerin artması, daha uzun sorgu çalıştırma sürelerine ve daha yavaş veri alınmasına neden olabilir. Kullanım desenlerindeki değişiklikler, en iyi olmayan sorgu tasarımına neden olabilir. Bir zamanlar verimli olan sorgular, iş yükü geliştikçe verimsiz hale gelebilir. Verimsiz sorgular aşırı kaynak tüketebilir ve veritabanı performansını düşürebilir. Artan iş yükü kullanımı daha yüksek ağ trafiğine yol açarak tıkanıklık ve gecikme sorunlarına neden olabilir.
Bu bileşenlerin performansını iyileştirmek için sürekli çaba sarf etmek önemlidir. İş yükünüzdeki performans sorunlarını proaktif olarak belirleyin ve giderin. Bilinen kötüleşen bileşenlere öncelik vererek olası performans sorunlarını proaktif olarak giderebilir ve iş yükünüzün sorunsuz çalışmasını sağlayabilirsiniz. Performans ayarlama tekniklerini uygulamayı, kaynak ayırmayı iyileştirmeyi veya gerektiğinde donanım veya yazılım bileşenlerini yükseltmeyi içerebilir.
Kritik akışların önceliklerini belirleme
Kritik akışlar, iş yükündeki en önemli ve yüksek öncelikli işlemler veya iş akışlarıdır. Bu kritik akışlara öncelik vererek, iş yükünün en önemli bölümlerinin performans için iyileştirildiğinden emin olun. Hangi akışların kritik olduğunu bilmek, iyileştirme çalışmalarının önceliğini belirlemeye yardımcı olur. Uygulamanızın en önemli alanlarının performans verimliliğini iyileştirmek en yüksek yatırım getirisini sağlar. Kritik akışları ve en popüler sayfaları izlemeniz gerekir. Bunları daha verimli hale getirmenin yollarını arayın.
Performans iyileştirmeyi otomatikleştirme
Otomasyon, yinelenen ve zaman alan el ile işlemleri ortadan kaldırarak bunların verimli bir şekilde gerçekleştirilebilmesini sağlar. Otomasyon, insan hatası olasılığını azaltır ve iyileştirme görevlerini çalıştırmada tutarlılık sağlar. Bu görevleri otomatikleştirerek, değer katan daha karmaşık etkinliklere ve etkinliklere odaklanmak için kişileri serbest de oluşturabilirsiniz. Otomasyonu performans testi, dağıtım ve izleme gibi çeşitli görevlere uygulayabilirsiniz:
Otomatik performans testi: Farklı iş yüklerinin ve senaryoların benzetimini yapmak için JMeter, K6 veya Selenium gibi otomatik performans testi araçlarını kullanın.
Otomatik dağıtım: Tutarlı ve hatasız dağıtımlar sağlamak için otomatik dağıtım işlemleri uygulayın. Dağıtım işlemini otomatikleştirmek için CI/CD araçlarını kullanın. Bu araçlar, uç noktalara karşı test etmek, HTTP durumlarını denetlemek ve hatta veri kalitesini ve çeşitlemelerini doğrulamak için kullanırken performans sorunlarını belirlemenize yardımcı olabilir.
İzleme ve uyarı: Performans ölçümlerini sürekli izlemek ve sapmaları veya anomalileri algılamak için otomatik izleme ve uyarı sistemleri ayarlayın. Performans sorunları algılandığında, uygun ekiplere veya kişilere bildirim göndermek için otomatik uyarılar tetiklenebilir.
Olay yönetimi: Uyarılar alabilen, bilet oluşturabilen ve çözüm için uygun takımlara bilet atayabilen otomatik bir olay yönetim sistemi uygulayın. Bu adımlar, performans sorunlarının hemen giderilmesini ve doğru kaynaklara atanmasını sağlamaya yardımcı olur.
Otomatik tanılama: Performans verilerini analiz edip performans sorunlarının kök nedenlerini belirleyebilen otomatik tanılama araçları veya betikleri geliştirin. Bu araçlar, sistemin performans sorunlarına neden olan belirli alanlarını veya bileşenlerini belirlemeye yardımcı olabilir.
Otomatik düzeltme eylemleri: Belirli performans sorunları algılandığında tetiklenebilen otomatik düzeltme eylemlerini tanımlayın ve uygulayın. Bu eylemler hizmetleri yeniden başlatmayı, kaynak ayırmayı ayarlamayı, önbellekleri temizlemeyi veya diğer performans iyileştirme tekniklerini uygulamayı içerebilir.
Kendi kendini iyileştiren sistemler: Bilinen performans sorunları için kurtarma işlemini otomatikleştirerek sisteminizde kendi kendini düzeltme özellikleri oluşturun. Bu özellik, en iyi performansı geri yüklemek için sistem yapılandırmasını otomatik olarak düzeltmeyi veya ayarlamayı içerebilir.
Teknik borcu giderme
Teknik borç, birikmiş verimsizlikleri, yetersiz tasarım seçimlerini veya geliştirme sürecinde alınan ve performansı etkileyebilecek kısayolları ifade eder. Teknik borç, belirsiz kod ve aşırı karmaşık uygulamalar, performans verimliliğinin eldesini zorlaştırabilir. Teknik borcun giderilmesi, iş yükünün genel performansını ve sürdürülebilirliğini geliştirmek için bu sorunların tanımlanmasını ve çözülmesini içerir. Bu çalışma kodu yeniden düzenlemeyi, veritabanı sorgularını iyileştirmeyi, mimari tasarımı iyileştirmeyi veya en iyi yöntemleri uygulamayı içerebilir. Belki de son tarihi karşılamak için teknik borç getirmişsinizdir, ancak zaman içinde performans verimliliğini iyileştirdikçe teknik borcu gidermeniz gerekir.
Veritabanlarını iyileştirme
Veritabanlarını sürekli iyileştirme, veritabanlarının yükleri işleyebilmesini, hızlı yanıt sürelerini sunabilmesini ve kaynak kullanımını en aza indirebilmesini sağlamak için iyileştirmeleri tanımlamayı ve uygulamayı içerir. Veritabanlarını düzenli olarak iyileştirerek uygulama performansını geliştirebilir, kapalı kalma süresini azaltabilir ve genel kullanıcı deneyimini geliştirebilirsiniz.
Veritabanı sorgularını iyileştirme: Kötü yazılmış SQL deyimleri veritabanı performansını düşürebilir. Verimsiz JOIN koşulları gereksiz veri işlemeye neden olabilir. Karmaşık alt sorgular, iç içe sorgular ve aşırı işlevler çalışma hızını azaltabilir. Çok fazla veri alan sorgular yeniden yazılmalıdır. En yaygın veya kritik veritabanı sorgularınızı tanımlamanız ve en iyi duruma getirmeniz gerekir. İyileştirme, sorguların daha hızlı olmasını sağlamaya yardımcı olur.
Dizinleri koruma: Dizinlerin düzgün tasarlandığından ve korundığından emin olmak için dizin oluşturma stratejinizi değerlendirin. Dizin bakımı, kullanılmayan veya yedekli dizinleri tanımlamayı ve sorgu desenleriyle uyumlu dizinler oluşturmayı içerir. Veritabanı dizinleri, veri alma işlemlerini hızlandırmaya yardımcı olur. İlişkisel veritabanları için dizin parçalanma durumunu izlemeniz gerekir. Dizinleri düzenli olarak yeniden oluşturmanız veya yeniden düzenlemeniz gerekir. İlişkisel olmayan veritabanları için iş yükünüz için doğru dizin oluşturma ilkesini seçmeniz gerekir. Kullanılabilir durumdaki veritabanlarında otomatik ayarlamayı kullanın. Bu özellikler arasında otomatik olarak eksik dizinler oluşturma, kullanılmayan dizinleri bırakma ve plan düzeltmesi yer alır. Daha fazla bilgi için bkz . Performansı geliştirmek için dizinleri koruma.
Model tasarımını gözden geçirme: Veri modelini, uygulamanın belirli gereksinimlerine göre iyileştirdiğinizden emin olmak için gözden geçirin. Sorgu performansını ve veri alımını geliştirmek için normal olmayanlaştırma, bölümleme veya başka teknikler gerekebilir.
Veritabanı yapılandırmasını iyileştirme: Performansı ve kaynak kullanımını en üst düzeye çıkarmak için bellek ayırma, disk G/Ç ve eşzamanlılık ayarları gibi veritabanı yapılandırma ayarlarını iyileştirin.
Veri verimliliğini iyileştirme
Veri verimliliğini iyileştirmek, verilerin en verimli şekilde depolanmasını, işlenmesini ve erişilmesini sağlama işlemidir. Veri katmanlama ve yaşam süresi (TTL) kullanma, veri verimliliğini iyileştirmek için kullanılabilen tekniklerdir. Bu teknikleri veritabanları, dosya sistemleri veya nesne depolama gibi çeşitli veri depolama senaryolarında uygulayabilirsiniz.
Veri katmanlama kullanma: Veri katmanlama, verileri erişim önem derecesine veya sıklığına göre kategorilere ayırmayı ve verileri buna göre farklı katmanlarda depolamayı içerir. Veri katmanlamanın ayarlanması, depolama kaynaklarının daha verimli kullanılmasını sağlar ve performansı artırır. Sık erişilen veya kritik veriler yüksek performanslı katmanlarda depolanabilirken, daha az sıklıkta erişilen veya daha az kritik veriler daha düşük maliyetli katmanlarda depolanabilir. Amaç, verilerin doğru katmanda olduğundan emin olmak için zaman içinde veri kullanımını gözden geçirmektir. Veri öncelikleri değiştikçe verilerin bir katmandan diğerine taşınması gerekir.
Yaşam süresi uygulama: Yaşam süresi, veriler için süre sonu zamanı ayarlayan bir mekanizmadır. Yaşam süresi, verilerin belirli bir süre sonra otomatik olarak silinmesine veya arşivlenmesine olanak sağlayarak depolama gereksinimlerini azaltır ve veri yönetimini geliştirir. Uygun bir yaşam süresi ayarlayarak gereksiz verilerin kaldırılmasına izin verir, depolama alanı boşaltıp genel verimliliği artırırsınız. Oturum verileri, geçici dosyalar ve önbellek verileri yaşam süresi için sık sık hedeftir. Veritabanı girdilerinin yaşam süresi de olabilir.
Risk: Çok kısa bir yaşam süresi performans sorunları oluşturabilir.
Azure hizmetlerinin kolaylaştırılması
Performans iyileştirmeyi otomatikleştirme: Azure Danışmanı, iş yükü telemetrisi temelinde otomatik performans önerileri sağlar. Bu önerileri düzenli olarak gözden geçirmeli ve ele almalıdır. Azure İzleyici, sisteminizin performansı hakkında gerçek zamanlı içgörüler sağlar ve belirli performans ölçümlerine göre uyarılar ayarlamanıza olanak tanır. Azure Log Analytics, toplanan günlükler ve ölçümler üzerinde otomatik tanılama ve analiz sağlar. Azure Application Insights gibi araçlar performansı iyileştirmeye yönelik içgörüler ve öneriler sağlar.
Düzeltmeyi otomatikleştirmek için otomasyon araçlarını veya betikleri kullanarak uyarılar tetiklendiğinde düzeltme eylemlerini otomatik olarak yürütün. Azure Otomasyonu, Azure İşlevleri veya özel otomasyon çözümlerini kullanabilirsiniz.
Azure, farklı kullanıcı senaryolarının ve iş yüklerinin benzetimini yapmak için performans testi sağlar. Otomatik test, performans sorunlarını belirlemenize ve sisteminizi uygun şekilde iyileştirmenize yardımcı olabilir. Azure DevOps gibi araçlar performans testlerini otomatikleştirebilir.
Veritabanlarını iyileştirme: SQL ürün ailesi, SQL veritabanı performansını izlemenize ve düzeltmenize olanak sağlayan birçok yerleşik özelliğe sahiptir. Veritabanı performansını korumak için bu özellikleri kullanmanız gerekir. Azure SQL Veritabanı, sorguları sürekli izleyen ve geliştiren bir otomatik ayarlama özelliğine sahiptir. SQL sorgularını otomatik olarak geliştirmek için bu özelliği kullanmalısınız.
Azure Cosmos DB özelliklerini kullanarak dizin oluşturma ilkelerinizi özelleştirebilirsiniz . İş yükünüzün performans gereksinimlerini karşılamak için ilkeleri özelleştirin.
Veri verimliliğini iyileştirme: Veri katmanlama, verileri erişim sıklığına ve önemine göre farklı katmanlarda depolamanıza olanak tanır. Depolama maliyetlerini ve performansını iyileştirmeye yardımcı olur. Azure, blob verileri için sık erişimli, seyrek erişimli ve arşiv katmanları gibi farklı depolama katmanları sağlar. Sık erişimli katmanlar sık erişilen veriler için iyileştirilmiştir, seyrek erişimli katmanlar seyrek erişilen veriler içindir ve arşiv katmanları ise nadiren erişilen veriler içindir. Verilerinize en uygun depolama erişim katmanını kullanarak verimli veri depolama ve alma sağlayabilirsiniz.
İlgili bağlantılar
- Sorgu performansını geliştirmek ve kaynak tüketimini azaltmak için dizin bakımını iyileştirme
- Azure Danışmanı'nı kullanarak Azure uygulamalarının performansını geliştirme
- Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde otomatik ayarlama
- Azure Cosmos DB'de dizin oluşturma ilkeleri
Performans Verimliliği denetim listesi
Öneriler kümesinin tamamına bakın.