Domanda

Quindi, mi piacerebbe acquisire più esperienza lavorando con siti Web ad alto traffico, ma sfortunatamente Internet non riesce a sfondare le porte del mio blog.

Come posso simulare decine/centinaia di visite al secondo sul mio blog e testarne le prestazioni?Sto ospitando il mio blog con un account SSH su un server condiviso.

È stato utile?

Soluzione

Puoi inviare molte richieste al tuo server, utilizzando strumenti come:


Il primo, AB, ti permetterà solo di inviare molte richieste a un singolo URL - il che è ottimo da confrontare un singolo script / pagina; Ma non riflette il modello reale di un utente che naviga nel tuo sito Web (CSS/JS/Immagini non vengono caricati, per esempio).

Il secondo, Assedio, ti consentirà di inviare richieste a un elenco di URL, specificati in un file di testo - costruendo correttamente quell'elenco di URL (C'è un proxy per questo) Ti darà alcuni test non male.

E il terzo, Jmeter, ti permetterà di creare scenari più complessi.
Quello è più complesso e avrai bisogno di un po 'di tempo per usarlo, ma probabilmente è ciò che ti darà i migliori risultati.

Altri suggerimenti

Strumenti di benchmark HTTP(S), test/debug e restAPI (RESTful)

Situato in ordine alfabetico (non preferire)

Strumenti di benchmark HTTP(S).

  • ab – lento e a thread singolo, scritto in C
  • apib – la maggior parte delle funzionalità di ApacheBench (ab), concepito anche come a sostituzione più moderna, scritto in C
  • baloo – Test espressivi dell'API HTTP end-to-end semplificati, scritti in Go (golang)
  • bastone – Test di carico HTTP, scritto in Go (golang)
  • bombardiere – Strumento di benchmarking HTTP multipiattaforma veloce, scritto in Go (golang)
  • caricatore di riccioli – caricamento delle prestazioni di vari servizi applicativi e generazione di traffico, scritti in C
  • fasthttploader – benchmark (tipo ab) con autoregolazione e grafici basati sulla libreria fasthttp, scrivi in ​​Go (golang)
  • forte – caricare la libreria di test, lo strumento da riga di comando e l'interfaccia utente web.Permette di specificare un carico impostato di query al secondo e registrare istogrammi di latenza e altre statistiche utili, scrivere in Go (golang)
  • gatling – Framework di test di carico ad alte prestazioni basato su Scala, Akka e Netty, scrivi Scala
  • vai a lavorare – uno strumento di benchmarking HTTP basato nello spirito sull'eccellente strumento wrk (wg/wrk), scrivere in Vai (golang)
  • pungolo – Goad è uno strumento di test di carico altamente distribuito, basato su AWS Lambda, scritto in Go (golang)
  • gobench – Strumento di test di carico e benchmarking HTTP/HTTPS, scrivi in ​​Go (golang)
  • vaihttpbenchabstrumento di benchmark simile eseguito su CPU multi-core, scrivi in ​​Go (golang)
  • EHI – Generatore di carico HTTP(S), ApacheBench (ab) sostitutivo, precedentemente noto come rakyll/boom, scritto in Go (golang)
  • htstress – servizi di bechmarking multithreading ad alto carico (>5K rps), scritti in C/Linux
  • httperf – configurazione difficile, lenta e a thread singolo, scritta in C
  • inondatore – Un programma HTTP Flood semplice e ad alto rendimento, scritto in C/Linux
  • jmetro – Apache JMeter™, pura applicazione progettata per caricare prestazioni di test sia su risorse statiche che dinamiche, scritta in Java
  • locusta – Strumento di test del carico distribuito e facile da usare con interfaccia utente Web in tempo reale.Simula uno sciame di utenti simultanei, il comportamento di ciascuno di essi è definito dal tuo codice Python.Scritto in Python
  • mgun – Uno strumento moderno per testare il carico dei server HTTP, scritto in Go (golang)
  • balzare – evento, ma i risultati fluttuano, a volte è più veloce di htstress, scritto in C
  • assedio – lento e a thread singolo, scritto in C
  • schiaffeggiatore – Semplice strumento di test del carico con istogramma aggiornato in tempo reale dei tempi delle richieste, scritto in Go (golang)
  • slow_cooker – Un tester di carico incentrato su problemi del ciclo di vita e test di lunga durata, servizio con un carico prevedibile e livello di concorrenza per un lungo periodo di tempo, scritto in Go (golang)
  • cecchino – tester di carico http potente e ad alte prestazioni, scritto in Go (golang)
  • Tsung – Simulare utenti stressati per testare la scalabilità e le prestazioni delle applicazioni client/server basate su IP HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP E Jabber/XMPP server, scritto in Erlang
  • vegeta – Strumento e libreria per il test del carico HTTP, scritto in Go (golang)
  • pesotp – multithread, ma più lento di htstress senza keepalive, scritto in C
  • lavoro – multithread~~, ma non offre connessioni simultanee e uno switch keepalive~~, scritto in C/Lua
  • lavoro2 – throughput costante, variante di registrazione della latenza corretta di wrk, scritta in C/Lua

    Concurrent connections are enabled with:
      -c, --connections <N>  Connections to keep open
    And keepalive (which is default) can be disabled using:
      -H "Connection: close"
    
  • serbatoio yandex – Strumento di benchmark del carico e delle prestazioni, scritto in Python/C|C++|Asm (fantasma)

Toolkit per test/debug di HTTP(S) e restAPI (RESTful)

  • pipistrello – Go implementa la CLI, uno strumento simile a cURL per gli umani, scritto in Go (golang)
  • arricciare – Potenti funzionalità dello strumento da riga di comando per il trasferimento dei dati specificati con la sintassi URL, scritti in C
  • curlconverter – convertire i comandi curl in python, javascript, php
  • httpie – client, sostituzione curl intuitiva con interfaccia utente intuitiva, supporto JSON, evidenziazione della sintassi, download simili a wget, estensioni, scritto in Python
  • jq – è un processore JSON da riga di comando leggero e flessibile, scritto in C

SaaS/PaaS

  • BlazeMeter – offre un framework di automazione dei test interaziendale per l'intero team tecnico (sviluppatori, devops, operatori e QA) durante l'intero ciclo di vita dello sviluppo del prodotto.Esegui test continui o "su richiesta" per API, app mobili e siti Web.Esegui dal cloud, on-premise o come soluzione ibrida.Utilizzalo con JMeter e Selenium WebDriver e integra con i tuoi strumenti CI, CD e APM esistenti.
  • NuovaReliquia – suite di strumenti di analisi del software utilizzata da sviluppatori, operatori operativi e società di software per comprendere le prestazioni delle applicazioni in fase di sviluppo e produzione
  • NGINX Amplifica – Identificare visivamente colli di bottiglia nelle prestazioni, server sovraccarichi o potenziali attacchi DDoS.Migliora e ottimizza le prestazioni di NGINX con consigli e raccomandazioni intelligenti.Ricevi avvisi quando qualcosa non va nella consegna della tua domanda.Pianifica capacità e prestazioni per le applicazioni web.Tieni traccia dei sistemi che eseguono NGINX 1

Collegamenti

FONTE: https://github.com/denji/awesome-http-benchmark

A parte gli strumenti ovvi come AB, potresti voler dare un'occhiata a qualcosa di simile Tsung - Un generatore di test di carico basato su Erlang. Una bella funzionalità è la capacità di eseguire test di carico distribuiti (ovvero dividere la generazione di traffico su un numero di macchine).

Uso jmeter per il test di caricamento le mie applicazioni Web. Potrebbe fare quello che stai cercando.

http://jmeter.apache.org/

Panchina Apache è facile e diretto. Ci sono Molti tutorial.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top