Linux Sunucunuzun Performansını Ölçün

Server performans testi

Merhabalar, çok sıklıkla bana sorulan sorulardan birini bu yazımda açıklayacağım.Umarım keyifler yerindedir, ben çok yoğun çalıştığımdan dolayı blog yazısı yazmayı aksattım.

Burada testini yapacağımız sunucuyu https://www.cloudeos.com/ dan açtık, sunucu özellikleri;

1 CPU | 1 GB | 40 GB ubuntu 1604.

Sunucu performansını nasıl ölçeriz?

Sunucu performansımızı ölçmek için kullandığım araçlardan biri Sysbench. Oldukça kullanışlı bir araçtır. Mutlaka sunucu kiraladıktan sonra performans ölçümü yapalım ki bütün ayarlamalar ve kurulumlar boşa gitmesin.

İlk önce sysbench reposunu sunucumuza tanıtalım.

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash

Şimdi Ubuntuya sysbench aracını kuralım.

sudo apt -y install sysbench

Kısaca –help komutu ile parametrelere bakalım. Parametrelerden bazılarını buraya ekledim, daha bir çok parametre alıyor sysbench.

Aşağıda görüldü gibi disk yazma okuma hızı, cpu performans hızı, thread performans testi, memory testi yapabilirz. Ayrıca mysql, postgresql testleri de yapabiliyorsunuz.

Compiled-in tests:
fileio – File I/O test
cpu – CPU performance test
memory – Memory functions speed test
threads – Threads subsystem performance test
mutex – Mutex performance test

Sunucu CPU testini yaparak başlayalım. –cpu-max-prime parametresi 10000 e kadar yer alan asal sayıların hesaplanmasını belirtiyor. Bu şekilde hesaplayarak sunucu performansını ölçüyor.

sysbench –test=cpu –cpu-max-prime=10000 run

Komutu çalıştırdıktan sonra aşağıdaki gibi bir sonuç üretiyor.

sysbench 1.0.18 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 10000

Initializing worker threads…

Threads started!

CPU speed:
events per second: 792.59

General statistics:
total time: 10.0015s
total number of events: 7929

Latency (ms):
min: 1.24
avg: 1.26
max: 7.12
95th percentile: 1.34
sum: 9994.83

Threads fairness:
events (avg/stddev): 7929.0000/0.00
execution time (avg/stddev): 9.9948/0.00

Cpu speed (İşlemci hızı ) altında yer alan değerin yüksek olmasına, total timeın (toplam zamanın) düşük olmasına, latencynin(gecikmenin) düşük olmasına dikkat edilir

Bir de disk yazma okuma hızına bakalım. Alttaki komutları sırayla  uygulayalım.

sysbench fileio –file-total-size=15G –file-test-mode=rndrw –time=300 –max-requests=0 prepare
sysbench fileio –file-total-size=15G –file-test-mode=rndrw –time=300 –max-requests=0 run
sysbench fileio –file-total-size=15G –file-test-mode=rndrw –time=300 –max-requests=0 cleanup

İşlem sonucunda alttaki gibi bir çıktı size veriyor.

sysbench 1.0.18 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Extra file open flags: (none)
128 files, 120MiB each
15GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads…

Threads started!

File operations:
reads/s: 144.78
writes/s: 96.52
fsyncs/s: 309.26

Throughput:
read, MiB/s: 2.26
written, MiB/s: 1.51

General statistics:
total time: 300.0654s
total number of events: 165080

Latency (ms):
min: 0.00
avg: 1.82
max: 886.31
95th percentile: 7.84
sum: 299716.67

Threads fairness:
events (avg/stddev): 165080.0000/0.00
execution time (avg/stddev): 299.7167/0.00

Reads / s ( Saniyede okuma operasyonu ) yanında yer alan değerin yüksek olmasına, write / s ( saniyede yazma operasyonu ) yanında yer alan değerin yüksek olmasına, fsyncs/s  yer alan değerin yüksek olmasına, read MiB/s ( saniyede okunulan megabit cinsinden dosya boyutu) yer alan değerin yüksek olmasına, write MiB/s ( saniyede yazılan megabit cinsinden dosya boyutu) yer alan değerin yüksek olmasına, Latency altında yer alan değerlerin küçük olmasına dikkat edilir.

Zamanım olunca yazıya memory (ram) testini de ekleyeceğim. Yeni yazımda görüşmek üzere..

Ram Testi

Test için alttaki komutu yazmanız gerekiyor. Performans testi için toplam 100 gb veri 1 kblık blocklar ile yazma işlemi başlatalım.

sysbench –test=memory –memory-block-size=1K –memory-total-size=100G –num-threads=1 run

sysbench 1.0.11 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
block size: 1KiB
total size: 102400MiB
operation: write
scope: global

Initializing worker threads…

Threads started!

Total operations: 31774502 (3176446.76 per second)

31029.79 MiB transferred (3102.00 MiB/sec)

General statistics:
total time: 10.0003s
total number of events: 31774502

Latency (ms):
min: 0.00
avg: 0.00
max: 6.41
95th percentile: 0.00
sum: 4362.43

Threads fairness:
events (avg/stddev): 31774502.0000/0.00
execution time (avg/stddev): 4.3624/0.00

Üstteki gibi bir çıktı bize veriyor.

3102.00 MiB/sec yazma izninin yüksek olmasına, totat time’nın az olmasına, total number of events’in çok olmasına ve latency ( gecikme ) az olmasına bakılır.

 

Bir cevap yazın