Uygulamalı Laboratuvar: Sürdürülebilir Azure Web Siteleri: Değişiklikleri ve Ölçeği Yönetme
Microsoft Azure Web sitelerini üretime oluşturup dağıtmayı kolaylaştırır. Ancak uygulamanız canlı olduğunda bu işlemi siz yapmanız yeterlidir! Değiştirme gereksinimleri, veritabanı güncelleştirmeleri, ölçek ve daha fazlasını ele almanız gerekir. Neyse ki, sitelerinizi sorunsuz bir şekilde çalışmaya devam etmenize yardımcı olacak çok sayıda özellik ile birlikte Azure App Service.
Azure, her boyuttaki web uygulaması için güvenli ve esnek geliştirme, dağıtım ve ölçeklendirme seçenekleri sunar. Altyapıyı yönetme zahmetsiz olmayan uygulamalar oluşturmak ve dağıtmak için mevcut araçlarınızdan yararlanın.
En sevdiğiniz geliştirme aracını kullanarak oluşturulan içeriği kolayca dağıtarak bir üretim Web uygulamasını dakikalar içinde kendiniz sağlayın. Var olan bir siteyi Git, GitHub, Bitbucket, TFSve hatta Dropboxdesteğiyle doğrudan kaynak denetiminden dağıtabilirsiniz. En sevdiğiniz IDE 'den veya Windows 'da PowerShell kullanarak veya HERHANGI bir işletim sisteminde çalışan CLI araçlarından doğrudan bir dağıtım yapı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ıldığında, 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ğıttığınızda üretken veritabanınızı güncel tutmanız önemlidir. Entity Framework Code First Migrationsteşekkür ederiz, veri modelinizin geliştirilmesi ve dağıtılması, ortamınızı dakikalar içinde güncelleştirmek üzere basitleştirilmiştir. Bu uygulamalı laboratuvarda, Web uygulamanızı Microsoft Azure ' de üretim ortamlarına dağıttığınızda karşılaşabileceğiniz farklı konular gösterilecektir.
Tüm örnek kod ve kod parçacıkları https://aka.ms/webcamps-training-kitadresinden erişilebilen Web Camps eğitim seti ' ne dahildir.
Bu konuda daha ayrıntılı bilgi için bkz. Azure e-kitabı Ile gerçek dünyada bulut uygulamaları oluşturma.
Genel bakış
Amaçlar
Bu uygulamalı laboratuvarda şunları nasıl yapacağınızı öğreneceksiniz:
- Mevcut bir modelle Entity Framework geçişleri etkinleştir
- Nesne modelini ve veritabanını Entity Framework geçişleri kullanarak 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
- Bir Web uygulamasını ölçeklendirmek için Azure Storage 'ı kullanma
- Azure Yönetim Portalı kullanarak bir Web uygulaması için otomatik ölçeklendirmeyi yapılandırma
- Visual Studio 'da bir yük testi projesi oluşturma ve yapılandırma
Önkoşullar
Bu uygulamalı laboratuvarın tamamlanabilmesi için aşağıdakiler gereklidir:
Web veya daha büyük için Visual Studio Express 2013
Microsoft Azure aboneliği
- Ücretsiz deneme için kaydolun
- MSDN veya MSDN Platformları abonesine sahip bir Visual Studio Professional, Test Professional, Premium veya Ultimate kullanıyorsanız, Azure 'da geliştirme ve test etmeye başlamak için MSDN avantajınızı şimdi etkinleştirin
- BizSpark üyeleri Azure avantajını Visual Studio Ultimate with MSDN aboneliklerine göre otomatik olarak alır
- Microsoft iş ortağı ağı Cloud Essentials programı üyeleri, aylık Azure kredilerini ücretsiz olarak alır
Kurulum
Bu uygulamalı laboratuvarda alýþtýrmalarý çalıştırmak için öncelikle ortamınızı ayarlamanız gerekecektir.
- Windows Gezgini 'ni açın ve laboratuvarın kaynak klasörüne gidin.
- Ortamınızı yapılandıracak ve bu laboratuvar için Visual Studio kod parçacıklarını yükleyecek kurulum işlemini başlatmak için Setup. cmd ' ye sağ tıklayın ve yönetici olarak çalıştır ' ı seçin.
- Kullanıcı hesabı denetimi iletişim kutusu gösteriliyorsa, devam etmek için eylemi onaylayın.
Note
Kurulumu çalıştırmadan önce bu laboratuvarın tüm bağımlılıklarını denetlediğinizden emin olun.
Kod parçacıklarını kullanma
Laboratuvar belgesi boyunca kod blokları eklemeniz istenir. Kolaylık olması için, bu kodun çoğu Visual Studio Code kod parçacığı olarak sağlanır ve bu, el ile ekleme zorunluluğunu ortadan kaldırmak için Visual Studio 2013 içinden erişebilirsiniz.
Note
Her alıştırma, her alıştırmanın bağımsız olarak her birini takip etmenizi sağlayan alıştırmanın BEGIN klasöründe bulunan bir başlangıç çözümüdür. Lütfen bir alıştırma sırasında eklenen kod parçacıklarının bu başlangıç çözümlerinde eksik olduğunu ve Alıştırmayı tamamlayana kadar çalışmadığının farkında olun. Bir alıştırmada kaynak kodun içinde, ilgili alıştırmada adımların tamamlanmasına neden olan koda sahip bir Visual Studio çözümü içeren bir son klasör de bulacaksınız. Bu uygulamalı laboratuvarda çalışırken daha fazla yardıma ihtiyacınız varsa bu çözümleri kılavuz olarak kullanabilirsiniz.
Alıştırmalarda
Bu uygulamalı laboratuvar aşağıdaki alıştırmaları içerir:
- Entity Framework geçişleri kullanma
- Bir Web uygulamasını hazırlama için dağıtma
- Üretimde dağıtım geri alma gerçekleştiriliyor
- Azure Storage kullanarak ölçeklendirme
- Web Apps Için otomatik ölçeklendirmeyi kullanma (Visual Studio 2013 Ultimate Edition için isteğe bağlı)
Bu Laboratuvarı tamamlamaya yönelik tahmini süre: 75 dakika
Note
Visual Studio 'Yu ilk kez başlattığınızda, önceden tanımlanmış ayarlar koleksiyonundan birini seçmeniz gerekir. Her önceden tanımlı 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 yordamlarda, genel geliştirme ayarları koleksiyonu kullanılırken, Visual Studio 'da belirli bir görevi gerçekleştirmek için gereken eylemler açıklanır. Geliştirme ortamınız için farklı bir ayarlar koleksiyonu seçerseniz, adımlarda 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 tutmak önemlidir.
Modelinizdeki 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ılar ve veritabanınızı güncelleştirmek ve veritabanınızın yeni sürümlerini oluşturmak için belirli bir kod oluşturur.
Bu alıştırmada, uygulamanız için geçişlerinizi etkinleştirme ve veritabanlarınızı güncelleştirmek için nasıl kolayca tespit ve değişiklik oluşturabileceğiniz gösterilmektedir.
Görev 1 – geçişleri etkinleştirme
Bu görevde, Geek test veritabanına Entity Framework Code First Migrations etkinleştirme, modeli değiştirme ve bu değişikliklerin veritabanına nasıl yansıtıldığını anlama adımlarını öğreneceksiniz.
Visual Studio 'Yu açın ve Source\Ex1-UsingEntityFrameworkMigrations\Beginadresinden geeksınav. sln çözüm dosyasını açın.
NuGet paketi bağımlılıklarını indirmek ve yüklemek için çözümü derleyin. Bunu yapmak için çözüme sağ tıklayın ve çözüm oluştur ' a tıklayın veya CTRL + SHIFT + Btuş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 konsolunda, aşağıdaki komutu girin ve ardından ENTERtuşuna basın. Mevcut modeli temel alan bir ilk geçiş oluşturulacaktır.
Enable-Migrations -ContextTypeName GeekQuiz.Models.TriviaContext
Geçişleri etkinleştirme
Note
Bu komut, Configuration.csadlı bir dosya Içeren Geek test projesine bir geçişler klasörü ekler. Yapılandırma sınıfı, geçiş işleminin bağlam için nasıl davranacağını yapılandırmanıza olanak tanır.
Geçişler etkinken, veritabanını Geek sınavın gerektirdiği ilk verilerle doldurmak için yapılandırma sınıfını güncelleştirmeniz gerekir. Geçişleraltında Configuration.cs dosyasını, bu laboratuvarın source\varlıklar klasöründe bulunan ile değiştirin.
Note
Geçişler her veritabanı güncelleştirmesiyle ilgili çekirdek yöntemini çağıracak olduğundan, kayıtların veritabanında yinelenmediğinden emin olmanız gerekir. AddOrUpdate yöntemi yinelenen verilerin engellenmesine yardımcı olur.
İlk geçiş eklemek için aşağıdaki komutu girin ve ardından ENTERtuşuna basın.
Note
LocalDB örneğiniz içinde "GeekQuizProd" adlı bir veritabanı olmadığından emin olun.
Add-Migration InitialSchema
Temel şema geçişi ekleniyor
Note
Geçiş geçişi , son geçişten sonra, modelinizde yaptığınız değişikliklere dayalı olarak bir sonraki geçişi kankatacaktır. Bu durumda, projenin ilk geçişi olduğu için, Triviacontext sınıfında tanımlanmış tüm tabloları oluşturmak üzere betikleri ekler.
Aşağıdaki komutu çalıştırarak veritabanını güncelleştirmek için geçişi yürütün. Bu komut için, hedef veritabanına uygulanan SQL deyimlerini görüntülemek üzere verbose bayrağını belirtin.
Update-Database -Verbose
İlk veritabanı oluşturuluyor
Note
Update-Database bekleyen geçişleri veritabanına uygular. Bu durumda, Web. config dosyanızda tanımlanan bağlantı dizesini kullanarak veritabanını oluşturur.
Görünüm menüsüne gidin ve SQL Server Nesne Gezginiaçın.
SQL Server Nesne Gezgini aç
SQL Server Nesne Gezgini penceresinde, SQL Server düğümüne sağ tıklayıp SQL Server Ekle... seçeneğini belirleyerek LocalDB örneğinizi bağlayın.
SQL Server Nesne Gezgini SQL Server örnek ekleme
Sunucu adını (LocalDB) \v11.0 olarak ayarlayın ve Windows kimlik doğrulamasını kimlik doğrulama modu olarak 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ımlanmış tüm tabloları üretti. Dbo 'yi bulun . Triviasorular tablosu ve Columns düğümünü açın. Sonraki görevde, bu tabloya yeni bir sütun ekleyecek ve geçişlerikullanarak veritabanını güncellendirilecektir.
Soruların sütunları
Görev 2 – geçişler kullanılarak veritabanı şemasını güncelleştirme
Bu görevde, modelinizde bir değişikliği algılamak ve veritabanını güncelleştirmek için gerekli kodu oluşturmak üzere Entity Framework Code First Migrations kullanacaksınız. Yeni bir özellik ekleyerek Triviasoruların varlığını güncelleşirsiniz. Daha sonra yeni bir geçiş oluşturmak için komutları çalıştırarak tabloya yeni bir sütun ekleyin.
Çözüm Gezgini, modeller klasörünün içinde bulunan TriviaQuestion.cs dosyasına çift tıklayın.
Aşağıdaki kod parçacığında gösterildiği gibi İpucuadlı 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 konsolunda, aşağıdaki komutu girin ve ardından ENTERtuşuna basın. Modelimizin değişikliğini yansıtan yeni bir geçiş oluşturulacaktır.
Add-Migration QuestionHint
Geçiş Ekle
Note
Geçiş dosyası, yukarı ve aşağıolmak üzere iki yöntemden oluşur.
- Up yöntemi, uygulamamız için geçerli sürümünün veritabanına hangi değişikliklerin uygulanacağını belirtmek için kullanılacaktır.
- Up yöntemine eklediğimiz değişiklikleri tersine çevirmek için aşağı doğru kullanılır.
Veritabanı geçişi veritabanını güncelleştirdiğinde, zaman damgası sırasındaki tüm geçişleri çalıştırır ve yalnızca son güncelleştirmeden bu yana kullanılmamış olanlar (_MigrationHistory tablosu, hangi geçişlerin uygulandığını izler). Tüm geçişlerin up metodu çağrılır ve veritabanına belirttiğimiz değişiklikleri yapar. Önceki bir geçişe geri dönmek isterseniz, değişiklikleri ters sırada yinelemek için azaltma yöntemi çağırılır.
Paket Yöneticisi konsolunda, aşağıdaki komutu girin ve ardından ENTERtuşuna basın.
Update-Database -Verbose
Update-Database komutunun çıktısı, aşağıdaki görüntüde gösterildiği gibi triviasorular tablosuna yeni bir sütun eklemek için alter table SQL deyimini oluşturdu.
Oluşturulan sütun SQL açıklaması ekle
SQL Server Nesne Gezgini, dbo 'yı yenileyin . Triviasorular tablosu ve yeni İpucu sütununun görüntülendiğini kontrol edin.
Yeni Ipucu sütununu gösterme
TriviaQuestion.cs düzenleyicisine geri döndüğünüzde, aşağıdaki kod parçacığında gösterildiği gibi Ipucu ö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 konsolunda, aşağıdaki komutu girin ve ardından ENTERtuşuna basın.
Add-Migration QuestionHintLength
Paket Yöneticisi konsolunda, aşağıdaki komutu girin ve ardından ENTERtuşuna basın.
Update-Database -Verbose
Update-Database komutunun çıktısı, aşağıdaki görüntüde gösterildiği gibi üç aylık dönemin İpucu sütun türünü güncelleştirmek için bir alter table SQL deyimini oluşturdu.
ALTER COLUMN SQL ifadesi oluşturuldu
SQL Server Nesne Gezgini, dbo 'yı yenileyin . Triviasorular tablosu ve İpucu sütun türünün nvarchar (150) olup olmadığını denetleyin.
Yeni kısıtlama gösteriliyor
Alıştırma 2: hazırlama için bir Web uygulaması dağıtma
Azure App Service Web Apps , hazırlanan yayımlamayı gerçekleştirmenize olanak sağlar. Hazırlanan yayımlama, her varsayılan üretim sitesi için bir hazırlama site yuvası oluşturur ve bu yuvaları bir süre sonra takas etmenize olanak sağlar. Bu, genel kullanıma sunulmadan önce değişiklikleri doğrulamak, site içeriğini artımlı olarak bütünleştirmek ve değişiklikler beklendiği gibi çalışmıyorsa geri dönmek için yararlıdır.
Bu alıştırmada, git kaynak denetimi 'ni 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şturur ve yönetim portalında gerekli bileşenleri temin eder, bir Git deposu yapılandırır ve uygulama kaynak kodunu yerel bilgisayarınızdan hazırlama yuvasına gönderirsiniz. Ayrıca, üretim veritabanınızı önceki alıştırmada oluşturduğunuz Code First Migrations de güncelleştirebilirsiniz. Sonra, işlemini doğrulamak için bu test ortamında uygulamayı yürütecaksınız. Beklentilerinize göre çalıştığından emin olduktan sonra, uygulamayı üretime yükseltemeirsiniz.
Note
Hazırlanmış yayımlamayı etkinleştirmek için Web uygulamasının Standart moddaolması gerekir. Web uygulamanızı standart moda değiştirirseniz ek ücretler tahakkuk ettiğine unutmayın. Fiyatlandırma hakkında daha fazla bilgi için bkz. App Service fiyatlandırması.
Görev 1 – Azure App Service bir Web uygulaması oluşturma
Bu görevde, yönetim portalından Azure App Service bir Web uygulaması oluşturacaksınız. Ayrıca, uygulama verilerini kalıcı hale getirmek ve kaynak denetimi için yerel bir git deposu yapılandırmak üzere bir SQL veritabanı yapılandıracaksınız.
Azure yönetim portalı ' na gidin ve aboneliğinizle ilişkili Microsoft hesabı kullanarak oturum açın.
Azure yönetim portalı 'nda oturum açın
Sayfanın alt kısmındaki komut çubuğunda Yeni ' ye tıklayın.
Yeni bir Web uygulaması oluşturma
İşlem, Web sitesi ve sonra özel oluştur' a tıklayın.
Özel oluştur kullanarak yeni bir Web uygulaması oluşturma
Yeni Web sitesi-özel oluştur iletişim kutusunda, kullanılabilir bir URL (örn. Geek-test) girin, bölge açılan listesinden bir konum seçin ve veritabanı açılır listesinden Yeni bir SQL veritabanı oluştur ' u seçin. Son olarak, kaynak denetiminden yayınla 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 (örn. geektest_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ı sunucusu için yönetici kullanıcı adını ve parolasını girin. Zaten oluşturduğunuz bir sunucuyu seçerseniz parola istenir.
Veritabanı ayarlarını belirtme
-
Devam etmek için İleri 'ye tıklayın.
Kullanılacak kaynak denetimi için yerel Git deposu ' nu seçin ve İleri' ye tıklayın.
Note
Dağıtım kimlik bilgileri (Kullanıcı adı ve parola) istenebilir.
Git deposu oluşturuluyor
Yeni Web uygulaması oluşturuluncaya kadar bekleyin.
Note
Azure, varsayılan olarak azurewebsites.net adresinde etki alanları sağlar, ancak Azure yönetim portalı 'nı kullanarak özel etki alanları ayarlama olasılığından de olanak tanır. Ancak, yalnızca belirli Azure App Service modlarını kullanıyorsanız özel etki alanlarını 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ı için kotalar vardır. En fazla ücretsiz uygulama sayısı planınızda değişiklik gösterebilir. Standart modda, standart Azure işlem kaynaklarına karşılık gelen adanmış sanal makinelerde çalışan uygulamaları seçersiniz. Web uygulaması modu yapılandırmasını Web uygulamanızın Ölçek menüsünde bulabilirsiniz.
Paylaşılan veya Standart mod kullanıyorsanız, uygulamanızın Yapılandır menüsüne gidip etki alanı adlarıaltındaki etki alanlarını yönet ' e tıklayarak web uygulamanız için özel etki alanlarını yönetebilirsiniz.
Web uygulaması oluşturulduktan sonra, yeni Web uygulamasının çalıştığını denetlemek için URL sütununun altındaki bağlantıya tıklayın.
Yeni Web uygulamasına göz atma
çalışan Web uygulaması
Görev 2 – üretim SQL veritabanı oluşturuluyor
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ı, önceki görevde oluşturduğunuz Web uygulamasına gidin ve panosunagidin.
Pano sayfasında, Hızlı bakış bölümünün altındaki bağlantı dizelerini görüntüle bağlantısını tıklatın.
Bağlantı dizelerini görüntüle
Bağlantı dizesi değerini kopyalayın ve iletişim kutusunu kapatın.
Azure Yönetim Portalı bağlantı dizesi
Azure 'da 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 sunucusuna tıklayın.
SQL veritabanı sunucusu
Sunucusunun hızlı başlangıç sayfasında, Yapılandır' a tıklayın.
Menüyü Yapılandır
Izin VERILEN IP adresleri bölümünde, IP 'Nizin SQL veritabanı sunucusuna bağlanmasını sağlamak için izin verilen IP adresleri bağlantısına Ekle ' ye tıklayın.
İzin verilen IP adresleri
Adımı gerçekleştirmek için sayfanın alt kısmındaki Kaydet ' e tıklayın.
Visual Studio 'ya geri dönün.
Paket Yöneticisi konsolunda, [bağlantı-dize] yer tutucusunu Azure 'dan kopyaladığınız bağlantı dizesiyle değiştirerek aşağıdaki komutu yürütün
Update-Database -Verbose -ConnectionString "[YOUR-CONNECTION-STRING]" -ConnectionProviderName "System.Data.SqlClient"
Azure SQL veritabanı 'nı hedefleyen veritabanını güncelleştirme
Görev 3 – git kullanarak hazırlama için Geek sınavını dağıtma
Bu görevde, Web uygulamanızda hazırlanan yayımlamayı etkinleştirecektir. Daha sonra, 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ün ve yönetim sayfalarını göstermek 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ünde, yapılandırma için Standart ' ı seçin ve komut çubuğunda Kaydet ' e tıklayın.
Note
Tüm Web uygulamalarını geçerli bölgede ve abonelikte Standart modda çalıştırmak Için, siteleri seçin 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 mod değişikliğini onaylama
Pano sayfasına gidin ve Hızlı bakış bölümünde hazırlanan yayımlamayı etkinleştir ' e tıklayın.
Hazırlanan yayımlamayı etkinleştirme
Hazırlanmış yayımlamayı etkinleştirmek için Evet ' i tıklatın.
Hazırlanan yayımlamayı onaylama
Web Apps listesinde, hazırlama site yuvasını göstermek için Web uygulaması adınızın solundaki işareti genişletin. Web uygulamanızın adı ve sonra (hazırlama) bulunur. Yönetim sayfasına gitmek için hazırlama sitesine tıklayın.
Hazırlama uygulamasına gitme
Yönetim sayfasının diğer Web uygulamaları yönetim sayfası gibi göründüğünü unutmayın. Dağıtımlar sayfasına gidin ve Git URL 'si değerini kopyalayın. Bu alıştırmanın ilerleyen kısımlarında kullanacaksınız.
Git URL 'SI değeri kopyalanıyor
Yeni bir Git Bash konsolu açın ve aşağıdaki komutları yürütün. [-APPLICATION-Path] yer tutucusunu, bu laboratuvarın Source\ex1-deployingwebsitetostaging\begin klasöründe bulunan geektest çözümünün yoluyla güncelleştirin.
cd "[YOUR-APPLICATION-PATH]" git init git config --global user.email "{email@example.com}" git config --global user.name "{your-user-name}" git add . git commit -m "Initial commit"
Git başlatması ve ilk kayıt
Web uygulamanızı uzak Git deposuna göndermek için aşağıdaki komutu çalıştırın. Yer tutucusunu, yönetim portalından edindiğiniz URL ile değiştirin. Sizden dağıtım parolanızı girmeniz istenir.
git remote add azure [GIT-CLONE-URL] git push azure master
Azure 'a gönderiliyor
Note
Bir Web uygulamasının FTP ana bilgisayarına veya GIT deposuna içerik 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 görmüyorsanı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 'atıklayın. Dağıtım kimlik bilgileri, aboneliğinizle ilişkili tüm Web uygulamalarıyla birlikte kullanılmak üzere geçerlidir.
Web uygulamasının başarıyla Azure 'a itildiğini doğrulamak için yönetim portalına dönün ve Web siteleri' ne tıklayın.
Web uygulamanızı bulun ve hazırlama site yuvasını göstermek için girişi genişletin. Yönetim sayfasına gitmek için adına tıklayın.
Dağıtım geçmişinigörmek için dağıtımlar ' a tıklayın. "Ilk işlemesini" etkin bir dağıtım olduğunu doğrulayın.
Etkin dağıtım
Son olarak, Web uygulamasına gitmek için komut çubuğunda bulunan Araştır ' a tıklayın.
Web uygulamasına gözatamıyorum
Uygulama başarıyla dağıtılırsa Geek test oturum açma sayfasını görürsünüz.
Note
Dağıtılan uygulamanın adres URL 'SI, Web uygulamanızın adını ve ardından hazırlamayıiçerir.
Hazırlama ortamında çalışan uygulama
Uygulamayı araştırmak isterseniz, yeni bir kullanıcı kaydetmek için Kaydet ' e tıklayın. Hesap ayrıntılarını bir Kullanıcı adı, e-posta adresi ve parola girerek doldurun. Ardından, uygulama, test ilk sorusunu gösterir. Beklenen şekilde çalıştığından emin olmak için birkaç soruyu yanıtlayın.
Uygulama kullanılmak üzere hazırlanıyor
Görev 4 – Web uygulamasını üretime yükseltme
Artık, Web uygulamasının hazırlama ortamında düzgün çalıştığını doğruladığınıza göre, bunu üretime yükseltmeye hazırsınız demektir. Bu görevde, hazırlama site yuvasını üretim site yuvası ile takas edersiniz.
Yönetim portalına geri dönün ve hazırlama site yuvasını seçin. Komut çubuğunda takas et ' 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 takas eder.
Note
Hazırlanan sürümden bazı ayarlar otomatik olarak üretim sürümüne (örn. bağlantı dizesi geçersiz kılmaları, işleyici eşlemeleri vb.) kopyalanacak, ancak diğer ayarlar değişmeyecektir (örneğin, DNS uç noktaları, SSL bağlamaları vb.).
Değiştirme işlemi onaylanıyor
Değiştirme tamamlandıktan sonra üretim yuvasını seçin ve komut çubuğunda, üretim sitesini açmak için Araştır ' a tıklayın. Adres çubuğundaki URL 'ye dikkat edin.
Note
Önbelleği temizlemek için tarayıcınızı yenilemeniz gerekebilir. Internet Explorer 'da, CTRL + Rtuşlarına basarak bunu yapabilirsiniz.
GitBash konsolunda, yerel git deposunun uzak URL 'sini üretim yuvasını hedefleyecek şekilde güncelleştirin. Bunu yapmak için, yer tutucuları dağıtım Kullanıcı adınızla ve Web uygulamanızın adıyla değiştirerek aşağıdaki komutu çalıştırın.
Note
Aşağıdaki alıştırmalarda, değişiklikleri yalnızca laboratuvarın basitliği için hazırlama yerine üretim sitesine gönderirsiniz. Gerçek dünyada bir senaryoda, üretime yükseltmeden önce hazırlama ortamındaki değişikliklerin doğrulanması ö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 Işlemi gerçekleştiriliyor
Hazırlama ve üretim arasında, örneğin, ücretsiz veya paylaşılan modla çalışıyorsanız, hazırlık ve üretim arasında dinamik değiştirme gerçekleştirmek için bir hazırlama yuvalarınızın olmadığı senaryolar vardır. Bu senaryolarda, üretime dağıtım yapmadan önce, uygulamanızı yerel olarak veya uzak bir sitede bir test ortamında test etmeniz gerekir. Ancak, üretim sitesinde test aşamasında algılanamayan bir sorun ortaya çıkabilir. Bu durumda, mümkün olduğunca hızlı bir şekilde uygulamanın önceki ve daha kararlı bir sürümüne kolayca geçiş mekanizması olması önemlidir.
Azure App Service, kaynak denetiminden sürekli dağıtım, yönetim portalı 'nda kullanılabilir yeniden dağıtma eylemi sayesinde bunu mümkün hale getirir. Azure, depoya gönderilen işlemelerle ilişkili dağıtımları izler ve istediğiniz zaman, önceki dağıtımlarınızdan herhangi birini kullanarak uygulamanızı yeniden dağıtmaya yönelik bir seçenek sağlar.
Bu alıştırmada, bir hatayıkasıtlı olarak gösteren Geek test uygulamasındaki kodda bir değişiklik gerçekleştirirsiniz. Hatayı görmek için uygulamayı üretime dağıtırsınız ve ardından önceki duruma geri dönmek için yeniden dağıtma özelliğinden faydalanabilirsiniz.
Görev 1 – Geek test uygulamasını güncelleştirme
Bu görevde, seçilen test seçeneğini veritabanından yeni bir yönteme alan mantığın bir kısmını ayıklamak için Triviacontroller sınıfının küçük bir kod parçasını yeniden düzenlemelisiniz.
Önceki alıştırmada Geektest çözümüyle Visual Studio örneğine geçin.
Çözüm Gezgini, TriviaController.cs dosyasını denetleyiciler klasörü içinde 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çiliyor
Yöntemi Ayıkla iletişim kutusunda, yeni yöntem matchesoption olarak adlandırın ve Tamam' a tıklayın.
Ayıklanan metodun adını belirtme
Daha sonra seçili kod Matchesoption yöntemine ayıklanır. Elde edilen kod aşağıdaki kod parçacığında gösterilmiştir.
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
Artık önceki görevde yaptığınız değişiklikleri depoya göndererek, üretim ortamına yeni bir dağıtım tetikleyitecaksınız. Daha sonra, Internet Explorer tarafından sunulan F12 geliştirme araçlarını kullanarak bir sorun troubleshot ve ardından Azure Yönetim portalından önceki dağıtıma geri alma işlemi gerçekleştirirsiniz.
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ütün. [-APPLICATION-Path] yer tutucusunu geektest çözümünün yoluyla güncelleştirin. Sizden dağıtım parolanızı girmeniz istenir.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Refactored answer check" git push azure master
Yeniden düzenlenmiş kodunu Azure 'a iletme
Internet Explorer 'ı açın ve Web uygulamanıza gidin (örn.
http://<your-web-site>.azurewebsites.net). Önceden oluşturulan kimlik bilgilerini kullanarak oturum açın.
Geliştirici araçlarını başlatmak için F12 tuşuna basın, ağ sekmesini seçin ve kaydetmeye başlamak için Yürüt düğmesine tıklayın.
Ağ kaydı başlatılıyor
Sınavın herhangi bir seçeneğini belirleyin. Hiçbir şeyin gerçekleşmeyecek olduğunu göreceksiniz.
F12 PENCERESINDE, http post isteğine karşılık gelen GIRIŞ bir http 500 sonucunu gösterir.
HTTP 500 hatası
Konsol sekmesini seçin. Hatanın ayrıntıları ile bir hata günlüğe kaydedilir.
Günlüğe kaydedilen hata
Hatanın Ayrıntılar bölümünü bulun. Açıkça, bu hata önceki adımlarda yaptığınız kod yeniden düzenlemesi nedeniyle oluşur.
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ı ' na gidin ve aboneliğinizle ilişkili Microsoft hesabı 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 yürütmelerin dağıtım geçmişinde listelendiğini unutmayın.
Mevcut dağıtımların listesi
Önceki yürütmeyi seçin ve komut çubuğunda yeniden Dağıt ' a tıklayın.
Önceki işleme yeniden dağıtılıyor
Onaylamanız istendiğinde Evet' e tıklayın.
Dağıtım tamamlandığında, Web uygulamanızla birlikte tarayıcı örneğine dönün ve CTRL + F5tuşlarına basın.
Seçeneklerden herhangi birine tıklayın. Ters çevir animasyonu artık alınacaktır ve sonuç (doğru/yanlış) görüntülenecektir.
Seçim Git Bash konsoluna geçin ve önceki işlemeye dönmek için aşağıdaki komutları yürütün.
Note
Bu komutlar, hatalı işlemede gerçekleştirilen git deposundaki tüm değişiklikleri geri yükleyen yeni bir kayıt oluşturur. Daha sonra Azure, yeni yürütmeyi kullanarak uygulamayı yeniden dağıtırsınız.
git revert HEAD --no-edit git push azure master
Alıştırma 4: Azure Storage kullanarak ölçeklendirme
BLOB 'lar , büyük miktarlarda yapılandırılmamış metin veya video, ses ve görüntü gibi ikili verileri depolamanın en kolay yoludur. Uygulamanızın statik içeriğini depolamaya taşımak, doğrudan tarayıcıya görüntü veya belge 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. Daha sonra, içeriğinizi blob kapsayıcısına yönlendirmek üzere Web. config dosyasına BIR ASP.net URL yeniden yazma kuralı eklemek için uygulamanızı 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ı 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. 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ımla devam etmek için yeni depolama hesabının durumu çevrimiçi olarak değişene kadar bekleyin.
Depolama hesabı oluşturuldu
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ı, hesap durumu ve uygulamalarınız dahilinde kullanılabilecek hizmet uç noktaları hakkında bilgi sağlar.
Depolama hesabı panosunu görüntüleme
Gezinti çubuğundaki erişim tuşlarını Yönet düğmesine tıklayın.
Erişim anahtarlarını Yönet düğmesi
Erişim anahtarlarını Yönet iletişim kutusunda, Aşağıdaki alıştırmada gerekli olacak şekilde depolama hesabı adı ve birincil erişim anahtarı ' nı kopyalayın. Sonra iletişim kutusunu kapatın.
Erişim anahtarını Yönet iletişim kutusu
Görev 2 – bir varlığı Azure Blob depolamaya yükleme
Bu görevde, depolama hesabınıza bağlanmak için Visual Studio 'daki Sunucu Gezgini penceresini kullanacaksınız. Daha sonra bir blob kapsayıcısı oluşturacak ve kapsayıcıya Geek test logosu içeren bir dosya yükleyeceksiniz.
Önceki alıştırmada Geektest çözümüyle Visual Studio örneğine geçin.
Menü çubuğundan Görünüm ' ü seçin ve ardından Sunucu Gezgini' ye tıklayın.
Sunucu Gezgini, Azure düğümüne sağ tıklayın ve Azure 'a Bağlan... seçeneğini belirleyin. Aboneliğinizle ilişkili Microsoft hesabı kullanarak oturum açın.
Azure'a bağlanma
Azure düğümünü genişletin, depolama alanı ' na sağ tıklayın ve dış depolama Ekle... seçeneğini belirleyin.
Yeni depolama hesabı ekle iletişim kutusunda, önceki görevde edindiğiniz hesap adını ve hesap anahtarını girip Tamam' a tıklayın.
Yeni depolama hesabı Ekle iletişim kutusu
Depolama hesabınız depolama düğümünün altında görünmelidir. Depolama hesabınızı genişletin, Bloblar ' a sağ tıklayıp BLOB kapsayıcısı oluştur... ' u seçin.
Blob kapsayıcısı oluştur
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ı ortak hale getirmek için kapsayıcıdaki erişim izinlerini değiştirin. Bunu yapmak için, görüntüler kapsayıcısını sağ tıklatın ve Özellikler' i seçin.
Görüntü kapsayıcısı özellikleri
Özellikler penceresinde, kapsayıcıya Genel okuma erişimi ayarlayın.
Genel okuma erişimi Özelliği değiştiriliyor
Genel erişim özelliğini değiştirmek istediğinizden emin olup istemediğiniz sorulduğunda Evet' e tıklayın.
Microsoft Visual Studio uyarısı
Sunucu Gezgini, görüntüler 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ısını görüntüle
Görüntüler kapsayıcısının yeni bir pencerede açılması ve girişin gösterilmemelidir. Blob kapsayıcısına bir dosya yüklemek için karşıya yükle simgesine tıklayın.
Girişi olmayan görüntü 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 görüntüler kapsayıcısında listelenmesi gerekir. Dosya girdisine sağ tıklayıp URL 'Yi Kopyala' yı seçin.
Blob URL 'sini Kopyala
Internet Explorer 'ı açın ve URL 'YI yapıştırın. Aşağıdaki görüntü tarayıcıda gösterilmelidir.
Azure Blob depolamadan logo-Big. png görüntüsü
Görev 3 – Azure Blob depolama alanından statik Içerik kullanmak için çözümü güncelleştirme
Bu görevde, Web. config dosyasına BIR ASP.net URL yeniden yazma kuralı ekleyerek Azure Blob depolama alanına (Web uygulamasında bulunan görüntü yerine) yüklenen görüntüyü kullanmak Için geektest çözümünü yapılandıracaksınız.
Visual Studio 'da, Geektest projesi içindeki 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ınızın adıyla güncelleyerek.
(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>
Note
URL yeniden yazma, gelen bir web isteğini kesintiye uğratan ve isteği farklı bir kaynağa yönlendirmeye yönelik bir işlemdir. URL yeniden yazma kuralları yeniden yazma motoruna bir isteğin yeniden yönlendirilmesi gerektiğinde ve nereye yönlendirilmeleri gerektiğini söyler. Yeniden yazma kuralı iki dizeden oluşur: istenen URL 'de (genellikle normal ifadeler kullanılarak) aranacak model ve bulunursa, deseninin yerini alacak dize. Daha fazla bilgi için bkz. ASP.net Içinde 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ütün. [-APPLICATION-Path] yer tutucusunu geektest çözümünün yoluyla güncelleştirin. Sizden dağıtım parolanızı girmeniz istenir.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Added URL rewrite rule in web.config file" git push azure master
Güncelleştirme Azure 'a dağıtılıyor
Görev 4 – doğrulama
Bu görevde, Geek test uygulamasına göz atabilmeniz Için Internet Explorer 'ı kullanacaksınız ve görüntülerin URL yeniden yazma kuralının çalışıp çalışmadığını ve Azure Blob depolamadabarındırılan görüntüye yönlendirildiğini kontrol edersiniz.
Internet Explorer 'ı açın ve Web uygulamanıza gidin (örn.
http://<your-web-site>.azurewebsites.net). Önceden oluşturulan kimlik bilgilerini kullanarak oturum açın.
Görüntüyle birlikte Geek test Web uygulamasını gösterme
Geliştirici araçlarını başlatmak için F12 tuşuna basın, ağ sekmesini seçin ve kaydı başlatın.
Ağ kaydı başlatılıyor
Web sayfasını yenilemek için CTRL + F5 tuşlarına basın.
Sayfa yükleme tamamlandıktan sonra, http 301 sonucuyla /IMG/logo-Big.png URL 'si için BIR http isteği ve http 200 sonucuyla birlikte
http://[YOUR-STORAGE-ACCOUNT].blob.core.windows.net/images/logo-big.pngURL 'si için bir istek görmeniz gerekir.
URL yeniden yönlendirmesi doğrulanıyor
Alıştırma 5: Web Apps için otomatik ölçeklendirmeyi kullanma
Note
Bu alıştırma isteğe bağlıdır, çünkü yalnızca Visual Studio 2013 Ultimate EditionIçin kullanılabilen Web yükü & performans testi için destek gerektirir. Belirli Visual Studio 2013 özellikleri hakkında daha fazla bilgi için, sürümleri buradakarşı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 'un yük 'e bağlı olarak Web uygulamanızın örnek sayısını otomatik olarak ölçeklendirmesine imkan tanır. Otomatik ölçeklendirme etkinleştirildiğinde Azure, Web uygulamanızın CPU 'sunu her beş dakikada bir denetler ve bu noktada gerektiğinde örnekler ekler. CPU kullanımı düşükse, Azure, Web uygulamanızın performansının düşürülmemesini sağlamak için örnekleri iki saatte bir daha kaldırır.
Bu alıştırmada, Geek test Web uygulaması Için Otomatik ölçeklendirme özelliğini yapılandırmak için gerekli olan adımlara gidecaksınız. Uygulama üzerinde bir örnek yükseltmesi tetikleyecek kadar CPU yükü oluşturmak için bir Visual Studio yük testi çalıştırarak bu özelliği doğrulayacaksınız.
Görev 1 – CPU ölçüsüne göre otomatik ölçeklendirmeyi yapılandırma
Bu görevde, alıştırma 2 ' de oluşturduğunuz Web uygulamasına yönelik otomatik ölçeklendirme özelliğini etkinleştirmek için Azure yönetim portalını kullanacaksınız.
Azure yönetim portalı' nda Web 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ünde, ölçüm için ölçek yapılandırmasına göre CPU ' yı seçin.
Note
CPU 'ya göre ölçeklendirilirken, Azure, CPU kullanımı değişirse uygulamanın kullandığı örneklerin sayısını dinamik olarak ayarlar.
CPU 'ya göre ölçeklendirmeye seçme
Hedef CPU yapılandırmasını 20-yüzde 40 olarak değiştirin.
Note
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 minimum ve maksimum örnek sayısı örnek sayısı yapılandırmasında belirtilmiştir. Azure hiçbir şekilde bu sınırın üzerinde 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 bir orta yük yerleştirildiğinde otomatik ölçeklendirmeyi tetikleme olasılığını artırırsınız.
Hedef CPU 'YU 20 ila %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ıktan sonra, Web UYGULAMANıZDA bazı 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 ' yı seçin | Yeni | Proje.. . Yeni bir çözüm başlatmak için.
Yeni bir proje oluşturma
Yeni proje iletişim kutusunda, Web performansı ' nı seçin ve görsel C# ' ün altında yük testi projesi | Test sekmesi. .NET Framework 4,5 ' nin seçildiğinden emin olun, projeyi webandloadtestprojectolarak adlandırın, bir konum seçin ve Tamam' a tıklayın.
Yeni bir Web ve yük testi projesi oluşturma
WebTest1. webtest içinde WebTest1 düğümüne sağ tıklayıp istek ekle' ye tıklayın.
WebTest1 'e istek ekleme
Yeni istek düğümünün Özellikler penceresinde URL özelliğini Web uygulamanızın URL 'sini işaret etmek üzere güncelleştirin (ör. http://geek-quiz.azurewebsites.net/ ).
URL özelliğini değiştirme
WebTest1. webtest penceresinde, WebTest1 öğesine sağ tıklayın ve döngü Ekle... öğesine tıklayın.
WebTest1 'e döngü ekleme
Koşullu kural ve Döngülenecek öğe Ekle iletişim kutusunda, for döngüsü kuralını seçin ve aşağıdaki özellikleri değiştirin.
Sonlandırma değeri: 1000
Bağlam parametresi adı: İden
Artış değeri: 1
For döngüsü kuralını seçme ve özellikleri güncelleştirme
-
Döngüdeki öğeler bölümünde, döngünün ilk ve son öğesi olarak daha önce oluşturduğunuz isteği seçin. Devam etmek için Tamam 'a tıklayın.
Döngünün ilk ve son öğelerini seçme
Çözüm Gezgini, webandloadtestproject projesine sağ tıklayın, Ekle menüsünü ve Yük testi seç... öğ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 süreleri kullanmayın ' ı seçin ve İleri' ye tıklayın.
Düşünme sürelerini kullanmayı seçme
Yük kalıbı sayfasında, sabit yükleme seçeneğinin seçildiğ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, karışıma bir test eklemek için Ekle... ' ye tıklayın.
Test karışımına test ekleme
Testleri Ekle iletişim kutusunda, Seçili testler listesine test eklemek için WebTest1 öğesine çift tıklayın. Devam etmek için Tamam 'a tıklayın.
WebTest1 testi ekleme
Test karışımı sayfasına geri döndüğünüzde İleri' ye tıklayın.
Test karışımı sayfası Tamamlanıyor
Ağ karışımı sayfasında, İleri' ye tıklayın.
Ağ karışımı sayfasında ileri '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 Ileri 'ye tıklama
Ayarları Çalıştır sayfasında, Yük testi süresini 5 dakikaya ayarlayın ve son' a tıklayın.
Yük testi süresini 5 dakikaya ayarlama
Çözüm Gezgini, test ayarlarını araştırmak için yerel. Settings dosyasına çift tıklayın. Varsayılan olarak, Visual Studio Testleri çalıştırmak için yerel bilgisayarınızı kullanır.
Note
Alternatif olarak, test projenizi Azure test Planskullanarak bulutta yük testlerini çalıştıracak şekilde yapılandırabilirsiniz. Azure Test Plans, daha gerçekçi bir yükü taklit eden, CPU kapasitesi, kullanılabilir bellek ve ağ bant genişliği gibi yerel ortam kısıtlamalarını önyükleyen 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ğrulaması
Şimdi, önceki görevde oluşturduğunuz yük testini yürütülecektir ve Web uygulamanızın yük altında nasıl davrandığını görürsünüz.
Çözüm Gezgini, yük testini açmak için LoadTest1. LoadTest öğesine çift tıklayın.
LoadTest1. LoadTest açılıyor
LoadTest1. LoadTest penceresinde, yük testini çalıştırmak için araç kutusundaki ilk düğmesine tıklayın.
Yük testini çalıştırma
Yük testi tamamlanana kadar bekleyin.
Note
Yük testi, istekleri Web uygulamasına aynı anda gönderen birden çok kullanıcıyı benzetir. Test çalışırken, herhangi bir hata, uyarı veya yük testi çalıştırla ilgili diğer bilgileri algılamak için kullanılabilir sayaçları izleyebilirsiniz.
Yük testi çalışıyor
Test tamamlandıktan sonra, yönetim portalına geri dönün ve Web uygulamanızın Ölçek sayfasına gidin. Kapasite bölümünde, grafikte yeni bir örneğin otomatik olarak dağıtıldığını görmeniz gerekir.
Yeni örnek otomatik olarak dağıtıldı
Note
Değişikliklerin grafikte görünmesi birkaç dakika sürebilir (sayfayı yenilemek için 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 dakika)
- Web uygulamanızın otomatik ölçeklendirme yapılandırmasındaki hedef CPU aralığının maksimum ve en düşük değerlerini azaltın
- Yük testini bulutta Azure test Plansile çalıştırın. Buradan daha fazla bilgi
Özet
Bu uygulamalı laboratuvarda, uygulamanızı ayarlamayı ve Azure 'da üretim Web uygulamalarına dağıtmayı öğrendiniz. Entity Framework Code First Migrationskullanarak veritabanlarınızı algılayıp güncelleştirerek ve sonra Git kullanarak sitenizin yeni sürümlerini dağıtarak ve sitenizin en son kararlı sürümüne geri dönme gerçekleştirerek çalışmaya devam edersiniz. Ayrıca, statik içeriğinizi bir blob kapsayıcısına taşımak için depolamayı kullanarak uygulamanızı nasıl ölçeklendirebileceğinizi öğrendiniz.