Konuyla ilgili Wikipedia makalesini okumaya başlardım .
Kısacası, ölçeklenebilirlik, daha fazla kaynak ekleyerek sistem performansının nasıl arttığını veya alternatif olarak, kaynak kullanımının artan yükle nasıl büyüdüğünü göstermektedir . Örneğin, siteniz yanıt süresi 0,3 saniyenin üzerine çıkana kadar eş zamanlı olarak kaç kullanıcı yönetebilir? Aynı soruyu kullandıktan sonra kullanılabilir RAM / disk / CPU / etc. Muhtemelen hangi parametrelerin kontrol edilmeye değer olduğuna karar vermek için uygulama içindekiler hakkındaki bilginizi kullanabilirsiniz.
Bir sunucu makinesi ve bir veya daha fazla istemci makinesi ile bir test tezgahı kurun. Sunucuya sunulan kaynak miktarını sınırlamak için bazı araçlar kullanın (örn. ulimit
) Veya sunucuda bazı enterferans uygulamalarını çalıştırın. Sunucunun müşteri istekleriyle nasıl ilgilendiğini ölçün. Yukarıdaki kademeli olarak artan / azalan girişim yükü / mevcut kaynakları azaltın. Sonunda içinde noktalar olan n boyutlu bir boşluk elde edersiniz. Diğerlerini bazı tipik değerlerde (veya birkaç değerde) sabitlerken bir seferde yalnızca bir parametreyi değiştirmek daha kolay olabilir. Bu durumda, sonucu bir eksende sunucu performansı (örneğin, kullanıcı / istek sayısı) ve diğer yandan kaynak kullanımı / kullanılabilirliği ile birlikte 2B grafikler olarak temsil edebilirsiniz.
Uygulamanızın uygulamanın bir kısmı için birkaç sunucu kullandığı ve bunların miktarını ve oranlarını değiştirebileceğiniz daha karmaşık senaryolar vardır, ancak sanırım bu sizin durumunuz değil. En önemlisi, eğer muhtemelen önemliyse, iş parçacığı / işlem sayısını değiştirmek isteyebilirsiniz.
Uygulamanın tamamını ölçüyorsanız, genellikle kaynak kod erişimine ihtiyacınız yoktur. Ancak, kodun belirli bir bölümünü ölçmede ilginç olabilirsiniz (örneğin, yalnızca DB veya UI). Ardından, kaynak kodunu yalnızca ölçümler için bu modülü ortaya çıkarmak ve testlerinizi çalıştırmak için kullanabilirsiniz. Buna bir mikroböcek noktası denir .
Örnekler arıyorsanız, akademik makalelerden birçoğu var. Performans değerlendirmesi + tercih ettiğiniz terimler için google aliminde arama yapın.