Overview

tämä kirjoitus luo joukon asiakirjoja ja indeksoi niin paljon kuin se voi Elasticsearch. Samalla se tulostaa näytölle mittareita, joiden avulla voit seurata, miten klusterisi pärjää.

Kuinka käyttää

  • Tallenna tämä skripti
  • varmista, että sinulla on Python 2.7+
  • pip install elasticsearch

miten se toimii

skripti luo dokumenttimalleja syötteesi perusteella. Say-5 eri asiakirjoja.Asiakirjat luodaan ilman kenttiä, jotta niillä olisi sama kartoitus indeksoitaessa ES: ään.Sen jälkeen skripti ottaa 10 satunnaista dokumenttia pois mallipoolista (redraws) ja populoi ne satunnaisella datalla.

kun meillä on eri dokumenttien pooli, valitsemme hakemiston poolista, valitsemme dokumentit * irtokoko poolista ja indeksoimme ne.

dokumenttien generointi käsitellään ennen ajoa, joten se ei ylikuormita palvelinta liikaa vertailujakson aikana.

pakolliset parametrit

parametri kuvaus
--es_address Elasticsearch Clusterin osoite (ei protokollaa ja porttia). Voit toimittaa mutiple klustereita täällä, mutta vain yksi solmu kussakin klusterissa (mieluiten asiakassolmu)
--indices kirjoitettavien indeksien lukumäärä
--documents niiden malliasiakirjojen lukumäärä, joilla on sama yhdistettävyys
--clients niiden säikeiden lukumäärä, jotka lähettävät bulk-moduuleja ES: lle
--seconds kuinka kauan testin pitäisi kestää. Huomautus: se voi kestää hieman kauemmin, koska lähettäminen kaikki Bulkit, joiden luominen on aloitettu on sallittua

valinnaiset parametrit

parametri kuvaus oletus
--number-of-shards kuinka monta sirpaletta per indeksi 3
--number-of-replicas kuinka monta kopiota per indeksi 1
--bulk-size kuinka monta asiakirjaa kunkin irtotavarapyynnön tulisi sisältää 1000
--max-fields-per-document mikä on suurin niiden kenttien lukumäärä, jotka kussakin asiakirjapohjassa tulisi olla 100
--max-size-per-field kun lomakkeita populoidaan, mikä on kunkin kentän enimmäispituus 1000
--no-cleanup Boolean field. Älä poista indeksejä valmistumisen jälkeen False
--stats-frequency kuinka usein tilastot näytetään 30
--not-green skripti ei odota klusterin olevan vihreä epätosi
--no-verify ei Todenna SSL-varmenteita vääriä
--ca-file varmennetiedoston polku
--username HTTP-todennus käyttäjätunnus
--password HTTP-todennus Salasana

esimerkkejä

suorita testi 2 Elasticsearch clustersille, joissa kussakin on 4 indeksiä, 5 satunnaista dokumenttia, älä odota klusterin olevan vihreä, avaa 5 erilaista kirjoitusketjua ja suorita skripti 120 sekuntia

python elasticsearch-stress-test.py --es_address 1.2.3.4 1.2.3.5 --indices 4 --documents 5 --seconds 120 --not-green --clients 5

suorita testi es-klusterissa 1.2.3.4, jossa on 10 indeksiä, 10 satunnaista asiakirjaa, joissa on enintään 10 kenttää kussakin, kunkin asiakirjan kentän koko voi olla jopa 50 merkkiä, jokaisella indeksillä on 1 sirpale eikä kopioita, testi suoritetaan 1 asiakkaasta (säiettä) 300 sekunnin ajan, tulostaa tilastoja 15 sekunnin välein, indeksoi 5000 asiakirjan Bulkit ja jättää kaiken Elasticsearch testin jälkeen

 python elasticsearch-stress-test.py --es_address 1.2.3.4 --indices 10 --documents 10 --clients 1 --seconds 300 --number-of-shards 1 --number-of-replicas 0 --bulk-size 5000 --max-fields-per-document 10 --max-size-per-field 50 --no-cleanup --stats-frequency 15

suorita testi SSL: llä

 python elasticsearch-stress-test.py --es_address https://1.2.3.4 --indices 5 --documents 5 --clients 1 --ca-file /path/ca.pem

suorita testi SSL: llä ilman varmenteen vahvistamista

 python elasticsearch-stress-test.py --es_address https://1.2.3.4 --indices 5 --documents 5 --clients 1 --no-verify

suorita testi HTTP-varmennuksella

 python elasticsearch-stress-test.py --es_address 1.2.3.4 --indices 5 --documents 5 --clients 1 --username elastic --password changeme

panos

olet enemmän kuin tervetullut!Avaa PR tai kysymyksiä täällä.

Vastaa

Sähköpostiosoitettasi ei julkaista.