InglesPransesEspanyol

Ad


OnWorks favicon

memcaslap - Online sa Cloud

Patakbuhin ang memcaslap sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command memcaslap na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


memaslap - libmemcached Documentation

SINOPSIS


memaslap [mga opsyon]

- Tumulong

MEMCACHED_SERVERS

DESCRIPTION


memaslap ay isang load generation at benchmark na tool para sa memcached server. Ito ay bumubuo
na-configure na workload gaya ng mga thread, concurrencies, koneksyon, run time, overwrite,
miss rate, laki ng key, laki ng halaga, makakuha/magtakda ng proporsyon, inaasahang throughput, at iba pa.
Higit pa rito, sinusubok din nito ang pag-verify ng data, pag-expire ng oras ng pag-verify, UDP, binary
protocol, facebook test, replication test, multi-get at reconnection, atbp.

Ang Memaslap ay namamahala sa mga koneksyon sa network tulad ng memcached na may libevent. Bawat thread ng memaslap
ay nakatali sa isang CPU core, ang lahat ng mga thread ay hindi nakikipag-usap sa isa't isa, at mayroon
ilang socket na koneksyon sa bawat thread. Ang bawat koneksyon ay nagpapanatili ng pamamahagi ng laki ng susi,
pamamahagi ng laki ng halaga, at mismong pamamahagi ng command.

Maaari mong tukuyin ang mga server sa pamamagitan ng memslap --mga server opsyon o sa pamamagitan ng variable ng kapaligiran
MEMCACHED_SERVERS.

TAMPOK


Ang Memslap ay binuo para sa mga sumusunod na layunin:

Pinamamahalaan ang mga koneksyon sa network gamit ang libevent nang asynchronous.

Itakda ang parehong TCP at UDP para gumamit ng hindi naka-block na IO.

Pinapabuti ang parallelism: mas mataas na pagganap sa mga multi-thread na kapaligiran.

Nagpapabuti ng kahusayan sa oras: mas mabilis na bilis ng pagproseso.

Bumubuo ng susi at halaga nang mas mahusay; pamamahagi ng laki ng susi at laki ng halaga
ang pamamahagi ay maaaring i-configure.

Sinusuportahan ang get, multi-get, at set command; Ang pamamahagi ng command ay maaaring i-configure.

Sinusuportahan ang nakokontrol na miss rate at overwrite rate.

Sinusuportahan ang data at expire-time na pag-verify.

Sinusuportahan ang paglalaglag ng impormasyon ng istatistika sa pana-panahon.

Sinusuportahan ang libu-libong mga koneksyon sa TCP.

Sinusuportahan ang binary protocol.

Sinusuportahan ang pagsubok sa facebook (nakatakda sa TCP at multi-get sa UDP) at pagsubok ng pagtitiklop.

MGA DETALYE


Mabisa pagsasakatuparan of network.
Para sa memaslap, parehong TCP at UDP ay gumagamit ng hindi naka-block na network IO. Ang lahat ng mga kaganapan sa network ay
pinamamahalaan ng libevent bilang memcached. Ang network module ng memaslap ay katulad ng memcached.
Masisiguro ng Libevent na ang memaslap ay kayang pangasiwaan ang network nang napakahusay.

Mabisa pagsasakatuparan of multi-threads at pagkakasundo
Ang Memslap ay may katulad na pagpapatupad ng mga multi-thread sa memcached. Gumagawa ng isa ang Memslap
o higit pang mga sinulid na pinamamahalaan sa sarili; ang bawat thread ay nakatali sa isang CPU core kung ang system ay sumusubok
pagtatakda ng CPU core affinity.

Bilang karagdagan, ang bawat thread ay may libevent upang pamahalaan ang mga kaganapan ng network; bawat thread
ay may isa o higit pang self-governed concurrencies; at bawat concurrency ay may isa o higit pang socket
mga koneksyon. Ang lahat ng mga concurrency ay hindi nakikipag-usap sa isa't isa kahit na sila
sa parehong thread.

Ang Memslap ay maaaring lumikha ng libu-libong mga koneksyon sa socket, at ang bawat kasabay ay may sampu
mga koneksyon sa socket. Ang bawat concurrency ay random o sunud-sunod na pumipili ng isang socket
koneksyon mula sa socket connection pool nito upang tumakbo, kaya memaslap ay maaaring matiyak ang bawat concurrency
humahawak ng isang socket na koneksyon sa anumang naibigay na oras. Maaaring tukuyin ng mga user ang bilang ng
concurrency at socket connections ng bawat concurrency ayon sa kanilang inaasahan
workload.

Mabisa pagsasakatuparan of generating susi at halaga
Upang mapabuti ang kahusayan sa oras at kahusayan sa espasyo, lumilikha ng random ang memaslap
talahanayan ng mga character na may 10M character. Ang lahat ng mga suffix ng mga susi at mga halaga ay nabuo
mula sa talahanayan ng mga random na character na ito.

Ginagamit ng Memslap ang offset sa talahanayan ng character at ang haba ng string upang matukoy ang a
string. Makakatipid ito ng maraming memorya. Ang bawat susi ay naglalaman ng dalawang bahagi, isang prefix at isang suffix. Ang
Ang prefix ay isang uint64_t, 8 bytes. Para ma-verify ang set ng data dati, kailangan ng memaslap
tiyaking natatangi ang bawat key, kaya ginagamit nito ang prefix upang matukoy ang isang susi. Ang prefix ay hindi
isama ang mga ilegal na character, gaya ng 'r', 'n', '0' at ' '. At may algorithm ang memaslap
para masigurado yan.

Ang Memslap ay hindi bumubuo ng lahat ng mga bagay (mga pares ng key-value) sa simula. Ito lamang
bumubuo ng sapat na mga bagay upang punan ang window ng gawain (default na 10K mga bagay) ng bawat isa
pagkakasabay. Ang bawat bagay ay may sumusunod na pangunahing impormasyon, key prefix, key suffix
offset sa character table, haba ng key, value offset sa character table, at value
haba.

Sa proseso ng trabaho, ang bawat concurrency ay sunud-sunod o random na pumipili ng isang bagay mula sa
window para gawin ang set operation o makakuha ng operation. Kasabay nito ang pagsipa ng bawat kasabay
mga bagay sa labas ng bintana nito at nagdaragdag ng bagong bagay dito.

Simple pero kapaki-pakinabang gawain scheduling
Gumagamit ang Memslap ng libevent para iiskedyul ang lahat ng concurrency ng mga thread, at bawat concurrency
nag-iskedyul ng mga gawain batay sa lokal na window ng gawain. Ipinapalagay ng Memslap na kung ang bawat kasabay
pinapanatili ang parehong key distribution, value distribution at command distribution, mula sa
sa labas, pinapanatili ng memaslap ang lahat ng pamamahagi sa kabuuan. Ang bawat window ng gawain ay may kasamang marami
ng mga bagay, iniimbak ng bawat bagay ang pangunahing impormasyon nito, tulad ng susi, halaga, oras ng pag-expire, at
iba pa. Sa anumang oras, ang lahat ng mga bagay sa window ay nagpapanatili ng pareho at nakapirming key at halaga
pamamahagi. Kung ang isang bagay ay na-overwrite, ang halaga ng bagay ay maa-update.
Bine-verify ng Memslap ang data o expire-time ayon sa impormasyon ng bagay na nakaimbak sa
window ng gawain.

Pinipili ng Libevent kung aling concurrency ang hahawakan batay sa isang partikular na kaganapan sa network. Pagkatapos ay ang
Pinipili ng concurrency kung aling command (kunin o itakda) ang gagana batay sa command
pamamahagi. Kung kailangan nitong sipain ang isang lumang bagay at magdagdag ng bagong bagay, upang mapanatili
ang parehong susi at pamamahagi ng halaga, ang bagong bagay ay dapat na may parehong haba ng key at
haba ng halaga.

Kung ang memcached server ay may dalawang layer ng cache (memorya at SSD), nagpapatakbo ng memaslap na may magkaibang
ang mga laki ng window ay maaaring makakuha ng iba't ibang cache miss rate. Kung ang memaslap ay nagdaragdag ng sapat na mga bagay sa
windows sa simula, at hindi maiimbak ng cache ng memcached ang lahat ng mga bagay
nasimulan, pagkatapos ang memaslap ay makakakuha ng ilang mga bagay mula sa pangalawang layer ng cache. Nagdudulot ito
ang unang cache layer na hindi nakuha. Kaya maaaring tukuyin ng user ang laki ng window para makuha ang inaasahan
miss rate ng unang layer ng cache.

kapaki-pakinabang pagsasakatuparan of multi-server , UDP, TCP, multi-get at doble protokol
Dahil ang bawat thread ay self-governed, ang memaslap ay maaaring magtalaga ng iba't ibang mga thread na hahawakan
iba't ibang memcached server. Isa lang ito sa mga paraan kung saan sumusubok ng marami ang memaslap
mga server. Ang tanging limitasyon ay ang bilang ng mga server ay hindi maaaring mas malaki kaysa sa
bilang ng mga thread. Ang iba pang paraan upang subukan ang maramihang mga server ay para sa pagsubok ng pagtitiklop. Bawat isa
Ang concurrency ay may isang socket na koneksyon sa bawat memcached server. Para sa pagpapatupad,
Ang memaslap ay maaaring magtakda ng ilang mga bagay sa isang memcached server, at makuha ang mga bagay na ito mula sa
iba pang mga server.

Bilang default, single get ang Memslap. Kung tinukoy ng user ang opsyong multi-get, gagawin ang memaslap
mangolekta ng sapat na kumuha ng mga utos at i-pack at ipadala ang mga utos nang magkasama.

Sinusuri ng Memslap ang parehong ASCII protocol at binary protocol, ngunit ito ay tumatakbo sa ASCII
protocol bilang default. Ang Memslap bilang default ay tumatakbo sa TCP protocol, ngunit sinusubok din nito ang UDP.
Dahil hindi mapagkakatiwalaan ang UDP, maaaring mangyari ang mga nalaglag na package at out-of-order na mga pakete. Memslap
lumilikha ng memory buffer upang mahawakan ang mga problemang ito. Sinusubukang basahin ng Memslap ang lahat ng tugon
data ng isang utos mula sa server at muling inaayos ang data ng tugon. Kung makuha ang ilang pakete
nawala, masisiguro ng mekanismo ng paghihintay ng timeout na ang mga kalahating lutong na pakete ay itatapon at
ang susunod na utos ay ipapadala.

PAGGAMIT


Nasa ibaba ang ilang halimbawa ng paggamit:

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 config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

Dapat tumukoy ang user ng isang server man lang para magpatakbo ng memaslap. Ang natitirang mga parameter ay mayroon
mga default na halaga, tulad ng ipinapakita sa ibaba:

Numero ng thread = 1 Concurrency = 16

Oras ng pagtakbo = 600 segundo Configuration file = NULL

Laki ng susi = 64 Laki ng halaga = 1024

Kunin/itakda = 9:1 Laki ng window = 10k

Ipatupad ang numero = 0 Single get = true

Multi-get = false Bilang ng mga socket ng bawat concurrency = 1

Muling kumonekta = maling Pag-verify ng data = mali

Expire-time na pag-verify = false ASCII protocol = true

Binary protocol = false Dumping statistic information

pana-panahon = mali

I-overwrite ang proporsyon = 0% UDP = false

TCP = true Limit throughput = false

Pagsusulit sa Facebook = maling Pagsusulit ng pagtitiklop = mali

Key laki, halaga laki at utos pamamahagi.
Ang lahat ng mga distribusyon ay binabasa mula sa configuration file na tinukoy ng user na may
"—cfg_cmd" na opsyon. Kung hindi tumukoy ang user ng configuration file, tatakbo ang memaslap
gamit ang default na pamamahagi (laki ng key = 64, laki ng halaga = 1024, get/set = 9:1). Para sa
impormasyon kung paano i-edit ang configuration file, sumangguni sa "Configuration File"
seksyon.

Ang pinakamababang laki ng key ay 16 bytes; ang maximum na laki ng key ay 250 bytes. Ang katumpakan ng
ang proporsyon ay 0.001. Ang proporsyon ng pamamahagi ay bilugan sa 3 decimal na lugar.

Ang pinakamababang laki ng halaga ay 1 byte; ang maximum na laki ng halaga ay 1M bytes. Ang katumpakan ng
ang proporsyon ay 0.001. Ang proporsyon ng pamamahagi ay bilugan sa 3 decimal na lugar.
Sa kasalukuyan, memaslap lang ang mga testss set at kumuha ng mga command. At ito ay sumusubok ng 100% set at 100% makakuha.
Para sa 100% get, ipi-preset nito ang ilang bagay sa server.

Multi-threaded at pagkakasundo
Ang mataas na pagganap ng memaslap ay nakikinabang mula sa espesyal na iskedyul ng thread at
pagkakasabay. Mahalagang tukuyin ang wastong bilang ng mga ito. Ang default na numero ng
ang mga thread ay 1; ang default na bilang ng concurrency ay 16. Maaaring gumamit ang user ng “—threads” at
"--concurrency" upang tukuyin ang mga variable na ito.

Kung sinusuri ng system ang pagtatakda ng affinity ng CPU at ang bilang ng mga thread na tinukoy ng user
ay higit sa 1, susubukan ng memaslap na itali ang bawat thread sa ibang CPU core. Kaya kung
gusto mong makuha ang pinakamahusay na pagganap memaslap, ito ay mas mahusay na upang tukuyin ang bilang ng
thread na katumbas ng bilang ng mga core ng CPU. Ang bilang ng mga thread na tinukoy ng user ay maaari
ay mas kaunti o mas malaki kaysa sa bilang ng mga core ng CPU. Dahil sa limitasyon ng
pagpapatupad, ang bilang ng mga concurrencies ay maaaring ang maramihan ng bilang ng
mga thread.

1. Para sa 8 CPU cores system

Halimbawa:

--threads=2 --concurrency=128

--threads=8 --concurrency=128

--threads=8 --concurrency=256

--threads=12 --concurrency=144

2. Para sa 16 CPU cores system

Halimbawa:

--threads=8 --concurrency=128

--threads=16 --concurrency=256

--threads=16 --concurrency=512

--threads=24 --concurrency=288

Ang memaslap ay gumaganap nang napakahusay, kapag ginamit upang subukan ang pagganap ng mga memcached server.
Kadalasan, ang bottleneck ay ang network o ang server. Kung sa ilang kadahilanan ang gumagamit
gustong limitahan ang pagganap ng memaslap, may dalawang paraan para gawin ito:

Bawasan ang bilang ng mga thread at concurrencies. Gamitin ang opsyong “--tps” na memaslap
nagbibigay upang limitahan ang throughput. Ang pagpipiliang ito ay nagpapahintulot sa gumagamit na makuha ang inaasahan
throughput. Halimbawa, ipagpalagay na ang maximum na throughput ay 50 kops/s para sa isang partikular
configuration, maaari mong tukuyin ang throughput na katumbas o mas mababa sa maximum throughput
gamit ang "--tps" na opsyon.

Bintana laki
Kadalasan, hindi kailangang tukuyin ng user ang laki ng window. Ang default na window
ang laki ay 10k. Para sa Schooner Memcached, maaaring tukuyin ng user ang iba't ibang laki ng window na makukuha
iba't ibang cache miss rate batay sa test case. Memslap testss cache miss rate sa pagitan
0% at 100%. Kung gagamitin mo ang utility na ito upang subukan ang pagganap ng Schooner Memcached, ikaw
maaaring tumukoy ng wastong laki ng window para makuha ang inaasahang cache miss rate. Ang formula para sa
ang pagkalkula ng laki ng window ay ang mga sumusunod:

Ipagpalagay na ang laki ng susi ay 128 bytes, at ang laki ng halaga ay 2048 bytes, at
concurrency=128.

1. Maliit na cache cache_size=1M, 100% cache miss (lahat ng data ay nakukuha mula sa SSD). win_size=10k

2. cache_size=4G

(1). cache miss rate 0%

win_size=8k

(2). cache miss rate 5%

win_size=11k

3. cache_size=16G

(1). cache miss rate 0%

win_size=32k

(2). cache miss

rate 5%

win_size=46k

Ang formula para sa pagkalkula ng laki ng window para sa cache miss rate 0%:

cache_size / concurrency / (key_size + value_size) * 0.5

Ang formula para sa pagkalkula ng laki ng window para sa cache miss rate 5%:

cache_size / concurrency / (key_size + value_size) * 0.7

Pagpapatunay
Sinusuri ng Memslap ang parehong pag-verify ng data at pag-expire ng oras ng pag-verify. Maaaring gamitin ng gumagamit
"--verify=" o "-v" para tukuyin ang proporsyon ng pag-verify ng data. Sa teorya, ito ay sumusubok
100% pag-verify ng data. Maaaring gamitin ng user ang "--exp_verify=" o "-e" upang tukuyin ang proporsyon
ng expire-time na pag-verify. Sa teorya, sinusubok nito ang 100% expire-time na pag-verify. Tukuyin
ang "--verbose" na mga opsyon upang makakuha ng mas detalyadong impormasyon ng error.

Halimbawa: --exp_verify=0.01 –verify=0.1 , nangangahulugan ito na 1% ng mga bagay na nakatakda sa
expire-time, 10% ng mga bagay na nakuha ay mabe-verify. Kung ang mga bagay ay nakuha,
Ibe-verify ng memaslap ang expire-time at value.

multi-server at multi-config
Sinusuri ng Memslap ang mga multi-server batay sa self-governed thread. May limitasyon yan
ang bilang ng mga server ay hindi maaaring mas malaki kaysa sa bilang ng mga thread. Ang Memslap ay nagtatalaga ng isa
thread upang mahawakan ang isang server ng hindi bababa sa. Maaaring gamitin ng user ang "--servers=" o "-s" na opsyon upang
tukuyin ang mga multi-server.

Halimbawa:

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

Ang utos sa itaas ay nangangahulugan na mayroong 6 na mga thread, na ang bawat thread ay may 6 na concurrencies
at ang mga thread na 0 at 3 ay humahawak sa server 0 (10.1.1.1); pinangangasiwaan ng mga thread 1 at 4 ang server 1
(10.1.1.2); at ang thread 2 at 5 ay humahawak sa server 2 (10.1.1.3).

Ang lahat ng mga thread at concurrencies sa memaslap ay self-governed.

Ganoon din ang memaslap. Maaaring magsimula ang user ng ilang pagkakataong memaslap. Ang gumagamit ay maaaring tumakbo
memaslap sa iba't ibang client machine para makipag-usap sa parehong memcached server sa
pareho. Inirerekomenda na magsimula ang user ng iba't ibang memaslap sa iba't ibang machine na ginagamit
ang parehong configuration.

Tumakbo sa isakatuparan numero paraan or oras paraan
Ang default na memaslap ay tumatakbo sa time mode. Ang default na oras ng pagtakbo ay 10 minuto. Kung minsan
out, lalabas ang memaslap. Huwag tukuyin ang parehong execute number mode at time mode nang sabay
oras; tukuyin lamang ang isa sa halip.

Halimbawa:

--time=30s (Nangangahulugan ito na tatakbo ang pagsubok nang 30 segundo.)

--execute_number=100000 (Nangangahulugan ito na pagkatapos magpatakbo ng 100000 command, lalabas ang pagsubok.)

Tambakan ng basura estatistiko impormasyon pana-panahon
Maaaring gamitin ng user ang "--stat_freq=" o "-S" upang tukuyin ang dalas.

Halimbawa:

--stat_freq=20s

Itatapon ng Memslap ang mga istatistika ng mga utos (kumuha at itakda) sa dalas ng bawat isa
20 segundo.

Para sa karagdagang impormasyon sa format ng paglalaglag ng impormasyon sa istatistika, sumangguni sa “Format ng
Output" na seksyon.

Multi-get
Maaaring gamitin ng user ang "--division=" o "-d" para tukuyin ang bilang ng mga multi-get key. Memslap ni
default ang single get sa TCP. Sinusubukan din ng Memslap ang pag-verify ng data at oras ng pag-expire
pagpapatunay para sa multi-get.

Ang Memslap testss multi-get sa parehong TCP at UDP. Dahil sa iba't ibang pagpapatupad ng
ang ASCII protocol at binary protocol, mayroong ilang mga pagkakaiba sa pagitan ng dalawa. Para sa
ang ASCII protocol, ang memaslap ay nagpapadala ng isang "multi-get" sa server nang isang beses. Para sa binary
protocol, ang memaslap ay nagpapadala ng ilang solong get command na magkasama bilang "multi-get" sa
server.

UDP at TCP
Sinusuri ng Memslap ang parehong UDP at TCP. Para sa TCP, hindi ikinokonekta muli ng memaslap ang memcached server
kung ang mga koneksyon sa socket ay nawala. Kung ang lahat ng socket na koneksyon ay nawala o memcached server
nag-crash, lalabas ang memaslap. Kung tinukoy ng user ang opsyong "--reconnect" kapag socket
ang mga koneksyon ay nawala, ito ay muling magkokonekta sa kanila.

Maaaring gamitin ng user ang “--udp” para paganahin ang feature na UDP, ngunit may ilang limitasyon ang UDP:

Ang UDP ay hindi makakapagtakda ng data na higit sa 1400 byte.

Ang UDP ay hindi sinusubok ng binary protocol dahil ginagawa ng binary protocol ng memcached
hindi pagsubok yan.

Hindi sinusubok ng UDP ang muling pagkonekta.

Facebook pagsusulit
Magtakda ng data gamit ang TCP at multi-get gamit ang UDP. Tukuyin ang mga sumusunod na opsyon:

"--facebook --division=50"

Kung gusto mong lumikha ng libu-libong mga koneksyon sa TCP, tukuyin ang

"--conn_sock=" opsyon.

Halimbawa: --facebook --division=50 --conn_sock=200

Ang utos sa itaas ay nangangahulugan na ang memaslap ay gagawa ng pagsusuri sa facebook, bawat kasabay ay mayroong 200
socket TCP na koneksyon at isang UDP socket.

Ang Memslap ay nagtatakda ng mga bagay gamit ang TCP socket, at multi-gets ng 50 object nang isang beses gamit ang UDP
saksakan.

Kung tinukoy mo ang "--division=50", ang laki ng key ay dapat na mas mababa sa 25 bytes dahil ang UDP
ang laki ng packet ay 1400 bytes.

Pagtitiklop pagsusulit
Para sa pagsubok ng pagtitiklop, dapat na tukuyin ng user ang hindi bababa sa dalawang memcached server. Ang gumagamit ay maaaring
gamitin ang "—rep_write=" na opsyon para paganahin ang feature.

Halimbawa:

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

Ang utos sa itaas ay nangangahulugan na mayroong 2 replication memcached server, magse-set ang memaslap
mga bagay sa parehong server 0 at server 1, kumuha ng mga bagay na nakatakda sa server 0 bago mula sa
server 1, at kumuha din ng mga bagay na nakatakda sa server 1 bago mula sa server 0. Kung server 0
nag-crash, ang memaslap ay makakakuha lamang ng mga bagay mula sa server 1. Kung ang server 0 ay babalik sa buhay
muli, ikokonekta muli ng memaslap ang server 0. Kung nag-crash ang parehong server 0 at server 1, memaslap
lalabas.

Sinusuportahan ang libo of TCP koneksyon
Simulan ang memaslap gamit ang "--conn_sock=" o "-n" para paganahin ang feature na ito. Siguraduhin na ang iyong
maaaring subukan ng system ang pagbubukas ng libu-libong mga file at paglikha ng libu-libong mga socket. gayunpaman,
ang tampok na ito ay hindi sumusubok sa muling pagkonekta kung ang mga socket ay madidiskonekta.

Halimbawa:

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

Ang utos sa itaas ay nangangahulugan na ang memaslap ay nagsisimula ng 8 mga thread, bawat thread ay may 16
concurrency, ang bawat concurrency ay may 128 TCP socket connections, at ang kabuuang bilang ng
Ang mga koneksyon sa TCP socket ay 128 * 128 = 16384.

Sinusuportahan ang doble protokol
Simulan ang memaslap gamit ang "--binary" o "-B" na mga opsyon para paganahin ang feature na ito. Sinusubukan nito ang lahat
mga feature sa itaas maliban sa UDP, dahil ang pinakabagong memcached 1.3.3 ay hindi nagpapatupad ng binary
UDP protocol.

Halimbawa:

--binary

Dahil ang memcached 1.3.3 ay hindi nagpapatupad ng binary UDP protocol, hindi sinusubok ng memaslap ang UDP.
Bilang karagdagan, ang memcached 1.3.3 ay hindi sumusubok ng multi-get. Kung tinukoy mo ang "--division=50"
opsyon, nagpapadala lamang ito ng 50 get commands na magkasama bilang "mulit-get" sa server.

Configuration FILE


Inilalarawan ng seksyong ito ang format ng configuration file. Bilang default kapag hindi
configuration file ay tinukoy memaslap binabasa ang default na matatagpuan sa ~/.memaslap.cnf.

Nasa ibaba ang isang sample na configuration file:

-------------------------------------------------- -------------------------
Dapat magsimula sa '#' ang #comments
#susi
#start_len end_len proporsyon
#
#key length range mula start_len hanggang end_len
Ang #start_len ay dapat na katumbas ng o higit sa 16
Ang #end_len ay dapat na katumbas ng o mas mababa sa 250
Ang #start_len ay dapat na katumbas o mas malaki kaysa sa end_len
Ang #memaslap ay bubuo ng mga key ayon sa hanay ng key
#proportion: nagsasaad ng mga key na nabuo mula sa isang saklaw na account para sa kabuuan
nabuong mga susi
#
#example1: key range 16~100 account para sa 80%
# key range 101~200 account para sa 10%
# key range 201~250 account para sa 10%
Dapat na 1 ang # kabuuan (0.8+0.1+0.1 = 1)
#
# 16 100 0.8
# 101 200 0.1
# 201 249 0.1
#
#example2: ang haba ng lahat ng key ay 128 bytes
#
# 128 128 1
susi
+128 128 1
#halaga
#start_len end_len proporsyon
#
#value length range mula start_len hanggang end_len
Ang #start_len ay dapat na katumbas ng o higit sa 1
Ang #end_len ay dapat na katumbas ng o mas mababa sa 1M
Ang #start_len ay dapat na katumbas o mas malaki kaysa sa end_len
Ang #memaslap ay bubuo ng mga halaga ayon sa hanay ng halaga
#proportion: nagsasaad ng mga value na nabuo mula sa isang hanay na account para sa
kabuuang nabuong mga halaga
#
#example1: ang hanay ng halaga 1~1000 account para sa 80%
# value range 1001~10000 account para sa 10%
# value range 10001~100000 account para sa 10%
Dapat na 1 ang # kabuuan (0.8+0.1+0.1 = 1)
#
# 1 1000 0.8
# 1001 10000 0.1
# 10001 100000 0.1
#
#example2: lahat ng haba ng value ay 128 bytes
#
# 128 128 1
halaga
+2048 2048 1
#cmd
#cmd_type cmd_proportion
#
#kasalukuyang memaslap lang ang mga pagsubok makuha at itakda ang utos.
#
#cmd_type
#set 0
#kumuha ng 1
#
#example: magtakda ng mga command account para sa 50%
# makakuha ng mga command account para sa 50%
# kabuuan ay dapat na 1 (0.5+0.5 = 1)
#
# cmd
# 0
# 1
cmd
0 0.1
1.0 0.9

FORMAT OF oUTPUT


Sa simula, ipinapakita ng memaslap ang ilang impormasyon sa pagsasaayos tulad ng sumusunod:

mga server : 127.0.0.1:11211

bilang ng mga thread: 1

pagkakatugma: 16

oras ng pagtakbo: 20s

laki ng mga bintana: 10k

itakda ang proporsyon: set_prop=0.10

makakuha ng proporsyon: get_prop=0.90

Saan
mga server : "mga server"
Ang mga server na ginagamit ng memaslap.

bilang ng mga thread
Ang bilang ng mga thread na tumatakbo sa memaslap.

pagkakasundo
Ang bilang ng mga concurrencies memaslap ay tumatakbo sa.

takbo ng oras
Gaano katagal tumakbo memaslap.

laki ng mga bintana
Ang laki ng task window ng bawat concurrency.

itakda ang proporsyon
Ang proporsyon ng set command.

makakuha ng proporsyon
Ang proporsyon ng get command.

Ang output ng mga dynamic na istatistika ay katulad nito:

-------------------------------------------------- -------------------------------------------------- -----------------------------
Kumuha ng Mga Istatistika
Uri ng Oras (mga) Ops TPS(ops/s) Net(M/s) Get_miss Min(amin) Max(us)
Avg(us) Std_dev Geo_dist
Panahon 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
Pandaigdig 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

Itakda ang Istatistika
Uri ng Oras (mga) Ops TPS(ops/s) Net(M/s) Get_miss Min(amin) Max(us)
Avg(us) Std_dev Geo_dist
Panahon 5 38425 7685 7.3 0 42 628 240
88.05 220.21
Pandaigdig 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

Kabuuang Istatistika
Uri ng Oras (mga) Ops TPS(ops/s) Net(M/s) Get_miss Min(amin) Max(us)
Avg(us) Std_dev Geo_dist
Panahon 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
Pandaigdig 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

Saan
Kumuha ng Mga Istatistika
Impormasyon sa istatistika ng get command

Itakda ang Istatistika
Impormasyon ng istatistika ng set command

Kabuuang Istatistika
Impormasyon sa istatistika ng parehong get at set command

Panahon
Resulta sa loob ng isang panahon

Global
Mga naipon na resulta

Ops
Kabuuang operasyon

TPS
Throughput, mga operasyon/segundo

lambat
Ang rate ng network

Get_miss
Ilang bagay ang hindi makukuha

Min
Ang pinakamababang oras ng pagtugon

Max
Ang maximum na oras ng pagtugon

Avg:
Ang average na oras ng pagtugon

Std_dev
Standard deviation ng oras ng pagtugon

Geo_dist
Geometric distribution batay sa natural exponential function

Sa dulo, ang memaslap ay maglalabas ng ganito:

-------------------------------------------------- -------------------------------------------------- -----------------------------
Kumuha ng Mga Istatistika (1257956 na kaganapan)
Pinakamababa: 26
Max: 3791
Avg: 224
Geo: 192.60
Std: 116.23
Log2 Dist:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12: 31

Itakda ang Mga Istatistika (139782 kaganapan)
Pinakamababa: 37
Max: 3790
Avg: 253
Geo: 224.84
Std: 116.83
Log2 Dist:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12: 5

Kabuuang Istatistika (1397738 kaganapan)
Pinakamababa: 26
Max: 3791
Avg: 227
Geo: 195.60
Std: 116.60
Log2 Dist:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12: 36

cmd_get: 1257969
cmd_set: 139785
get_misses: 0
verify_misses: 0
verify_failed: 0
expired_get: 0
unexpired_unget: 0
written_bytes: 242516030
read_bytes: 1003702556
object_bytes: 152086080
packet_disorder: 0
packet_drop: 0
udp_timeout: 0

Tagal ng pagtakbo: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
-------------------------------------------------- -------------------------------------------------- -----------------------------

Saan
Kumuha ng Mga Istatistika
Kumuha ng mga istatistika ng oras ng pagtugon

Itakda ang Istatistika
Itakda ang mga istatistika ng oras ng pagtugon

Kabuuang Istatistika
Parehong nakakakuha at nagtatakda ng mga istatistika ng oras ng pagtugon

Min
Ang naipon at pinakamababang oras ng pagtugon

Max
Ang naipon at maximum na oras ng pagtugon

Avg
Ang naipon at average na oras ng pagtugon

Std
Standard deviation ng oras ng pagtugon

Log2 Dist
Geometric distribution batay sa logarithm 2

cmd_get
Kabuuang matapos ang mga utos

cmd_set
Kabuuang hanay ng mga utos na tapos na

get_miss
Gaano karaming mga bagay ang hindi makukuha mula sa server

verify_misses
Ilang object ang kailangang i-verify ngunit hindi makuha ang mga ito

verify_failed
Ilang bagay na may mapilit na halaga

expired_get
Ilang bagay ang nag-expire ngunit nakukuha namin ang mga ito

unexpired_unget
Ilang bagay ang hindi pa nag-expire ngunit hindi namin makuha ang mga ito

written_bytes
Kabuuang nakasulat na mga byte

read_bytes
Kabuuang read byte

object_bytes
Kabuuang object byte

packet_disorder
Gaano karaming mga pakete ng UDP ang hindi maayos

packet_drop
Ilang UDP package ang nawala

udp_timeout
Ilang beses nangyari ang UDP time out

Takbo ng oras
Kabuuang oras ng pagtakbo

Ops
Kabuuang operasyon

TPS
Throughput, mga operasyon/segundo

Net_rate
Ang average na rate ng network

Opsyon


-oo, --servers=
Maglista ng isa o higit pang mga server upang kumonekta. Ang bilang ng mga server ay dapat na mas mababa kaysa sa bilang ng mga thread.
hal: --servers=localhost:1234,localhost:11211

-T, --mga thread=
Bilang ng mga thread na magsisimula, mas mahusay na katumbas ng mga numero ng CPU. Default 8.

-c, --concurrency=
Bilang ng concurrency upang gayahin sa load. Default 128.

-n, --conn_sock=
Bilang ng mga medyas ng TCP bawat kasabay. Default 1.

-x, --execute_number=
Bilang ng mga operasyon (kunin at itakda) na isasagawa para sa ibinigay na pagsubok. Default na 1000000.

-t, --oras=
Gaano katagal tatakbo ang pagsubok, suffix: s-segundo, m-minuto, h-oras, d-araw hal:
--oras=2h.

-F, --cfg_cmd=
I-load ang configure file para makakuha ng command, key at value distribution list.

-w, --win_size=
Laki ng task window ng bawat concurrency, suffix: K, M hal: --win_size=10k. Default
10k

-X, --fixed_size=
Nakapirming haba ng halaga.

-sa, --verify=
Ang proporsyon ng pag-verify ng petsa, hal: --verify=0.01

-d, --dibisyon=
Bilang ng mga susi upang i-multi-get nang isang beses. Default 1, ibig sabihin ay single get.

-S, --stat_freq=
Dalas ng paglalaglag ng impormasyon sa istatistika. suffix: s-segundo, m-minuto, hal:
--resp_freq=10s.

-e, --exp_verify=
Ang proporsyon ng mga bagay na may oras ng pag-expire, hal: --exp_verify=0.01. Default no
bagay na may expire na oras

-o, --overwrite=
Ang proporsyon ng mga bagay ay nangangailangan ng overwrite, hal: --overwrite=0.01. Default hindi kailanman
patungan ang bagay.

-R, --muling kumonekta
Ikonekta muli ang mga pagsubok, kapag ang koneksyon ay sarado ito ay muling ikokonekta.

-U, --udp
Ang mga pagsubok sa UDP, ang default na memaslap ay gumagamit ng TCP, TCP port at UDP port ng server ay dapat na pareho.

-a, --facebook
Kung pinapagana nito ang tampok na pagsubok sa facebook, itinakda sa TCP at multi-get gamit ang UDP.

-B, --binary
Kung pinapagana nito ang binary protocol. Default sa ASCII protocol.

-P, --tps=
Inaasahang throughput, suffix: K, hal: --tps=10k.

-p, --rep_write=
Ang unang nth server ay maaaring magsulat ng data, hal: --rep_write=2.

-b, --verbose
Maglalabas man ito ng detalyadong impormasyon kapag nabigo ang pag-verify.

-h, - Tumulong
Ipakita ang mensaheng ito at pagkatapos ay lumabas.

-V, --bersyon
Ipakita ang bersyon ng application at pagkatapos ay lumabas.

HALIMBAWA


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 config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

HOME


Upang malaman ang higit pang impormasyon mangyaring suriin ang: http://libmemcached.org/

MGA AUTHORS


Mingqiang Zhuang[protektado ng email]> (Schooner Technolgy) Brian Aker, <‐
[protektado ng email]>

Gumamit ng memcaslap online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    SWIG
    SWIG
    Ang SWIG ay isang software development tool
    na nag-uugnay sa mga programang nakasulat sa C at
    C++ na may iba't ibang mataas na antas
    mga programming language. Ang SWIG ay ginagamit kasama ng
    iba...
    I-download ang SWIG
  • 2
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Susunod na JS, Webpack, Babel, Node, at
    Express, gamit ang GraphQL at Apollo
    Kliyente. Tindahan ng WooCommerce sa React(
    naglalaman ng: Mga produkto...
    I-download ang WooCommerce Nextjs React Theme
  • 3
    archlabs_repo
    archlabs_repo
    Package repo para sa ArchLabs Ito ay isang
    application na maaari ding makuha
    mula
    https://sourceforge.net/projects/archlabs-repo/.
    Ito ay na-host sa OnWorks sa...
    I-download ang archlabs_repo
  • 4
    Zephyr Project
    Zephyr Project
    Ang Zephyr Project ay isang bagong henerasyon
    real-time na operating system (RTOS) na
    sumusuporta sa maramihang hardware
    mga arkitektura. Ito ay batay sa a
    maliit na footprint kernel...
    I-download ang Zephyr Project
  • 5
    SCons
    SCons
    Ang SCons ay isang tool sa pagbuo ng software
    iyon ay isang superior alternatibo sa
    classic na "Make" build tool na
    alam at mahal nating lahat. Ang SCons ay
    nagpatupad ng...
    I-download ang SCons
  • 6
    PSeInt
    PSeInt
    Ang PSeInt ay isang pseudo-code interpreter para sa
    mga mag-aaral sa programming na nagsasalita ng Espanyol.
    Ang pangunahing layunin nito ay maging kasangkapan para sa
    pag-aaral at pag-unawa sa basic
    konsepto...
    I-download ang PSeInt
  • Marami pa »

Linux command

Ad