İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

memcaslap - Bulutta Çevrimiçi

Memcaslap'ı Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut memcaslap'tır.

Program:

ADI


memaslap - libmemcached Belgeler

SİNOPSİS


memaslap [seçenekler]

--yardım et

MEMCACHEED_SERVERS

TANIM


memaslap memcached sunucular için bir yük oluşturma ve kıyaslama aracıdır. üretir
iş parçacıkları, eşzamanlılıklar, bağlantılar, çalışma süresi, üzerine yazma gibi yapılandırılabilir iş yükü,
kaçırma oranı, anahtar boyutu, değer boyutu, alma/ayarlama oranı, beklenen çıktı vb.
Ayrıca, veri doğrulama, son kullanma zamanı doğrulama, UDP, ikili dosyaları da test eder.
protokol, facebook testi, çoğaltma testi, çoklu alma ve yeniden bağlantı vb.

Memaslap, libevent ile memcached gibi ağ bağlantılarını yönetir. Memaslap'ın her bir ipliği
bir CPU çekirdeğine bağlıdır, tüm iş parçacıkları birbiriyle iletişim kurmaz ve
her iş parçacığında birkaç soket bağlantısı. Her bağlantı, anahtar boyutu dağılımını korur,
değer boyutu dağılımı ve kendi başına komut dağıtımı.

aracılığıyla sunucuları belirtebilirsiniz. not yazısı --sunucular seçenek veya ortam değişkeni aracılığıyla
MEMCACHEED_SERVERS.

ÖZELLİKLER


Memslap aşağıdaki amaçlar için geliştirilmiştir:

libevent ile ağ bağlantılarını asenkron olarak yönetir.

Engellemeyen IO'yu kullanmak için hem TCP hem de UDP'yi ayarlayın.

Paralelliği iyileştirir: çok iş parçacıklı ortamlarda daha yüksek performans.

Zaman verimliliğini artırır: daha hızlı işlem hızı.

Anahtar ve değeri daha verimli bir şekilde üretir; anahtar boyutu dağılımı ve değer boyutu
dağıtım yapılandırılabilir.

Get, multi-get ve set komutlarını destekler; komut dağıtımı yapılandırılabilir.

Kontrol edilebilir ıskalama oranını ve üzerine yazma oranını destekler.

Verileri ve zaman aşımı doğrulamasını destekler.

Dumping istatistik bilgilerini periyodik olarak destekler.

Binlerce TCP bağlantısını destekler.

İkili protokolü destekler.

Facebook testini (TCP ile ayarlanır ve UDP ile çoklu-get) ve çoğaltma testini destekler.

DETAYLAR


Etkili uygulama of ağ.
Memaslap için hem TCP hem de UDP, engellemeyen ağ IO'sunu kullanır. Tüm ağ olayları
memcached olarak libevent tarafından yönetilmektedir. Memaslap'ın ağ modülü memcached'e benzer.
Libevent, memaslap'ın ağı çok verimli bir şekilde işlemesini sağlayabilir.

Etkili uygulama of çoklu iş parçacığı ve eşzamanlılık
Memslap, memcached ile benzer çoklu iş parçacığı uygulamasına sahiptir. Memslap bir tane oluşturur
veya daha fazla kendi kendini yöneten iş parçacığı; sistem test ederse, her iş parçacığı bir CPU çekirdeği ile bağlanır
CPU çekirdek yakınlığını ayarlama.

Ek olarak, her iş parçacığının ağ olaylarını yönetmek için bir özgürlüğü vardır; her iplik
bir veya daha fazla kendi kendini yöneten eşzamanlılığa sahip; ve her eşzamanlılığın bir veya daha fazla soketi vardır
bağlantılar. Tüm eşzamanlılıklar birbirleriyle iletişim kurmuyor olsalar bile
Aynı iş parçacığında.

Memslap binlerce soket bağlantısı oluşturabilir ve her eşzamanlılığın onlarca
soket bağlantıları. Her eşzamanlılık rastgele veya sırayla bir soket seçer
soket bağlantı havuzundan bağlantı çalıştırmak, böylece memaslap her eşzamanlılığı sağlayabilir
herhangi bir zamanda bir soket bağlantısını yönetir. Kullanıcılar sayısını belirtebilir
her bir eşzamanlılığın eş zamanlılık ve soket bağlantıları, beklentilerine göre
iş yoğunluğu.

Etkili uygulama of üreten anahtar ve değer
Memaslap, zaman verimliliğini ve alan verimliliğini artırmak için rastgele bir
10M karakterli karakter tablosu. Anahtarların ve değerlerin tüm son ekleri oluşturulur
bu rastgele karakterler tablosundan.

Memslap, bir karakteri tanımlamak için karakter tablosundaki ofseti ve dizenin uzunluğunu kullanır.
sicim. Çok fazla bellek tasarrufu sağlayabilir. Her anahtar, bir önek ve bir sonek olmak üzere iki kısım içerir. NS
önek bir uint64_t, 8 bayttır. Daha önce veri setini doğrulamak için memaslap'ın
her anahtarın benzersiz olduğundan emin olun, bu nedenle bir anahtarı tanımlamak için öneki kullanır. önek olamaz
'r', 'n', '0' ve ' ' gibi geçersiz karakterler içerir. Ve memaslap'ın bir algoritması var
bunu sağlamak için.

Memslap başlangıçta tüm nesneleri (anahtar/değer çiftleri) oluşturmaz. Sadece
her birinin görev penceresini (varsayılan 10K nesneleri) dolduracak kadar nesne üretir
eşzamanlılık Her nesne, aşağıdaki temel bilgilere, anahtar önekine, anahtar son ekine sahiptir.
karakter tablosundaki offset, anahtar uzunluğu, karakter tablosundaki değer ofseti ve değer
uzunluğu.

İş sürecinde, her eşzamanlılık, sırayla veya rastgele olarak bir nesne seçer.
İşlemi ayarlamak veya işlem almak için pencere. Aynı zamanda, her eşzamanlılık başlar
nesneleri penceresinden dışarı atar ve içine yeni nesne ekler.

Basit fakat işe yarar görev çizelgeleme
Memslap, iş parçacıklarının tüm eşzamanlılıklarını ve her bir eşzamanlılığı programlamak için libevent'i kullanır.
görevleri yerel görev penceresine göre zamanlar. Memslap, her eşzamanlılığın
aynı anahtar dağıtımını, değer dağıtımını ve komut dağıtımını korur.
dışında, memaslap tüm dağıtımı bir bütün olarak tutar. Her görev penceresi çok şey içerir
Nesnelerin, her nesne anahtar, değer, sona erme süresi gibi temel bilgilerini depolar ve
yakın zamanda. Herhangi bir zamanda, penceredeki tüm nesneler aynı ve sabit anahtar ve değeri korur
dağıtım. Bir nesnenin üzerine yazılırsa, nesnenin değeri güncellenir.
Memslap, içinde depolanan nesne bilgilerine göre verileri veya süreyi doğrular.
görev penceresi.

Libevent, belirli bir ağ olayına göre hangi eşzamanlılığın işleneceğini seçer. Sonra
eşzamanlılık, komuta göre hangi komutun (al veya ayarla) çalışacağını seçer
dağıtım. Tutmak için eski bir nesneyi atması ve yeni bir nesne eklemesi gerekiyorsa
aynı anahtar ve değer dağılımına sahipse, yeni nesne aynı anahtar uzunluğuna ve
değer uzunluğu.

Memcached sunucunun iki önbellek katmanı (bellek ve SSD) varsa, memaslap'ı farklı
pencere boyutları farklı önbellek kaçırma oranları alabilir. Memaslap, içine yeterince nesne eklerse
pencereler ve memcached önbelleği tüm nesneleri depolayamaz.
başlatıldığında, memaslap ikinci önbellek katmanından bazı nesneler alacaktır. Sebep olur
kaçırılacak ilk önbellek katmanı. Böylece kullanıcı bekleneni elde etmek için pencere boyutunu belirleyebilir.
ilk önbellek katmanının kaçırma oranı.

yararlı uygulama of çoklu sunucular , UDP, TCP, çoklu almak ve ikili protokol
Her iş parçacığı kendi kendini yönettiğinden, memaslap işlemek için farklı iş parçacıkları atayabilir.
farklı memcached sunucular. Bu, memaslap'ın çoklu testleri test etme yollarından sadece biridir.
sunucular. Tek sınırlama, sunucu sayısının belirtilenden fazla olmamasıdır.
iş parçacığı sayısı. Birden çok sunucuyu test etmenin diğer yolu, çoğaltma testidir. Her biri
eşzamanlılık, her memcached sunucusuna bir soket bağlantısına sahiptir. Uygulama için,
memaslap, bazı nesneleri memcached bir sunucuya ayarlayabilir ve bu nesneleri
diğer sunucular.

Varsayılan olarak, Memslap tekli alır. Kullanıcı çoklu alma seçeneğini belirtirse, memaslap
yeteri kadar get komutu toplayın ve komutları paketleyip birlikte gönderin.

Memslap, hem ASCII protokolünü hem de ikili protokolü test eder, ancak ASCII üzerinde çalışır
varsayılan olarak protokol. Memslap varsayılan olarak TCP protokolünde çalışır, ancak aynı zamanda UDP'yi de test eder.
UDP güvenilmez olduğundan, paketlerin düşmesi ve sıra dışı paketler oluşabilir. Memslap
bu sorunları işlemek için bir bellek arabelleği oluşturur. Memslap tüm yanıtı okumaya çalışır
sunucudan bir komutun verilerini ve yanıt verilerini yeniden sıralar. Bazı paketler alırsa
kayıp, bekleme zaman aşımı mekanizması, yarı pişmiş paketlerin atılmasını ve
sonraki komut gönderilecektir.

KULLANIM


Aşağıda bazı kullanım örnekleri verilmiştir:

memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F yapılandırma -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F yapılandırma -t 2m -p 2

Kullanıcı, memaslap'ı çalıştırmak için en az bir sunucu belirtmelidir. Parametrelerin geri kalanı var
aşağıda gösterildiği gibi varsayılan değerler:

Konu numarası = 1 Eşzamanlılık = 16

Çalışma süresi = 600 saniye Yapılandırma dosyası = NULL

Anahtar boyutu = 64 Değer boyutu = 1024

Get/set = 9:1 Pencere boyutu = 10k

Yürütme sayısı = 0 Tek alma = doğru

Multi-get = false Her eşzamanlılığın soket sayısı = 1

Yeniden bağlan = yanlış Veri doğrulama = yanlış

Süre sonu doğrulaması = yanlış ASCII protokolü = doğru

İkili protokol = yanlış Dumping istatistik bilgisi

periyodik olarak = yanlış

Üzerine yazma oranı = %0 UDP = yanlış

TCP = true Sınır çıktısı = yanlış

Facebook testi = yanlış Çoğaltma testi = yanlış

anahtar boyut, değer boyut ve komuta dağılımı.
Tüm dağıtımlar, kullanıcı tarafından belirtilen yapılandırma dosyasından okunur.
“—cfg_cmd” seçeneği. Kullanıcı bir yapılandırma dosyası belirtmezse, memaslap çalıştırılacaktır.
varsayılan dağıtımla (anahtar boyutu = 64, değer boyutu = 1024, get/set = 9:1). İçin
yapılandırma dosyasının nasıl düzenleneceğine ilişkin bilgiler için “Yapılandırma Dosyası”na bakın
Bölüm.

Minimum anahtar boyutu 16 bayttır; maksimum anahtar boyutu 250 bayttır. hassasiyeti
oran 0.001'dir. Dağıtım oranı 3 ondalık basamağa yuvarlanacaktır.

Minimum değer boyutu 1 bayttır; maksimum değer boyutu 1M bayttır. hassasiyeti
oran 0.001'dir. Dağıtım oranı 3 ondalık basamağa yuvarlanacaktır.
Şu anda memaslap sadece set ve get komutlarını test ediyor. Ve %100 seti ve %100 almayı test eder.
%100 alma için, bazı nesneleri sunucuya önceden ayarlayacaktır.

Çoklu dizin ve eşzamanlılık
Memaslap'ın yüksek performansı, özel iplik programından yararlanır ve
eşzamanlılık Bunların doğru sayısını belirtmek önemlidir. Varsayılan numara
iplikler 1'dir; varsayılan eşzamanlılık sayısı 16'dır. Kullanıcı “—threads” kullanabilir ve
Bu değişkenleri belirtmek için “--concurrency”.

Sistem, CPU benzeşimini ve kullanıcı tarafından belirtilen iş parçacığı sayısını ayarlamayı test ederse
1'den büyükse, memaslap her bir iş parçacığını farklı bir CPU çekirdeğine bağlamaya çalışacaktır. öyleyse eğer
en iyi performansı elde etmek istiyorsanız, memaslap sayısını belirtmek daha iyidir.
CPU çekirdeği sayısına eşit iş parçacığı. Kullanıcı tarafından belirtilen iş parçacığı sayısı
ayrıca CPU çekirdeği sayısından daha az veya daha fazla olabilir. sınırlaması nedeniyle
uygulamada, eşzamanlılık sayısı, sayının katı olabilir.
İş Parçacığı.

1. 8 CPU çekirdek sistemi için

Örneğin:

--threads=2 --eşzamanlılık=128

--threads=8 --eşzamanlılık=128

--threads=8 --eşzamanlılık=256

--threads=12 --eşzamanlılık=144

2. 16 CPU çekirdek sistemi için

Örneğin:

--threads=8 --eşzamanlılık=128

--threads=16 --eşzamanlılık=256

--threads=16 --eşzamanlılık=512

--threads=24 --eşzamanlılık=288

Memaslap, memcached sunucuların performansını test etmek için kullanıldığında çok iyi performans gösterir.
Çoğu zaman, darboğaz ağ veya sunucudur. Eğer herhangi bir nedenle kullanıcı
memaslap performansını sınırlamak istiyor, bunu yapmanın iki yolu var:

İş parçacığı ve eşzamanlılık sayısını azaltın. Memaslap için “--tps” seçeneğini kullanın.
iş hacmini sınırlamayı sağlar. Bu seçenek, kullanıcının bekleneni almasını sağlar.
verim. Örneğin, belirli bir işlem için maksimum verimin 50 kops/s olduğunu varsayalım.
yapılandırma, maksimum aktarım hızına eşit veya daha az aktarım hızı belirtebilirsiniz
“--tps” seçeneğini kullanarak.

Pencere boyut
Çoğu zaman, kullanıcının pencere boyutunu belirtmesi gerekmez. Varsayılan pencere
boyutu 10k. Schooner Memcached için, kullanıcı farklı pencere boyutları belirleyebilir.
test senaryosuna göre farklı önbellek kaçırma oranları. Memslap arasında önbellek kaçırma oranını test eder
%0 ve %100. Schooner Memcached'in performansını test etmek için bu yardımcı programı kullanırsanız,
Beklenen önbellek kaçırma oranını elde etmek için uygun bir pencere boyutu belirleyebilir. formülü
pencere boyutunun hesaplanması aşağıdaki gibidir:

Anahtar boyutunun 128 bayt ve değer boyutunun 2048 bayt olduğunu varsayalım ve
eşzamanlılık=128.

1. Küçük önbellek önbellek_boyutu=1M, %100 önbellek kaçırma (tüm veriler SSD'den alınır). win_size=10k

2.cache_size=4G

(1). önbellek kaçırma oranı 0%

win_size=8k

(2). önbellek kaçırma oranı 5%

win_size=11k

3.cache_size=16G

(1). önbellek kaçırma oranı 0%

win_size=32k

(2). önbellek özledim

oran 5%

win_size=46k

Önbellek kaçırma oranı %0 için pencere boyutunu hesaplama formülü:

cache_size / eşzamanlılık / (anahtar_boyutu + değer_boyutu) * 0.5

Önbellek kaçırma oranı %5 için pencere boyutunu hesaplama formülü:

cache_size / eşzamanlılık / (anahtar_boyutu + değer_boyutu) * 0.7

Doğrulama
Memslap, hem veri doğrulamasını hem de son kullanma zamanı doğrulamasını test eder. Kullanıcı kullanabilir
Veri doğrulama oranını belirtmek için "--verify=" veya "-v". Teorik olarak, test eder
%100 veri doğrulama. Kullanıcı, oranı belirtmek için "--exp_verify=" veya "-e" kullanabilir
zaman aşımı doğrulaması. Teorik olarak, %100 sona erme zamanı doğrulamasını test eder. belirtmek
daha ayrıntılı hata bilgisi almak için "--verbose" seçenekleri.

Örneğin: --exp_verify=0.01 –verify=0.1 , ile ayarlanan nesnelerin %1'inin
sona erme süresi, alınan nesnelerin %10'u doğrulanacak. Nesneler alınırsa,
memaslap, son kullanma süresini ve değeri doğrulayacaktır.

çoklu sunucular ve çoklu yapılandırma
Memslap, kendi kendini yöneten iş parçacığına dayalı olarak çoklu sunucuları test eder. öyle bir sınırlama var ki
sunucu sayısı iş parçacığı sayısından fazla olamaz. Memslap bir tane atar
en az bir sunucuyu işlemek için iş parçacığı. Kullanıcı "--servers=" veya "-s" seçeneğini kullanabilir.
çoklu sunucuları belirtin.

Örneğin:

--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36

Yukarıdaki komut, her bir iş parçacığının 6 eşzamanlılığa sahip olduğu 6 iş parçacığı olduğu anlamına gelir.
ve 0 ve 3 iş parçacıkları sunucu 0'ı (10.1.1.1) işler; iş parçacığı 1 ve 4, sunucu 1'i ele alır
(10.1.1.2); ve iş parçacığı 2 ve 5, sunucu 2'yi (10.1.1.3) işler.

Memaslap'taki tüm iş parçacıkları ve eşzamanlılıklar kendi kendini yönetir.

Memaslap da öyle. Kullanıcı birkaç memaslap örneği başlatabilir. Kullanıcı çalıştırabilir
aynı memcached sunucu ile iletişim kurmak için farklı istemci makinelerde memaslap
aynı. Kullanıcının farklı makinelerde farklı memaslap başlatması önerilir.
aynı konfigürasyon.

koşmak ile yürütmek numara kip or zaman kip
Varsayılan memaslap, zaman moduyla çalışır. Varsayılan çalışma süresi 10 dakikadır. Eğer kez
dışarı, memaslap çıkacaktır. Hem yürütme sayı modunu hem de zaman modunu aynı anda belirtmeyin
zaman; bunun yerine sadece birini belirtin.

Örneğin:

--time=30s (Bu, testin 30 saniye çalışacağı anlamına gelir.)

--execute_number=100000 (100000 komut çalıştırıldıktan sonra testin çıkacağı anlamına gelir.)

Boşaltmak istatistik bilgi periyodik olarak.
Kullanıcı, frekansı belirtmek için "--stat_freq=" veya "-S" kullanabilir.

Örneğin:

--stat_freq=20sn

Memslap, komutların (get ve set) istatistiklerini her
20 saniye.

Dumping istatistik bilgisinin formatı hakkında daha fazla bilgi için, “Format of
Çıktı” bölümü.

çoklu alma
Kullanıcı, çoklu alma anahtarı sayısını belirtmek için "--division=" veya "-d" kullanabilir. Gönderen
varsayılan, tek TCP ile alır. Memslap ayrıca veri doğrulamasını ve son kullanma süresini de test eder
çoklu-get için doğrulama.

Memslap, çoklu-get'i hem TCP hem de UDP ile test eder. Uygulamanın farklı olması nedeniyle
ASCII protokolü ve ikili protokol, ikisi arasında bazı farklılıklar vardır. İçin
ASCII protokolü, memaslap sunucuya bir kez bir “multi-get” gönderir. ikili için
protokolünde, memaslap birkaç tekli alma komutunu birlikte "çoklu alma" olarak gönderir.
sunucusu.

UDP ve TCP
Memslap, hem UDP hem de TCP'yi test eder. TCP için memaslap, memcached sunucuyu yeniden bağlamaz
soket bağlantıları kaybolursa. Tüm soket bağlantıları kaybolursa veya memcached sunucu
çöküyor, memaslap çıkacak. Kullanıcı, soket açıldığında “--reconnect” seçeneğini belirtirse
bağlantılar kaybolur, onları yeniden bağlar.

Kullanıcı UDP özelliğini etkinleştirmek için “--udp” kullanabilir, ancak UDP bazı sınırlamalarla birlikte gelir:

UDP, 1400 bayttan fazla veri ayarlayamaz.

UDP, ikili protokol tarafından test edilmez, çünkü memcached'in ikili protokolü
bunu test etmez.

UDP yeniden bağlanmayı test etmez.

Facebook test
Verileri TCP ile ayarlayın ve UDP ile çoklu alın. Aşağıdaki seçenekleri belirtin:

"--facebook --bölme=50"

Binlerce TCP bağlantısı oluşturmak istiyorsanız,

"--conn_sock=" seçeneği.

Örneğin: --facebook --division=50 --conn_sock=200

Yukarıdaki komut, memaslap'ın facebook testi yapacağı anlamına gelir, her eşzamanlılığın 200'ü vardır.
soket TCP bağlantıları ve bir UDP soketi.

Memslap, TCP soketi ile nesneleri ayarlar ve UDP ile bir kez 50 nesneyi çoklu alır
soket.

"--division=50" belirtirseniz, UDP
paket boyutu 1400 bayttır.

Çoğaltma test
Çoğaltma testi için kullanıcı en az iki memcached sunucu belirtmelidir. kullanıcı
özelliği etkinleştirmek için “—rep_write=” seçeneğini kullanın.

Örneğin:

--servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2

Yukarıdaki komut, 2 replikasyon memcached sunucusu olduğu anlamına gelir, memaslap
hem sunucu 0'a hem de sunucu 1'e nesneler, daha önce sunucu 0'a ayarlanmış nesneleri alın
sunucu 1 ve ayrıca sunucu 1'dan daha önce sunucu 0'e ayarlanmış nesneleri alır. Sunucu 0 ise
çökmeler, memaslap yalnızca sunucu 1'den nesneleri alır. Sunucu 0 hayata dönerse
tekrar memaslap, sunucu 0'a yeniden bağlanacaktır. Hem sunucu 0 hem de sunucu 1 çökerse, memaslap
çıkacak

Destekler Binlerce of TCP bağlantıları
Bu özelliği etkinleştirmek için memaslap'ı "--conn_sock=" veya "-n" ile başlatın. emin olun
sistem binlerce dosya açmayı ve binlerce soket oluşturmayı test edebilir. Yine de,
bu özellik, soketlerin bağlantısı kesilirse yeniden bağlanmayı test etmez.

Örneğin:

--threads=8 --concurrency=128 --conn_sock=128

Yukarıdaki komut, memaslap'ın 8 iş parçacığı başlattığı, her iş parçacığında 16 tane olduğu anlamına gelir.
eşzamanlılıklar, her eşzamanlılığın 128 TCP soket bağlantısı vardır ve toplam
TCP soket bağlantıları 128 * 128 = 16384'tür.

Destekler ikili protokol
Bu özelliği etkinleştirmek için memaslap'ı "--binary" veya "-B" seçenekleriyle başlatın. hepsini test ediyor
UDP hariç yukarıdaki özellikler, çünkü en son memcached 1.3.3 ikili dosya uygulamaz
UDP protokolü.

Örneğin:

--ikili

memcached 1.3.3, ikili UDP protokolünü uygulamadığından, memaslap UDP'yi test etmez.
Ayrıca memcached 1.3.3, çoklu-almayı test etmez. "--division=50" belirtirseniz
seçeneği, sunucuya "mulit-get" olarak 50 get komutunu birlikte gönderir.

YAPILANDIRMA DOSYA


Bu bölüm, yapılandırma dosyasının biçimini açıklar. Varsayılan olarak hayır olduğunda
yapılandırma dosyası belirtilirse memaslap, şu adreste bulunan varsayılanı okur. ~/.memaslap.cnf.

Aşağıda örnek bir yapılandırma dosyası bulunmaktadır:

-------------------------------------------------- -------------------------
#yorumlar '#' ile başlamalıdır
#anahtar
#start_len end_len oranı
#
start_len ile end_len arasındaki #anahtar uzunluk aralığı
#start_len 16'ya eşit veya daha büyük olmalıdır
#end_len 250'ye eşit veya daha küçük olmalıdır
#start_len, end_len'e eşit veya ondan büyük olmalıdır
#memaslap, anahtar aralığına göre anahtarlar üretecektir
#oran: toplam için bir aralık hesaplarından oluşturulan anahtarları gösterir
oluşturulan anahtarlar
#
#example1: 16~100 anahtar aralığı %80'i hesaplar
# anahtar aralığı 101~200 %10 için hesaplar
# anahtar aralığı 201~250 %10 için hesaplar
# toplam 1 olmalıdır (0.8+0.1+0.1 = 1)
#
# 16 100
# 101 200
# 201 249
#
#example2: tüm anahtarların uzunluğu 128 bayttır
#
# 128 128
anahtar
+128 128 1
#değer
#start_len end_len oranı
#
start_len ile end_len arasındaki #değer uzunluk aralığı
#start_len 1'ya eşit veya daha büyük olmalıdır
#end_len 1M'ye eşit veya daha küçük olmalıdır
#start_len, end_len'e eşit veya ondan büyük olmalıdır
#memaslap değer aralığına göre değerler üretecektir
#oran: için bir aralık hesaplarından oluşturulan değerleri gösterir
toplam üretilen değerler
#
#example1: 1~1000 değer aralığı %80 için geçerlidir
# değer aralığı 1001~10000 %10 için hesaplar
# değer aralığı 10001~100000 %10 için hesaplar
# toplam 1 olmalıdır (0.8+0.1+0.1 = 1)
#
# 1 1000
# 1001 10000
# 10001 100000
#
#example2: tüm değer uzunlukları 128 bayttır
#
# 128 128
değer
+2048 2048 1
#cmd
#cmd_type cmd_orantısı
#
#şu anda memaslap yalnızca get ve set komutunu test eder.
#
#cmd_type
#0 ayarla
#al 1
#
#example: komut hesaplarını %50 olarak ayarlayın
# %50 için komut hesaplarını al
# toplam 1 olmalıdır (0.5+0.5 = 1)
#
# komut
# 0 0.5
# 1 0.5
cmd
0 0.1
1.0 0.9

FORMAT OF ÇIKTI


Başlangıçta, memaslap aşağıdaki gibi bazı yapılandırma bilgilerini görüntüler:

sunucular: 127.0.0.1:11211

iplik sayısı: 1

eşzamanlılık: 16

çalışma süresi: 20s

pencere boyutu: 10k

orantıyı ayarla: set_prop=0.10

orantı al: get_prop=0.90

Nerede
sunucular: "sunucular"
Memaslap tarafından kullanılan sunucular.

iş parçacığı sayısı
Memaslap'ın çalıştığı iş parçacığı sayısı.

eşzamanlılık
Memaslap'ın çalıştığı eşzamanlılık sayısı.

koşma zamanı
Memaslap ne kadar süre çalıştırılır.

pencere boyutu
Her eşzamanlılığın görev penceresi boyutu.

orantı ayarla
Set komutunun oranı.

orantı almak
Get komutunun oranı.

Dinamik istatistiklerin çıktısı şuna benzer:

-------------------------------------------------- -------------------------------------------------- -----------------------------
İstatistikleri Al
Tip Zaman(lar) Operasyon TPS(ops/s) Net(M/s) Get_miss Min(us) Maks(us)
Ort(us) Std_dev Geo_dist
Dönem 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
Küresel 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

İstatistikleri Ayarla
Tip Zaman(lar) Operasyon TPS(ops/s) Net(M/s) Get_miss Min(us) Maks(us)
Ort(us) Std_dev Geo_dist
Dönem 5 38425 7685 7.3 0 42 628 240
88.05 220.21
Küresel 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

Toplam İstatistik
Tip Zaman(lar) Operasyon TPS(ops/s) Net(M/s) Get_miss Min(us) Maks(us)
Ort(us) Std_dev Geo_dist
Dönem 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
Küresel 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

Nerede
İstatistikleri Al
get komutunun istatistik bilgileri

İstatistikleri Ayarla
set komutunun istatistik bilgileri

Toplam İstatistik
Hem get hem de set komutunun istatistik bilgileri

Periyot
Bir süre içinde sonuç

Küresel
birikmiş sonuçlar

Ops
Toplam işlemler

TPS
Verim, işlemler/saniye


ağ oranı

Get_miss
Kaç nesne elde edilemez

min
Asgari yanıt süresi

maksimum
Maksimum yanıt süresi

Ort:
Ortalama yanıt süresi

std_dev
Tepki süresinin standart sapması

Geo_dist
Doğal üstel fonksiyona dayalı geometrik dağılım

Sonunda, memaslap şöyle bir çıktı verecektir:

-------------------------------------------------- -------------------------------------------------- -----------------------------
İstatistikleri Al (1257956 olay)
Min: 26
Maks: 3791
Ort: 224
Coğrafi: 192.60
Standart: 116.23
Log2 Dağı:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12: 31

İstatistikleri Ayarla (139782 olay)
Min: 37
Maks: 3790
Ort: 253
Coğrafi: 224.84
Standart: 116.83
Log2 Dağı:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12: 5

Toplam İstatistik (1397738 olay)
Min: 26
Maks: 3791
Ort: 227
Coğrafi: 195.60
Standart: 116.60
Log2 Dağı:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12: 36

cmd_get: 1257969
cmd_set: 139785
get_miss: 0
doğrulama_miss: 0
doğrulama_başarısız: 0
süresi dolmuş_get: 0
süresi dolmamış_unget: 0
write_bytes: 242516030
okuma_baytı: 1003702556
nesne_bayt: 152086080
paket_düzensizliği: 0
paket_drop: 0
udp_zaman aşımı: 0

Çalışma süresi: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
-------------------------------------------------- -------------------------------------------------- -----------------------------

Nerede
İstatistikleri Al
Tepki süresinin istatistiklerini alın

İstatistikleri Ayarla
Yanıt süresinin istatistiklerini ayarlayın

Toplam İstatistik
Hem yanıt süresi istatistiklerini alır hem de ayarlar

min
Birikmiş ve minimum yanıt süresi

maksimum
Birikmiş ve maksimum yanıt süresi

Ort
Birikmiş ve ortalama yanıt süresi

Std
Tepki süresinin standart sapması

Log2 Dağı
Logaritma 2'ye dayalı geometrik dağılım

cmd_get
Toplam komutlar tamamlandı

cmd_set
Toplam set komutları tamamlandı

get_miss
Sunucudan kaç nesne alınamaz

doğrulama_miss
Kaç nesnenin doğrulanması gerekiyor, ancak bunları alamıyor

doğrulama_başarısız
Israrcı değeri olan kaç nesne

süresi dolmuş_get
Kaç nesnenin süresi doldu ama biz onları alıyoruz

süresi dolmamış_unget
Kaç nesnenin süresi dolmadı ama onları alamıyoruz

write_bytes
Toplam yazılı bayt

okuma_baytları
Toplam okuma baytı

nesne_bayt
Toplam nesne baytı

paket dizgesi
Kaç UDP paketi düzensizdir

paket_drop
Kaç UDP paketi kayboldu

udp_timeout
UDP zaman aşımının kaç kez gerçekleştiği

Çalışma süresi
Toplam çalışma süresi

Ops
Toplam işlemler

TPS
Verim, işlemler/saniye

Net oran
Ortalama ağ hızı

SEÇENEKLER


-Evet, --sunucular=
Bağlanacak bir veya daha fazla sunucuyu listeleyin. Sunucu sayısı, iş parçacığı sayısından az olmalıdır.
örneğin: --servers=localhost:1234,localhost:11211

-T, --konular=
Başlatılacak iş parçacığı sayısı, CPU numaralarına daha iyi eşittir. Varsayılan 8.

-C, --eşzamanlılık=
Yükle simüle edilecek eşzamanlılık sayısı. Varsayılan 128.

-N, --conn_sock=
Eşzamanlılık başına TCP çorap sayısı. Varsayılan 1.

-X, --execute_number=
Verilen test için yürütülecek işlem (al ve ayarla) sayısı. Varsayılan 1000000.

-T, --zaman=
Testin ne kadar süreyle çalıştırılacağı, sonek: s-saniye, m-dakika, sa-saat, d-gün ör.
--zaman=2sa.

-F, --cfg_cmd=
Komut, anahtar ve değer dağıtım listesini almak için yapılandırma dosyasını yükleyin.

-w, --win_size=
Her eşzamanlılığın görev penceresi boyutu, sonek: K, M örn.: --win_size=10k. Varsayılan
10k.

-X, --fixed_size=
Sabit değer uzunluğu.

-içinde, --doğrulamak=
Tarih doğrulama oranı, örneğin: --verify=0.01

-NS, --bölüm=
Bir kez çoklu almak için anahtar sayısı. Varsayılan 1, tek alma anlamına gelir.

S, --stat_freq=
İstatistik bilgilerini boşaltma sıklığı. son ek: s-saniye, m-dakika, örneğin:
--resp_freq=10sn.

, -e --exp_verify=
Süresi dolan nesnelerin oranı, örneğin: --exp_verify=0.01. Varsayılan hayır
süresi dolan nesne

-Ö, --üzerine yaz=
Nesnelerin oranının üzerine yazılması gerekir, örneğin: --overwrite=0.01. Varsayılan hiçbir zaman
nesnenin üzerine yaz.

-R, --yeniden bağlan
Yeniden bağlanma testleri, bağlantı kapatıldığında yeniden bağlanacaktır.

-U, --udp
UDP testleri, varsayılan memaslap TCP kullanır, TCP bağlantı noktası ve sunucunun UDP bağlantı noktası aynı olmalıdır.

-a, --Facebook
Facebook test özelliğini etkinleştirip etkinleştirmediğini, TCP ile ayarlayın ve UDP ile çoklu alın.

-B, --ikili
İkili protokolü etkinleştirip etkinleştirmediği. ASCII protokolü ile varsayılan.

-P, --tps=
Beklenen aktarım hızı, son ek: K, örneğin: --tps=10k.

-P, --rep_write=
İlk n. sunucular veri yazabilir, örneğin: --rep_write=2.

-b, --ayrıntılı
Doğrulama başarısız olduğunda ayrıntılı bilgi verip vermediği.

-h, --yardım et
Bu mesajı görüntüleyin ve ardından çıkın.

-V, --versiyon
Uygulamanın sürümünü görüntüleyin ve ardından çıkın.

ÖRNEKLER


memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F yapılandırma -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F yapılandırma -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F yapılandırma -t 2m -p 2

ANA SAYFA


Daha fazla bilgi edinmek için lütfen kontrol edin: http://libmemcached.org/

YAZARLAR


Mingqiang Zhuang[e-posta korumalı]> (Schooner Teknolojisi) Brian Aker, <‐
[e-posta korumalı]>

onworks.net hizmetlerini kullanarak memcaslap'ı çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    yudum
    yudum
    SWIG bir yazılım geliştirme aracıdır
    C ile yazılmış programları birbirine bağlayan ve
    Çeşitli yüksek seviyeli C++
    Programlama dilleri. SWIG ile birlikte kullanılır
    farklı...
    SWIG'i indirin
  • 2
    WooCommerce Nextjs Tepki Tepkisi
    WooCommerce Nextjs Tepki Tepkisi
    İle oluşturulmuş React WooCommerce teması
    Sonraki JS, Webpack, Babel, Node ve
    GraphQL ve Apollo kullanarak Express
    Müşteri. React'te WooCommerce Mağazası(
    içerir: Ürünler...
    WooCommerce Nextjs React Temasını İndirin
  • 3
    arşiv_repo
    arşiv_repo
    ArchLabs için paket deposu Bu bir
    ayrıca alınabilen uygulama
    itibaren
    https://sourceforge.net/projects/archlabs-repo/.
    OnWorks'te barındırılan...
    archlabs_repo'yu indirin
  • 4
    Zephyr Projesi
    Zephyr Projesi
    Zephyr Projesi yeni nesildir
    gerçek zamanlı işletim sistemi (RTOS)
    birden fazla donanımı destekler
    mimariler. Bir
    az yer kaplayan çekirdek...
    Zephyr Projesini İndirin
  • 5
    SCon'lar
    SCon'lar
    SCons bir yazılım oluşturma aracıdır
    bu daha üstün bir alternatif
    klasik "Yap" oluşturma aracı
    hepimiz biliyoruz ve seviyoruz. SCons (şimdiki değeri)
    uygulanmış...
    SCons'u İndirin
  • 6
    PSeInt
    PSeInt
    PSeInt, aşağıdakiler için bir sözde kod yorumlayıcısıdır.
    ispanyolca konuşan programlama öğrencileri.
    Temel amacı, bir araç olmaktır.
    temel bilgileri öğrenmek ve anlamak
    konsept...
    PSeInt'i indirin
  • Daha fazla »

Linux komutları

Ad