Uygulamalı Laboratuvar: Sürdürülebilir Azure Web Siteleri: Değişikliği ve Ölçeği Yönetme
Web Camps Ekibi tarafından
Web Camps Eğitim Setini indirin
Microsoft Azure, web sitelerini oluşturmayı ve üretim ortamına dağıtmayı kolaylaştırır. Ancak uygulamanız canlı yayındayken işiniz bitmedi, yeni başlıyorsunuz! Değişen gereksinimleri, veritabanı güncelleştirmelerini, ölçeklendirmeyi ve daha fazlasını işlemeniz gerekir. Neyse ki Azure App Service, sitelerinizin sorunsuz çalışmasını sağlamaya yardımcı olacak birçok özelliği ele almıştır.
Azure, her boyuttaki web uygulaması için güvenli ve esnek geliştirme, dağıtım ve ölçeklendirme seçenekleri sunar. Altyapı yönetimi zahmetine girmeden uygulama oluşturmak ve dağıtmak için mevcut araçlarınızdan yararlanın.
Sık kullandığınız geliştirme aracı kullanılarak oluşturulan içeriği kolayca dağıtarak bir üretim web uygulamasını dakikalar içinde kendiniz sağlayın. Git, GitHub, Bitbucket, TFS ve hatta DropBox desteğiyle mevcut bir siteyi doğrudan kaynak denetiminden dağıtabilirsiniz. Windows'ta PowerShell'i veya herhangi bir işletim sisteminde çalışan CLI araçlarını kullanarak doğrudan sık kullandığınız IDE'den veya betiklerden dağıtın. Dağıtıldıktan sonra, sürekli dağıtım desteğiyle sitelerinizi sürekli güncel tutun.
Azure, büyük veya küçük tüm veriler için ölçeklenebilir, dayanıklı bulut depolama, yedekleme ve kurtarma çözümleri sağlar. Uygulamaları bir üretim ortamına dağıtırken Tablolar, Bloblar ve SQL Veritabanları gibi depolama hizmetleri, uygulamanızı bulutta ölçeklendirmenize yardımcı olur.
SQL Veritabanları ile, uygulamanızın yeni sürümlerini dağıtırken üretken veritabanınızı güncel tutmak önemlidir. Entity Framework Code First Migrations sayesinde, ortamlarınızı dakikalar içinde güncelleştirmek için veri modelinizin geliştirilmesi ve dağıtımı basitleştirildi. Bu uygulamalı laboratuvar, web uygulamanızı Microsoft Azure'daki üretim ortamlarına dağıtırken karşılaşabileceğiniz farklı konuları gösterir.
Tüm örnek kod ve kod parçacıkları adresinde bulunan Web Camps Eğitim Seti'ne https://aka.ms/webcamps-training-kitdahildir.
Bu konunun daha ayrıntılı kapsamı için Bkz. Azure ile Real-World Cloud Apps Oluşturma e-kitabı.
Genel Bakış
Hedefler
Bu uygulamalı laboratuvarda şunların nasıl yapılacağını öğreneceksiniz:
- Var olan bir modelle Entity Framework Geçişlerini etkinleştirme
- Entity Framework Geçişlerini kullanarak nesne modelini ve veritabanını uygun şekilde güncelleştirme
- Git kullanarak Azure App Service dağıtma
- Azure Yönetim portalını kullanarak önceki bir dağıtıma geri alma
- Web uygulamasını ölçeklendirmek için Azure Depolama'yı kullanma
- Azure Yönetim Portalı'nı kullanarak bir web uygulaması için otomatik ölçeklendirmeyi yapılandırma
- Visual Studio'da yük testi projesi oluşturma ve yapılandırma
Önkoşullar
Bu uygulamalı laboratuvarı tamamlamak için aşağıdakiler gereklidir:
Web için Visual Studio Express 2013 veya üzeri
Bir Microsoft Azure aboneliği
- Ücretsiz Deneme sürümüne kaydolma
- MSDN veya MSDN Platformları abonesi olarak Visual Studio Professional, Test Professional, Premium veya Ultimate kullanıyorsanız, Azure'da geliştirmeye ve test etmeye başlamak için MSDN avantajınızı şimdi etkinleştirin
- BizSpark üyeleri MSDN abonelikleriyle Visual Studio Ultimate azure avantajını otomatik olarak alır
- Microsoft İş Ortağı Ağı Cloud Essentials programının üyeleri aylık Azure kredilerini ücretsiz olarak alır
Kurulum
Alıştırmaları bu uygulamalı laboratuvarda çalıştırmak için önce ortamınızı ayarlamanız gerekir.
- Windows Gezgini'ni açın ve laboratuvarın Kaynak klasörüne göz atın.
- Setup.cmd'ye sağ tıklayıp Yönetici olarak çalıştır'ı seçerek ortamınızı yapılandıracak kurulum işlemini başlatın ve bu laboratuvar için Visual Studio kod parçacıklarını yükleyin.
- Kullanıcı Hesabı Denetimi iletişim kutusu gösteriliyorsa, devam etmek için eylemi onaylayın.
Not
Kurulumu çalıştırmadan önce bu laboratuvar için tüm bağımlılıkları denetlediğinizden emin olun.
Kod Parçacıklarını Kullanma
Laboratuvar belgesinin tamamında kod blokları eklemeniz istenir. Size kolaylık olması için, bu kodun çoğu el ile eklemek zorunda kalmamak için Visual Studio 2013 içinden erişebileceğiniz Visual Studio Code Kod Parçacıkları olarak sağlanır.
Not
Her alıştırmaya, alıştırmanın Begin klasöründe bulunan ve her alıştırmayı diğerlerinden bağımsız olarak izlemenizi sağlayan bir başlangıç çözümü eşlik eder. Alıştırma sırasında eklenen kod parçacıklarının bu başlangıç çözümlerinde eksik olduğunu ve siz alıştırmayı tamamlayana kadar çalışmayabileceğini unutmayın. Bir alıştırmanın kaynak kodunun içinde, ilgili alıştırmadaki adımların tamamlanmasıyla sonuçlanacak kodu içeren visual studio çözümünü içeren bir End klasörü de bulacaksınız. Bu uygulamalı laboratuvarda çalışırken ek yardıma ihtiyacınız varsa bu çözümleri rehberlik olarak kullanabilirsiniz.
Egzersiz
Bu uygulamalı laboratuvar aşağıdaki alıştırmaları içerir:
- Entity Framework Geçişlerini Kullanma
- Web Uygulamasını Hazırlamaya Dağıtma
- Üretimde Dağıtım Geri Alma Gerçekleştirme
- Azure Depolama Kullanarak Ölçeklendirme
- Web Apps için Otomatik Ölçeklendirmeyi Kullanma (Visual Studio 2013 Ultimate sürümü için isteğe bağlı)
Bu laboratuvarın tamamlanması için tahmini süre: 75 dakika
Not
Visual Studio'yu ilk kez başlattığınızda, önceden tanımlanmış ayarlar koleksiyonlarından birini seçmeniz gerekir. Önceden tanımlanmış her koleksiyon belirli bir geliştirme stiliyle eşleşecek şekilde tasarlanmıştır ve pencere düzenlerini, düzenleyici davranışını, IntelliSense kod parçacıklarını ve iletişim kutusu seçeneklerini belirler. Bu laboratuvardaki yordamlar, Genel Geliştirme Ayarları koleksiyonunu kullanırken Visual Studio'da belirli bir görevi gerçekleştirmek için gereken eylemleri açıklar. Geliştirme ortamınız için farklı bir ayar koleksiyonu seçerseniz, dikkate almanız gereken adımlarda farklılıklar olabilir.
Alıştırma 1: Entity Framework Geçişlerini Kullanma
Bir uygulama geliştirirken veri modeliniz zaman içinde değişebilir. Bu değişiklikler veritabanınızdaki mevcut modeli etkileyebilir (yeni bir sürüm oluşturuyorsanız) ve hataları önlemek için veritabanınızı güncel tutmanız önemlidir.
Modelinizde bu değişikliklerin izlenmesini basitleştirmek için Entity Framework Code First Migrations modelinizi veritabanı şemasıyla karşılaştıran değişiklikleri otomatik olarak algılayın ve veritabanınızı güncelleştirmek için belirli bir kod oluşturarak veritabanınızın yeni sürümlerini oluşturun.
Bu alıştırmada, uygulamanız için Geçişleri nasıl etkinleştirebileceğiniz ve veritabanlarınızı güncelleştirmek için değişiklikleri kolayca algılayıp oluşturabileceğiniz gösterilmektedir.
Görev 1 – Geçişleri Etkinleştirme
Bu görevde, Geek Test veritabanında Entity Framework Code First Migrations etkinleştirme, modeli değiştirme ve bu değişikliklerin veritabanına nasıl yansıtılacağını anlama adımlarını ilerleteceksiniz.
Visual Studio'yu açın ve Source\Ex1-UsingEntityFrameworkMigrations\Begin dizininden GeekQuiz.sln çözüm dosyasını açın.
NuGet paketi bağımlılıklarını indirip yüklemek için çözümü oluşturun. Bunu yapmak için çözüme sağ tıklayın ve Çözüm Oluştur'a tıklayın veya Ctrl + Shift + B tuşlarına basın.
Visual Studio'daki Araçlar menüsünde NuGet Paket Yöneticisi'ni seçin ve ardından Paket Yöneticisi Konsolu'na tıklayın.
Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin ve Enter tuşuna basın. Mevcut modeli temel alan bir ilk geçiş oluşturulur.
Enable-Migrations -ContextTypeName GeekQuiz.Models.TriviaContext
Code First Migrations aracını etkinleştirme
Not
Bu komut, Geek Test projesine Configuration.cs adlı bir dosya içeren bir Migrations klasörü ekler. Configuration sınıfı, Migrations'ın bağlamınız için nasıl davranacağını yapılandırmanıza olanak tanır.
Geçişler etkinleştirildiğinde, Veritabanını Geek Test'in gerektirdiği ilk verilerle doldurmak için Configuration sınıfını güncelleştirmeniz gerekir. Geçişler'in altında Configuration.cs dosyasını bu laboratuvarın Source\Assets klasöründe bulunan dosyayla değiştirin.
Not
Geçişler her veritabanı güncelleştirmesi ile Seed yöntemini çağıracağı için kayıtların veritabanında çoğaltılmadığından emin olmanız gerekir. AddOrUpdate yöntemi yinelenen verileri önlemeye yardımcı olur.
İlk geçişi eklemek için aşağıdaki komutu girin ve Enter tuşuna basın.
Not
LocalDB örneğinizde "GeekQuizProd" adlı bir veritabanı olmadığından emin olun.
Add-Migration InitialSchema
Temel şema geçişi ekleme
Not
Add-Migration , son geçiş oluşturulduktan sonra modelinizde yaptığınız değişikliklere göre sonraki geçişin iskelesini oluşturur. Bu durumda, projenin ilk geçişi olduğundan, TriviaContext sınıfında tanımlanan tüm tabloları oluşturmak için betikleri ekler.
Aşağıdaki komutu çalıştırarak veritabanını güncelleştirmek için geçişi yürütür. Bu komut için hedef veritabanına uygulanan SQL deyimlerini görüntülemek için Ayrıntılı bayrağını belirtebilirsiniz.
Update-Database -Verbose
İlk veritabanı oluşturma
Not
Update-Database , bekleyen tüm geçişleri veritabanına uygular. Bu durumda, web.config dosyanızda tanımlanan bağlantı dizesi kullanarak veritabanını oluşturur.
Görünüm menüsüne gidin ve SQL Server Nesne Gezgini açın.
SQL Server Nesne Gezgini'da aç
SQL Server Nesne Gezgini penceresinde, SQL Server düğümüne sağ tıklayıp SQL Server ekle... seçeneğini belirleyerek LocalDB örneğinize bağlanın.
SQL Server Nesne Gezgini'a SQL Server örneği ekleme
Sunucu adını(localdb)\v11.0 olarak ayarlayın ve kimlik doğrulama modu olarak Windows Kimlik Doğrulaması'nı bırakın. Devam etmek için Bağlan’a tıklayın.
LocalDB'ye bağlanma
GeekQuizProd veritabanını açın ve Tablolar düğümünü genişletin. Gördüğünüz gibi Update-Database komutu TriviaContext sınıfında tanımlanan tüm tabloları oluşturdu. dbo dosyasını bulun. TriviaQuestions tablosunu açın ve sütunlar düğümünü açın. Sonraki görevde, bu tabloya yeni bir sütun ekleyecek ve Migrations kullanarak veritabanını güncelleştireceğiz.
Trivia Soru Sütunları
Görev 2 – Geçişleri Kullanarak Veritabanı Şemasını Güncelleştirme
Bu görevde, modelinizdeki bir değişikliği algılamak ve veritabanını güncelleştirmek için gerekli kodu oluşturmak için Entity Framework Code First Migrations kullanacaksınız. TriviaQuestions varlığını yeni bir özellik ekleyerek güncelleştirebilirsiniz. Ardından yeni sütunu tabloya eklemek üzere yeni bir Geçiş oluşturmak için komutları çalıştıracaksınız.
Çözüm Gezgini'da, Models klasöründe bulunan TriviaQuestion.cs dosyasına çift tıklayın.
Aşağıdaki kod parçacığında gösterildiği gibi Hint adlı yeni bir özellik ekleyin.
public class TriviaQuestion { public int Id { get; set; } [Required] public string Title { get; set; } public virtual List<TriviaOption> Options { get; set; } public string Hint { get; set; } }
Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin ve Enter tuşuna basın. Modelimizdeki değişikliği yansıtan yeni bir geçiş oluşturulur.
Add-Migration QuestionHint
Add-Migration
Not
Migration dosyası Yukarı ve Aşağı olmak üzere iki yöntemden oluşur.
- Up yöntemi, uygulamamızın geçerli sürümünün veritabanına uygulanması gereken değişiklikleri belirtmek için kullanılır.
- Down, Yukarı yöntemine eklediğimiz değişiklikleri tersine çevirmek için kullanılır.
Veritabanı Geçişi veritabanını güncelleştirdiğinde, tüm geçişleri zaman damgası sırasında ve yalnızca son güncelleştirmeden sonra kullanılmayanları çalıştırır (_MigrationHistory tablosu hangi geçişlerin uygulandığını izler). Tüm geçişlerin Up yöntemi çağrılır ve veritabanında belirttiğimiz değişiklikleri yapar. Önceki bir geçişe geri dönmeye karar verirsek değişiklikleri ters sırada yinelemek için Down yöntemi çağrılır.
Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin ve Enter tuşuna basın.
Update-Database -Verbose
Update-Database komutunun çıkışı, aşağıdaki görüntüde gösterildiği gibi TriviaQuestions tablosuna yeni bir sütun eklemek için bir Alter Table SQL deyimi oluşturdu.
Oluşturulan sütun SQL deyimini ekleme
SQL Server Nesne Gezgini'dadbo'yu yenileyin. TriviaQuestions tablosuna gidin ve yeni hint sütununun görüntülenip görüntülenmediğini denetleyin.
Yeni İpucu Sütunu gösteriliyor
TriviaQuestion.cs düzenleyicisine geri döndüğünüzde, aşağıdaki kod parçacığında gösterildiği gibi Hint özelliğine bir StringLength kısıtlaması ekleyin.
public class TriviaQuestion { public int Id { get; set; } [Required] public string Title { get; set; } public virtual List<TriviaOption> Options { get; set; } [StringLength(150)] public string Hint { get; set; } }
Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin ve Enter tuşuna basın.
Add-Migration QuestionHintLength
Paket Yöneticisi Konsolu'nda aşağıdaki komutu girin ve Enter tuşuna basın.
Update-Database -Verbose
Update-Database komutunun çıkışı, aşağıdaki görüntüde gösterildiği gibi TriviaQuestions tablosunun ipucu sütun türünü güncelleştirmek için bir Alter Table SQL deyimi oluşturdu.
Alter column SQL deyimi oluşturuldu
SQL Server Nesne Gezgini'dadbo'yu yenileyin. TriviaQuestions tablosuna gidin ve İpucu sütun türünün nvarchar(150) olup olmadığını denetleyin.
Yeni kısıtlama gösteriliyor
Alıştırma 2: Web Uygulamasını Hazırlamaya Dağıtma
Azure App Service'de Web Apps, aşamalı yayımlama gerçekleştirmenizi sağlar. Aşamalı yayımlama, her varsayılan üretim sitesi için bir hazırlama sitesi yuvası oluşturur ve bu yuvaları çalışma süresi olmadan değiştirmenizi sağlar. Bu, genel kullanıma sunulmadan önce değişiklikleri doğrulamak, site içeriğini artımlı olarak tümleştirmek ve değişiklikler beklendiği gibi çalışmıyorsa geri almak için gerçekten yararlıdır.
Bu alıştırmada, Git kaynak denetimini kullanarak Geek Test uygulamasını web uygulamanızın hazırlama ortamına dağıtacaksınız. Bunu yapmak için web uygulamasını oluşturacak ve yönetim portalında gerekli bileşenleri sağlayacak, bir Git deposu yapılandıracak ve uygulama kaynak kodunu yerel bilgisayarınızdan hazırlama yuvasına göndereceksiniz. Ayrıca üretim veritabanınızı önceki alıştırmada oluşturduğunuz Code First Migrations güncelleştirebilirsiniz. Ardından uygulamayı bu test ortamında yürüterek işlemini doğrulayacaksınız. Beklentilerinize göre çalıştığından emin olduktan sonra uygulamayı üretime yükselteceksiniz.
Not
Aşamalı yayımlamayı etkinleştirmek için web uygulamasının Standart modda olması gerekir. Web uygulamanızı Standart moda değiştirirseniz ek ücret yansıtılacağını unutmayın. Fiyatlandırma hakkında daha fazla bilgi için bkz. fiyatlandırma App Service.
Görev 1 – Azure App Service'da Web Uygulaması Oluşturma
Bu görevde, yönetim portalından Azure App Service'de bir web uygulaması oluşturacaksınız. Ayrıca uygulama verilerini kalıcı hale getirmek için bir SQL Veritabanı yapılandıracak ve kaynak denetimi için yerel bir Git deposu yapılandıracaksınız.
Azure yönetim portalına gidin ve aboneliğinizle ilişkili Microsoft hesabını kullanarak oturum açın.
Azure yönetim portalında oturum açma
Sayfanın en altındaki komut çubuğunda Yeni'ye tıklayın.
Yeni web uygulaması oluşturma
İşlem, Web Sitesi ve ardından Özel Oluştur'a tıklayın.
Özel Oluşturma kullanarak yeni bir web uygulaması oluşturma
Yeni Web Sitesi - Özel Oluştur iletişim kutusunda, kullanılabilir bir URL sağlayın (örn. geek-quiz), Bölge açılan listesinden bir konum seçin ve Veritabanı açılan listesinde Yeni SQL veritabanı oluştur'u seçin. Son olarak, Kaynak denetiminden yayımla onay kutusunu seçin ve İleri'ye tıklayın.
Yeni web uygulamasını özelleştirme
Veritabanı ayarları için aşağıdaki bilgileri belirtin:
Ad metin kutusuna bir veritabanı adı girin (örneğin, geekquiz_db)
Sunucu açılan listesinde Yeni SQL veritabanı sunucusu'nu seçin. Alternatif olarak, var olan bir sunucuyu seçebilirsiniz.
Veritabanı kullanıcı adı ve Veritabanı parolası kutularına SQL veritabanı sunucusunun yönetici kullanıcı adını ve parolasını girin. Önceden oluşturduğunuz bir sunucuyu seçerseniz parola istenir.
Veritabanı ayarlarını belirtme
Devam etmek için İleri'ye tıklayın.
Kaynak denetiminin kullanması için Yerel Git deposu'na tıklayın ve İleri'ye tıklayın.
Not
Dağıtım kimlik bilgileri (kullanıcı adı ve parola) istenebilir.
Git deposunu oluşturma
Yeni web uygulaması oluşturulana kadar bekleyin.
Not
Varsayılan olarak, Azure azurewebsites.net'de etki alanları sağlar, aynı zamanda Azure yönetim portalını kullanarak özel etki alanları ayarlama olanağı da sunar. Ancak, özel etki alanlarını yalnızca belirli Azure App Service modlarını kullanıyorsanız yönetebilirsiniz.
Azure App Service Ücretsiz, Paylaşılan, Temel, Standart ve Premium sürümlerde kullanılabilir. Ücretsiz ve Paylaşılan modda, tüm web uygulamaları çok kiracılı bir ortamda çalışır ve CPU, Bellek ve Ağ kullanımı kotalarına sahiptir. En fazla ücretsiz uygulama sayısı planınıza göre değişebilir. Standart modda, standart Azure işlem kaynaklarına karşılık gelen ayrılmış sanal makinelerde hangi uygulamaların çalıştırıldığını seçersiniz. Web uygulaması modu yapılandırmasını web uygulamanızın Ölçek menüsünde bulabilirsiniz.
Paylaşılan veya Standart modu kullanıyorsanız, uygulamanızın Yapılandır menüsüne gidip etki alanı adları altında Etki Alanlarını Yönet'e tıklayarak web uygulamanız için özel etki alanlarını yönetebilirsiniz.
Web uygulaması oluşturulduktan sonra URL sütununun altındaki bağlantıya tıklayarak yeni web uygulamasının çalışıp çalışmadığını denetleyin.
Yeni web uygulamasına göz atma
çalışan web uygulaması
Görev 2 – Üretim SQL Veritabanı Oluşturma
Bu görevde, önceki görevde oluşturduğunuz Azure SQL Veritabanı örneğini hedefleyen veritabanını oluşturmak için Entity Framework Code First Migrations kullanacaksınız.
Yönetim Portalı'nda, önceki görevde oluşturduğunuz web uygulamasına ve panoya gidin.
Pano sayfasında, hızlı bakış bölümünün altındaki Bağlantı dizelerini görüntüle bağlantısına tıklayın.
Bağlantı dizelerini görüntüleme
bağlantı dizesi değerini kopyalayın ve iletişim kutusunu kapatın.
Azure Yönetim Portalı'nda Bağlantı Dizesi
Azure'daki SQL veritabanlarının listesini görmek için SQL Veritabanları'na tıklayın
SQL Veritabanı menüsü
Önceki görevde oluşturduğunuz veritabanını bulun ve Sunucu'ya tıklayın.
SQL Veritabanı sunucusu
Sunucunun Hızlı Başlangıç sayfasında Yapılandır'a tıklayın.
Yapılandır menüsü
İzin verilen IP adresleri bölümünde, IP'nizin SQL Veritabanı sunucusuna bağlanmasını sağlamak için İzin verilen IP adresleri bağlantısına ekle'ye tıklayın.
İzin verilen IP adresleri
Adımı tamamlamak için sayfanın alt kısmındaki Kaydet'e tıklayın.
Visual Studio’ya geri dönün.
Paket Yöneticisi Konsolu'nda aşağıdaki komutu yürüterek [YOUR-CONNECTION-STRING] yer tutucusunu Azure'dan kopyaladığınız bağlantı dizesi değiştirin
Update-Database -Verbose -ConnectionString "[YOUR-CONNECTION-STRING]" -ConnectionProviderName "System.Data.SqlClient"
veritabanı hedefleme Azure SQL Veritabanını güncelleştirme
Görev 3 – Git Kullanarak Hazırlamaya Geek Testi Dağıtma
Bu görevde, web uygulamanızda aşamalı yayımlamayı etkinleştirebilirsiniz. Ardından, Geek Test uygulamasını doğrudan yerel bilgisayarınızdan web uygulamanızın hazırlama ortamına yayımlamak için Git'i kullanacaksınız.
Portala Geri dön ve yönetim sayfalarını görüntülemek için Ad sütununun altındaki web uygulamasının adına tıklayın.
Web uygulaması yönetim sayfalarını açma
Ölçek sayfasına gidin. Genel bölümün altında yapılandırma için Standart'ı seçin ve komut çubuğunda Kaydet'e tıklayın.
Not
Geçerli bölgede ve abonelikte tüm web uygulamalarını Standart modda çalıştırmak için, Site Seç yapılandırmasında Tümünü Seç onay kutusunu seçili bırakın. Aksi takdirde, Tümünü Seç onay kutusunu temizleyin.
Web Uygulamasını Standart moda yükseltme
Değişiklikleri onaylamak için Evet'e tıklayın.
Standart moda geçmeyi onaylama
Pano sayfasına gidin ve hızlı bakış bölümünün altında Aşamalı yayımlamayı etkinleştir'e tıklayın.
Aşamalı yayımlamayı etkinleştirme
Aşamalı yayımlamayı etkinleştirmek için Evet'e tıklayın.
Aşamalı yayımlamayı onaylama
Web uygulamaları listesinde, hazırlama sitesi yuvasını görüntülemek için web uygulamanızın adının solundaki işareti genişletin. Web uygulamanızın adına ve ardından (hazırlama) sahiptir. Yönetim sayfasına gitmek için hazırlama sitesine tıklayın.
Hazırlama uygulamasına gezinme
Yönetim sayfasının başka bir web uygulamasının yönetim sayfası gibi göründüğüne dikkat edin. Dağıtımlar sayfasına gidin ve Git URL değerini kopyalayın. Bu alıştırmanın ilerleyen bölümlerinde kullanacaksınız.
Git URL değerini kopyalama
Yeni bir Git Bash konsolu açın ve aşağıdaki komutları yürütür. [YOUR-APPLICATION-PATH] yer tutucusunu, bu laboratuvarın Source\Ex1-DeployingWebSiteToStaging\Begin klasöründe bulunan GeekQuiz çözümünün yoluyla güncelleştirin.
cd "[YOUR-APPLICATION-PATH]" git init git config --global user.email "{username@example.com}" git config --global user.name "{your-user-name}" git add . git commit -m "Initial commit"
Git başlatma ve ilk işleme
Web uygulamanızı uzak Git deposuna göndermek için aşağıdaki komutu çalıştırın. Yer tutucuyu yönetim portalından aldığınız URL ile değiştirin. Dağıtım parolanızı girmeniz istenir.
git remote add azure [GIT-CLONE-URL] git push azure master
Azure'a gönderme
Not
İçeriği bir web uygulamasının FTP konağına veya GIT deposuna dağıttığınızda, web uygulamasının Hızlı Başlangıç veya Pano yönetim sayfalarından oluşturduğunuz dağıtım kimlik bilgilerini kullanarak kimlik doğrulaması yapmanız gerekir. Dağıtım kimlik bilgilerinizi bilmiyorsanız yönetim portalını kullanarak bunları kolayca sıfırlayabilirsiniz. Web uygulaması Panosu sayfasını açın ve Dağıtım kimlik bilgilerinizi sıfırlayın bağlantısına tıklayın. Yeni bir parola girin ve Tamam'a tıklayın. Dağıtım kimlik bilgileri, aboneliğinizle ilişkili tüm web uygulamalarıyla kullanılmak üzere geçerlidir.
Web uygulamasının Azure'a başarıyla gönderildiğini doğrulamak için yönetim portalına geri dönün ve Web siteleri'ne tıklayın.
Web uygulamanızı bulun ve hazırlama sitesi yuvasını görüntülemek için girdiyi genişletin. Yönetim sayfasına gitmek için Adı'na tıklayın.
Dağıtım geçmişini görmek için Dağıtımlar'a tıklayın. "İlk İşleme"nize sahip bir Etkin Dağıtım olduğunu doğrulayın.
Etkin dağıtım
Son olarak, web uygulamasına gitmek için komut çubuğunda Gözat'a tıklayın.
Web uygulamasına göz atma
Uygulama başarıyla dağıtılırsa Geek Test oturum açma sayfasını görürsünüz.
Not
Dağıtılan uygulamanın adres URL'si, web uygulamanızın adını ve ardından -staging öğesini içerir.
Hazırlama ortamında çalışan uygulama
Uygulamayı keşfetmek istiyorsanız, yeni bir kullanıcı kaydetmek için Kaydet'e tıklayın. Kullanıcı adı, e-posta adresi ve parola girerek hesap ayrıntılarını tamamlayın. Ardından uygulama testin ilk sorusunu gösterir. Beklendiği gibi çalıştığından emin olmak için birkaç soruyu yanıtlayın.
Kullanıma hazır uygulama
Görev 4 – Web Uygulamasını Üretime Yükseltme
Web uygulamasının hazırlama ortamında düzgün çalıştığını doğruladığınıza göre, uygulamayı üretim ortamına yükseltmeye hazırsınız. Bu görevde, hazırlama sitesi yuvasını üretim sitesi yuvasıyla değiştireceğiz.
Yönetim portalına Geri dön ve hazırlama sitesi yuvasını seçin. Komut çubuğunda Değiştir'e tıklayın.
Üretime değiştirme
Değiştirme işlemine devam etmek için onay iletişim kutusunda Evet'e tıklayın. Azure, üretim sitesinin içeriğini hazırlama sitesinin içeriğiyle hemen değiştirecektir.
Not
Hazırlanan sürümdeki bazı ayarlar otomatik olarak üretim sürümüne kopyalanır (örneğin, bağlantı dizesi geçersiz kılmalar, işleyici eşlemeleri vb.) ancak diğer ayarlar değişmez (örneğin DNS uç noktaları, SSL bağlamaları vb.).
Değiştirme işlemini onaylama
Değiştirme işlemi tamamlandıktan sonra üretim yuvasını seçin ve komut çubuğunda Gözat'a tıklayarak üretim sitesini açın. Adres çubuğundaki URL'ye dikkat edin.
Not
Önbelleği temizlemek için tarayıcınızı yenilemeniz gerekebilir. Internet Explorer'da CTRL+R tuşlarına basarak bunu yapabilirsiniz.
GitBash konsolunda, üretim yuvasını hedeflemek için yerel Git deposunun uzak URL'sini güncelleştirin. Bunu yapmak için aşağıdaki komutu çalıştırarak yer tutucuları dağıtım kullanıcı adınız ve web uygulamanızın adıyla değiştirin.
Not
Aşağıdaki alıştırmalarda, laboratuvarın basitliği için hazırlık yapmak yerine değişiklikleri üretim alanına gönderecektir. Gerçek dünya senaryosunda, üretime yükseltmeden önce hazırlama ortamındaki değişiklikleri doğrulamanız önerilir.
git remote set-url azure https://<your-user>@<your-web-site>.scm.azurewebsites.net:443/<your-web-site>.git
Alıştırma 3: Üretimde Dağıtım Geri Alma Gerçekleştirme
Örneğin , Ücretsiz veya Paylaşılan modla çalışıyorsanız, hazırlama ve üretim arasında çalışırken değiştirme gerçekleştirmek için bir hazırlama yuvanız olmadığı senaryolar vardır. Bu senaryolarda, üretim ortamına dağıtmadan önce uygulamanızı yerel ortamda veya uzak bir sitede test etmelisiniz. Ancak, test aşaması sırasında algılanmayan bir sorun üretim alanında ortaya çıkabilir. Bu durumda, uygulamanın önceki ve daha kararlı bir sürümüne mümkün olan en kısa sürede kolayca geçiş yapmak için bir mekanizmaya sahip olmak önemlidir.
Azure App Service'da, yönetim portalında sağlanan yeniden dağıtma eylemi sayesinde kaynak denetiminden sürekli dağıtım bunu mümkün kılar. Azure, depoya gönderilen işlemelerle ilişkili dağıtımları izler ve herhangi bir zamanda önceki dağıtımlarınızdan herhangi birini kullanarak uygulamanızı yeniden dağıtma seçeneği sunar.
Bu alıştırmada , Geek Test uygulamasında kasıtlı olarak bir hataya neden olan kodda bir değişiklik yapacaksınız. Hatayı görmek için uygulamayı üretime dağıtacak ve ardından önceki duruma geri dönmek için yeniden dağıtma özelliğinden yararlanacaksınız.
Görev 1 – Geek Test Uygulamasını Güncelleştirme
Bu görevde, veritabanından seçilen test seçeneğini alan mantığın bir kısmını yeni bir yönteme ayıklamak için TriviaController sınıfının küçük bir kodunu yeniden düzenleyeceğiz.
Önceki alıştırmadan GeekQuiz çözümüyle Visual Studio örneğine geçin.
Çözüm Gezgini'daControllers klasörünün içindeki TriviaController.cs dosyasını açın.
StoreAsync yöntemini bulun ve aşağıdaki şekilde vurgulanan kodu seçin.
Kodu seçme
Seçili koda sağ tıklayın, Yeniden Düzenle menüsünü genişletin ve Yöntemi Ayıkla... seçeneğini belirleyin.
Ayıklama Yöntemi Seçme
Ayıklama Yöntemi iletişim kutusunda yeni yöntemi MatchesOption olarak adlandırın ve Tamam'a tıklayın.
Ayıklanan yöntemin adını belirtme
Seçili kod daha sonra MatchesOption yöntemine ayıklanır. Sonuçta elde edilen kod aşağıdaki kod parçacığında gösterilir.
private async Task<bool> StoreAsync(TriviaAnswer answer) { this.db.TriviaAnswers.Add(answer); await this.db.SaveChangesAsync(); var selectedOption = await this.db.TriviaOptions.FirstOrDefaultAsync(o => MatchesOption(answer, o)); return selectedOption.IsCorrect; } private static bool MatchesOption(TriviaAnswer answer, TriviaOption o) { return o.Id == answer.OptionId && o.QuestionId == answer.QuestionId; }
Değişiklikleri kaydetmek için CTRL + S tuşlarına basın.
Görev 2 – Geek Test Uygulamasını Yeniden Dağıtma
Şimdi önceki görevde yaptığınız değişiklikleri depoya göndererek üretim ortamına yeni bir dağıtım tetikleyeceksiniz. Ardından Internet Explorer tarafından sağlanan F12 geliştirme araçlarını kullanarak bir sorunla karşınıza çıkacak ve ardından Azure yönetim portalından önceki dağıtıma geri alma işlemi gerçekleştireceksiniz.
Güncelleştirilmiş uygulamayı Azure App Service dağıtmak için yeni bir Git Bash konsolu açın.
Değişiklikleri Azure'a göndermek için aşağıdaki komutları yürütebilirsiniz. [YOUR-APPLICATION-PATH] yer tutucusunu GeekQuiz çözümünün yolu ile güncelleştirin. Dağıtım parolanız istenir.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Refactored answer check" git push azure master
Yeniden düzenlenmiş kodu Azure'a gönderme
Internet Explorer'ı açın ve web uygulamanıza gidin (örneğin
http://<your-web-site>.azurewebsites.net
). Önceden oluşturulmuş kimlik bilgilerini kullanarak oturum açın.Geliştirme araçlarını başlatmak için F12 tuşuna basın, Ağ sekmesini seçin ve kayıt işlemini başlatmak için Yürüt düğmesine tıklayın.
Ağ kaydını başlatma
Testin herhangi bir seçeneğini belirleyin. Hiçbir şey olmadığını göreceksiniz.
F12 penceresinde POST HTTP isteğine karşılık gelen giriş bir HTTP 500 sonucu gösterir.
HTTP 500 hatası
Konsol sekmesini seçin. Nedeninin ayrıntılarıyla birlikte bir hata günlüğe kaydedilir.
Günlüğe kaydedilen hata
Hatanın ayrıntılar bölümünü bulun. Bu hatanın nedeni, önceki adımlarda işlediğiniz kod yeniden düzenlemesidir.
Details: LINQ to Entities does not recognize the method 'Boolean MatchesOption ...
.Tarayıcıyı kapatmayın.
Yeni bir tarayıcı örneğinde [Azure yönetim portalı](/azure/azure-portal/azure-portal-overview) adresine gidin ve aboneliğinizle ilişkili Microsoft hesabını kullanarak oturum açın.
Web Siteleri'ni seçin ve Alıştırma 2'de oluşturduğunuz web uygulamasına tıklayın.
Dağıtımlar sayfasına gidin. Gerçekleştirilen tüm işlemelerin dağıtım geçmişinde listelendiğine dikkat edin.
Mevcut dağıtımların listesi
Önceki işlemeyi seçin ve komut çubuğunda Yeniden Dağıt'a tıklayın.
Önceki işlemeyi yeniden dağıtma
Onaylamanız istendiğinde Evet'e tıklayın.
Dağıtım tamamlandığında web uygulamanızla tarayıcı örneğine dönün ve CTRL + F5 tuşlarına basın.
Seçeneklerden herhangi birine tıklayın. Çevirme animasyonu şimdi gerçekleşir ve sonuç (doğru/yanlış) görüntülenir.
(İsteğe bağlı) Git Bash konsoluna geçin ve önceki işlemeye dönmek için aşağıdaki komutları yürütür.
Not
Bu komutlar, Git deposundaki hatalı işlemede yapılan tüm değişiklikleri geri alan yeni bir işleme oluşturur. Azure daha sonra yeni işlemeyi kullanarak uygulamayı yeniden dağıtır.
git revert HEAD --no-edit git push azure master
Alıştırma 4: Azure Depolama Kullanarak Ölçeklendirme
Bloblar , büyük miktarlarda yapılandırılmamış metinleri veya video, ses ve görüntü gibi ikili verileri depolamanın en basit yoludur. Uygulamanızın statik içeriğini Depolama'ya taşımak, görüntüleri veya belgeleri doğrudan tarayıcıya sunarak uygulamanızı ölçeklendirmenize yardımcı olur.
Bu alıştırmada, uygulamanızın statik içeriğini bir Blob kapsayıcısına taşıyacaksınız. Ardından uygulamanızı, içeriğinizi Blob kapsayıcısına yeniden yönlendirmek için Web.configbir ASP.NET URL yeniden yazma kuralı ekleyecek şekilde yapılandıracaksınız.
Görev 1 – Azure Depolama Hesabı Oluşturma
Bu görevde, yönetim portalını kullanarak yeni bir depolama hesabı oluşturmayı öğreneceksiniz.
Azure yönetim portalına gidin ve aboneliğinizle ilişkili Microsoft hesabını kullanarak oturum açın.
Yeni |'yi seçin Veri Hizmetleri | Depolama | Yeni bir depolama hesabı oluşturmaya başlamak için Hızlı Oluştur'u seçin. Hesap için benzersiz bir ad girin ve listeden bir Bölge seçin. Devam etmek için Depolama Hesabı Oluştur'a tıklayın.
Yeni depolama hesabı oluşturma
Depolama bölümünde, aşağıdaki adıma devam etmek için yeni depolama hesabının durumunun Çevrimiçi olarak değişmesini bekleyin.
Oluşturulan Depolama Hesabı
Depolama hesabı adına tıklayın ve ardından sayfanın üst kısmındaki Pano bağlantısına tıklayın. Pano sayfası, hesabın durumu ve uygulamalarınızda kullanılabilecek hizmet uç noktaları hakkında bilgi sağlar.
Depolama Hesabı Panosunu Görüntüleme
Gezinti çubuğunda Erişim Tuşlarını Yönet düğmesine tıklayın.
Erişim Tuşlarını Yönet düğmesi
Erişim Anahtarlarını Yönet iletişim kutusunda, Depolama Hesabı Adı ve Birincil Erişim Anahtarı'nı kopyalayın; bu anahtarlara aşağıdaki alıştırmada ihtiyacınız olacaktır. Ardından iletişim kutusunu kapatın.
Erişim Anahtarını Yönet iletişim kutusu
Görev 2 – Azure Blob Depolama'a Varlık Yükleme
Bu görevde, depolama hesabınıza bağlanmak için Visual Studio'daki Sunucu Gezgini penceresini kullanacaksınız. Ardından bir blob kapsayıcısı oluşturacak ve Geek Quiz logosunu içeren bir dosyayı kapsayıcıya yükleyebilirsiniz.
Önceki alıştırmadan GeekQuiz çözümüyle Visual Studio örneğine geçin.
Menü çubuğunda Görünüm'ü seçip Sunucu Gezgini'ne tıklayın.
Sunucu Gezgini'nde Azure düğümüne sağ tıklayın ve Azure'a bağlan... öğesini seçin. Aboneliğinizle ilişkili Microsoft hesabını kullanarak oturum açın.
Azure'a bağlanma
Azure düğümünü genişletin, Depolama'ya sağ tıklayın ve Dış Depolama Ekle... seçeneğini belirleyin.
Yeni Depolama Hesabı Ekle iletişim kutusunda, önceki görevde aldığınız Hesap adı ve Hesap anahtarını girin ve Tamam'a tıklayın.
Yeni Depolama Hesabı Ekle iletişim kutusu
Depolama hesabınız Depolama düğümü altında görünmelidir. Depolama hesabınızı genişletin, Bloblar'a sağ tıklayın ve Blob Kapsayıcısı Oluştur... öğesini seçin.
Blob Kapsayıcısı Oluşturma
Blob Kapsayıcısı Oluştur iletişim kutusunda blob kapsayıcısı için bir ad girin ve Tamam'a tıklayın.
Blob Kapsayıcısı Oluştur iletişim kutusu
Yeni blob kapsayıcısı Bloblar düğümüne eklenmelidir. Kapsayıcıyı genel yapmak için kapsayıcıdaki erişim izinlerini değiştirin. Bunu yapmak için images kapsayıcısına sağ tıklayın ve Özellikler'i seçin.
Images kapsayıcı özellikleri
Özellikler penceresinde Genel Okuma Erişimi'niKapsayıcı olarak ayarlayın.
Genel okuma erişimi özelliğini değiştirme
Ortak erişim özelliğini değiştirmek istediğinizden emin olup olmadığınız sorulduğunda Evet'e tıklayın.
Microsoft Visual Studio uyarısı
Sunucu Gezgini'ndeimages blob kapsayıcısını sağ tıklatın ve Blob Kapsayıcısını Görüntüle'yi seçin.
Blob Kapsayıcıyı Görüntüle
Images kapsayıcısı yeni bir pencerede açılmalı ve giriş içermeyen bir gösterge gösterilmelidir. Blob kapsayıcısına dosya yüklemek için karşıya yükle simgesine tıklayın.
Girdisi olmayan Images kapsayıcısı
Blobu Karşıya Yükle iletişim kutusunda laboratuvarın Varlıklar klasörüne gidin. logo-big.png dosyasını seçin ve Aç'a tıklayın.
Dosya karşıya yüklenene kadar bekleyin. Karşıya yükleme tamamlandığında, dosyanın images kapsayıcısında listelenmesi gerekir. Dosya girdisine sağ tıklayın ve URL'yi Kopyala'yı seçin.
Blob URL'sini kopyalama
Internet Explorer'ı açın ve URL'yi yapıştırın. Aşağıdaki görüntü tarayıcıda gösterilmelidir.
Azure Blob Depolama'danlogo-big.png resim
Görev 3 – Çözümü Azure Blob Depolama Statik İçeriği Kullanacak Şekilde Güncelleştirme
Bu görevde,web.config dosyasına bir ASP.NET URL yeniden yazma kuralı ekleyerek GeekQuiz çözümünü Azure Blob Depolama yüklenen görüntüyü kullanacak şekilde yapılandıracaksınız (web uygulamasında bulunan görüntü yerine).
Visual Studio'da, GeekQuiz projesinin içinde Web.config dosyasını açın ve system.webServer> öğesini bulun<.
Bir URL yeniden yazma kuralı eklemek için aşağıdaki kodu ekleyin ve yer tutucuyu depolama hesabı adınızla güncelleştirin.
(Kod Parçacığı - WebSitesInProduction - Ex4 - UrlRewriteRule)
<system.webServer> <rewrite> <rules> <rule name="redirect-images" stopProcessing="true"> <match url="img/(.*)"/> <action type="Redirect" url="http://[YOUR-STORAGE-ACCOUNT].blob.core.windows.net/images/{R:1}"></action> </rule> </rules> </rewrite>
Not
URL yeniden yazma, gelen bir Web isteğini kesme ve isteği farklı bir kaynağa yeniden yönlendirme işlemidir. URL yeniden yazma kuralları, yeniden yazma altyapısına bir isteğin ne zaman yeniden yönlendirilmesi gerektiğini ve nereye yönlendirilmeleri gerektiğini bildirir. Yeniden yazma kuralı iki dizeden oluşur: istenen URL'de aranacak desen (genellikle normal ifadeler kullanılarak) ve bulunursa deseni değiştirecek dize. Daha fazla bilgi için bkz. ASP.NET'de URL Yeniden Yazma.
Değişiklikleri kaydetmek için CTRL + S tuşlarına basın.
Güncelleştirilmiş uygulamayı Azure App Service dağıtmak için yeni bir Git Bash konsolu açın.
Değişiklikleri Azure'a göndermek için aşağıdaki komutları yürütebilirsiniz. [YOUR-APPLICATION-PATH] yer tutucusunu GeekQuiz çözümünün yolu ile güncelleştirin. Dağıtım parolanız istenir.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Added URL rewrite rule in web.config file" git push azure master
Güncelleştirmeyi Azure'a dağıtma
Görev 4 – Doğrulama
Bu görevde, Geek Test uygulamasına göz atmak ve resimler için URL yeniden yazma kuralının çalışıp çalışmadığını denetlemek için Internet Explorer'ı kullanacaksınız ve Azure Blob Depolama'da barındırılan görüntüye yönlendirilirsiniz.
Internet Explorer'ı açın ve web uygulamanıza gidin (örneğin
http://<your-web-site>.azurewebsites.net
). Önceden oluşturulmuş kimlik bilgilerini kullanarak oturum açın.Geek Test web uygulamasını resimle gösterme
Geliştirme araçlarını başlatmak için F12 tuşuna basın, Ağ sekmesini seçin ve kaydı başlatın.
Ağ kaydını başlatma
Web sayfasını yenilemek için CTRL + F5 tuşlarına basın.
Sayfanın yüklenmesi tamamlandıktan sonra, /img/logo-big.png URL'si için HTTP 301 sonucu (yeniden yönlendirme) içeren bir HTTP isteği ve HTTP 200 sonucuna sahip başka bir URL isteği
http://[YOUR-STORAGE-ACCOUNT].blob.core.windows.net/images/logo-big.png
görmeniz gerekir.URL yeniden yönlendirmesini doğrulama
Alıştırma 5: Web Apps için Otomatik Ölçeklendirmeyi Kullanma
Not
Yalnızca Visual Studio 2013 Ultimate Edition için kullanılabilen Web Yükü & Performans Testi desteği gerektirdiğinden bu alıştırma isteğe bağlıdır. Belirli Visual Studio 2013 özellikleri hakkında daha fazla bilgi için burada sürümleri karşılaştırın.
Azure App Service Web Apps, Standart Modda çalışan web uygulamaları için Otomatik Ölçeklendirme özelliğini sağlar. Otomatik ölçeklendirme, Azure'ın yüke bağlı olarak web uygulamanızın örnek sayısını otomatik olarak ölçeklendirmesine olanak tanır. Otomatik Ölçeklendirme etkinleştirildiğinde Azure, web uygulamanızın CPU'sunu beş dakikada bir denetler ve bu noktada gereken örnekleri ekler. CPU kullanımı düşükse Azure, web uygulamanızın performansının düşürülmediğinden emin olmak için örnekleri iki saatte bir kaldırır.
Bu alıştırmada, Geek Test web uygulaması için Otomatik Ölçeklendirme özelliğini yapılandırmak için gereken adımların üzerinden geçeceksiniz. Bir örnek yükseltmesini tetikleyecek kadar CPU yükü oluşturmak için bir Visual Studio yük testi çalıştırarak bu özelliği doğrulayacağız.
Görev 1 – CPU Ölçümüne Göre Otomatik Ölçeklendirmeyi Yapılandırma
Bu görevde, Alıştırma 2'de oluşturduğunuz web uygulaması için Otomatik Ölçeklendirme özelliğini etkinleştirmek üzere Azure yönetim portalını kullanacaksınız.
Azure yönetim portalındaWeb siteleri'ni seçin ve Alıştırma 2'de oluşturduğunuz web uygulamasına tıklayın.
Ölçek sayfasına gidin. Kapasite bölümünün altında Ölçüme Göre Ölçeklendir yapılandırması için CPU'yı seçin.
Not
CPU'ya göre ölçeklendirme yaparken Azure, CPU kullanımı değiştiğinde uygulamanın kullandığı örnek sayısını dinamik olarak ayarlar.
CPU'ya göre ölçeklendirmeyi seçme
Hedef CPU yapılandırmasını yüzde 20-40 olarak değiştirin.
Not
Bu aralık, web uygulamanız için ortalama CPU kullanımını temsil eder. Azure, web uygulamanızı bu aralıkta tutmak için örnekler ekler veya kaldırır. Ölçeklendirme için kullanılan en düşük ve en fazla örnek sayısı , Örnek Sayısı yapılandırmasında belirtilir. Azure hiçbir zaman bu sınırın üstüne veya ötesine geçmeyecektir.
Varsayılan Hedef CPU değerleri yalnızca bu laboratuvarın amaçları doğrultusunda değiştirilir. CPU aralığını küçük değerlerle yapılandırarak, uygulamaya orta düzeyde bir yük yerleştirildiğinde Otomatik Ölçeklendirme'yi tetikleme olasılığını artırırsınız.
şekilde
Hedef CPU'yu yüzde 20 ile 40 arasında olacak şekilde değiştirme
Değişiklikleri kaydetmek için komut çubuğunda Kaydet'e tıklayın.
Görev 2 – Visual Studio ile Yük Testi
Otomatik Ölçeklendirme yapılandırıldığına göre, web uygulamanızda cpu yükü oluşturmak için Visual Studio'da bir Web Performansı ve Yük Testi Projesi oluşturacaksınız.
Visual Studio Ultimate 2013 açın ve Dosya | öğesini seçin Yeni | Proje... yeni bir çözüm başlatmak için.
Yeni proje oluşturma
Yeni Proje iletişim kutusunda, Visual C# | altında Web Performansı ve Yük Testi Projesi'ni seçin Test sekmesi. .NET Framework 4.5'in seçili olduğundan emin olun, projeyi WebAndLoadTestProject olarak adlandırın, bir Konum seçin ve Tamam'a tıklayın.
Yeni Web ve Yük Testi projesi oluşturma
WebTest1.webtest içinde WebTest1 düğümüne sağ tıklayın ve İstek Ekle'ye tıklayın.
Url özelliğini değiştirme
WebTest1.webtest penceresinde WebTest1'e sağ tıklayın ve Döngü Ekle...'ye tıklayın.
WebTest1'e döngü ekleme
Döngüye Koşullu Kural ve Öğeler Ekle iletişim kutusunda Döngü İçin kuralını seçin ve aşağıdaki özellikleri değiştirin.
Sonlandırıcı değer: 1000
Bağlam Parametresi Adı: Yineleyici
Artım Değeri: 1
For Loop kuralını seçme ve özellikleri güncelleştirme
Döngüdeki öğeler bölümünde, döngü için ilk ve son öğe olmak üzere daha önce oluşturduğunuz isteği seçin. Devam etmek için Tamam’ tıklayın.
Döngü için ilk ve son öğeleri seçme
Çözüm Gezgini'daWebAndLoadTestProject projesine sağ tıklayın, Ekle menüsünü genişletin ve Yük Testi... öğesini seçin.
WebAndLoadTestProject projesine Yük Testi Ekleme
Yeni Yük Testi Sihirbazı iletişim kutusunda İleri'ye tıklayın.
Yeni Yük Testi Sihirbazı
Senaryo sayfasında Düşünme zamanlarını kullanma'yı seçin ve İleri'ye tıklayın.
seçme
Düşünme zamanlarını kullanmamayı seçme
Yük Düzeni sayfasında Sabit Yükleme seçeneğinin belirlendiğinden emin olun. Kullanıcı Sayısı ayarını 250 kullanıcı olarak değiştirin ve İleri'ye tıklayın.
Kullanıcı sayısını 250 olarak değiştirme
Test Karışımı Modeli sayfasında Sıralı test sırasına göre'yi seçin ve İleri'ye tıklayın.
Test karışımı modelini seçme
Test Karışımı Modeli sayfasında Ekle... öğesine tıklayarak karmaya bir test ekleyin.
Test karışımına test ekleme
Test Ekle iletişim kutusunda WebTest1'e çift tıklayarak testi Seçili testler listesine ekleyin. Devam etmek için Tamam’ tıklayın.
WebTest1 testini ekleme
Test Karışımı sayfasına geri dönüp İleri'ye tıklayın.
Test Karışımı sayfasını tamamlama
Ağ Karışımı sayfasında İleri'ye tıklayın.
Ağ Karışımı sayfasında İleri'ye tıklama
Tarayıcı Karışımı sayfasında, tarayıcı türü olarak Internet Explorer 10.0'ı seçin ve İleri'ye tıklayın.
Tarayıcı türünü seçme
Sayaç Kümeleri sayfasında İleri'ye tıklayın.
Sayaç Kümeleri sayfasında İleri'ye tıklama
Çalıştırma Ayarları sayfasında Yük testi süresini5 dakika olarak ayarlayın ve Son'a tıklayın.
Yük testi süresini 5 dakika olarak ayarlama
Çözüm Gezgini'da, test ayarlarını keşfetmek için Local.settings dosyasına çift tıklayın. Varsayılan olarak, Visual Studio testleri çalıştırmak için yerel bilgisayarınızı kullanır.
Not
Alternatif olarak, Azure Test Plans kullanarak test projenizi yük testlerini bulutta çalıştıracak şekilde yapılandırabilirsiniz. Azure Test Plans, CPU kapasitesi, kullanılabilir bellek ve ağ bant genişliği gibi yerel ortam kısıtlamalarını önleyerek daha gerçekçi bir yük simülasyonu sağlayan bulut tabanlı bir yük testi hizmeti sağlar. Yük testlerini çalıştırmak için Azure Test Plans kullanma hakkında daha fazla bilgi için bkz. Yük testi senaryoları.
Görev 3 – Otomatik Ölçeklendirme Doğrulama
Şimdi önceki görevde oluşturduğunuz yük testini yürütecek ve web uygulamanızın yük altında nasıl davrandığını göreceksiniz.
Çözüm Gezgini'daLoadTest1.loadtest'e çift tıklayarak yük testini açın.
LoadTest1.loadtest açılıyor
LoadTest1.loadtest penceresinde, yük testini çalıştırmak için araç kutusundaki ilk düğmeye tıklayın.
Yük testini çalıştırma
Yük testi tamamlanana kadar bekleyin.
Not
Yük testi, web uygulamasına aynı anda istek gönderen birden çok kullanıcının simülasyonunu oluşturur. Test çalışırken, kullanılabilir sayaçları izleyerek yük testi çalıştırmanızla ilgili hataları, uyarıları veya diğer bilgileri algılayabilirsiniz.
çalışıyor
Yük testi çalışıyor
Test tamamlandıktan sonra yönetim portalına dönün ve web uygulamanızın Ölçek sayfasına gidin. Kapasite bölümünün altında, grafikte yeni bir örneğin otomatik olarak dağıtıldığını görmeniz gerekir.
Yeni örnek otomatik olarak dağıtıldı
Not
Değişikliklerin grafikte görünmesi birkaç dakika sürebilir (sayfayı yenilemek için düzenli aralıklarla CTRL + F5 tuşlarına basın). Herhangi bir değişiklik görmüyorsanız aşağıdakileri deneyebilirsiniz:
- Yük testinin süresini artırın (ör. 10 dakikaya kadar)
- Web uygulamanızın Otomatik Ölçeklendirme yapılandırmasında Hedef CPU aralığının en yüksek ve en düşük değerlerini azaltın
- yük testini Azure Test Plans ile bulutta çalıştırın. Burada daha fazla bilgi bulabilirsiniz
Özet
Bu uygulamalı laboratuvarda uygulamanızı ayarlamayı ve Azure'da üretim web uygulamalarına dağıtmayı öğrendiniz. Entity Framework Code First Migrations kullanarak veritabanlarınızı algılayıp güncelleştirerek başladınız, ardından Git kullanarak sitenizin yeni sürümlerini dağıtıp sitenizin en son kararlı sürümüne geri alma işlemleri gerçekleştirerek devam ettiniz. Ayrıca, statik içeriğinizi bir Blob kapsayıcısına taşımak için Depolama'yı kullanarak uygulamanızı ölçeklendirmeyi öğrendiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin