Kirjoittaja Aihe: http palvelin : Palvelimen rasittaminen, kuinka parasta toteuttaa ?  (Luettu 2776 kertaa)

HannuTapio

  • Käyttäjä
  • Viestejä: 1264
  • OpenJDK + JavaScript testailuu ja säätelyy.
    • Profiili
    • Hannun netti internet sotaisa aihe lautapelejä.
http palvelin!

Minulla on tämä Ranskalainen http palvelin asennettuna, kysymys on nyt kun se sitten on toiminnassa, niin, kuinka olisi parhain testata palvelimen toimintaa rasitettuna ?

En tunne Linuxin skripti kieliä lainkaan, ja myöskin Apachen toiminta on minulle tuntematonta, ajattelin kuitenkin seuraavaa, muutaman kaverin kanssa ajetaan lyhyt skripti joka lähtee lataamaan tiettyjä tiedostoja palvelimelta, ideana on se että näkisin sitten kuinka paljon serveri CPU ja RAM tehoja vie jos palvelimelta pyytää tuon palvelimen maksimin 512 latausta kerrallaansa.

Minulla olisi siis tarve lyhyelle skriptille jolla voisi ladata palvelimelta tiedostoja, ihmetystä herättää nyt se että kun sitten omalta koneelta laitan vaikka 128 haku pyyntöä ja jätän lataamaan ja kaverit sitten myös omilta koneiltaansa saman verran, niin, kuinka Apache käsittelee tämän että sama IP pyytää monta kertaa, onkos tämän kaltainen siirtely helpompaa Apachelle kuin jos eri IP t pyytäisivät tiedostoja ?

Onko mahdollista saada realistinen testi tulos näin, vai onkos tälläistä testi tilannetta varten olemassa jotain hienoja Linux ohjelmiakin ?

Osaisiko joku kertoa minulle jonkin lyhyen .sh skriptin jolla voisin asettaa lataukseen vaikka 32 x tiedosto1.jar ja 32 x tiedosto2.jar ja 32 x tiedosto3.jar ja 32 x tiedosto4.jar ja lataukset sitten samanaikaisena.

Sitten vain etätyöpöydällä seuraamaan CPU ja RAM rasitteita palvelimessani ?

Tietenkin jos lähestymis tapani testaukseen on ihan vääränlainen, niin, kiitosta vaan jos neuvotta oikeammalla vaihtoehdolla.
« Viimeksi muokattu: 17.11.10 - klo:20.30 kirjoittanut JariTapio »
Suomalainen Linux netti lautapelejä indie .. ( Gimp, Inkscape, Netbeans, Audacity ) ..
Blogi - [ https://lautapelimestari.com ]
Pelisivut - [ https://lautapelisivusto.com | https://hannunsankarit.com | https://lautapelikenraalit.com ]
--

mrl586

  • Käyttäjä
  • Viestejä: 4638
    • Profiili
Sitten vain etätyöpöydällä seuraamaan CPU ja RAM rasitteita palvelimessani ?

Tietenkin jos lähestymis tapani testaukseen on ihan vääränlainen, niin, kiitosta vaan jos neuvotta oikeammalla vaihtoehdolla.
Ei mitään etätyöpöytää, vaan ssh-yhteys palvelimelle ja komentorivi.

Tha-Fox

  • Käyttäjä
  • Viestejä: 3315
  • Arch Linux && CentOS
    • Profiili
    • http://kettu.dy.fi
Sitten vain etätyöpöydällä seuraamaan CPU ja RAM rasitteita palvelimessani ?

Tietenkin jos lähestymis tapani testaukseen on ihan vääränlainen, niin, kiitosta vaan jos neuvotta oikeammalla vaihtoehdolla.
Ei mitään etätyöpöytää, vaan ssh-yhteys palvelimelle ja komentorivi.

Ja komentorivillä top-komento rasituksen seuraamiseen.

HannuTapio

  • Käyttäjä
  • Viestejä: 1264
  • OpenJDK + JavaScript testailuu ja säätelyy.
    • Profiili
    • Hannun netti internet sotaisa aihe lautapelejä.
Scripti helppiä !

Tässä olisi suurin piirtein se mitä tarvitsen, mutta palauttaa konsolista virheilmoituksen ->

run.sh
Koodia: [Valitse]
for (  j = 0 ;  j <  4;  j++  )
for (  i = 0 ;  i < 32;  i++  )
{
wget http://xxx.xxx.xxx.xxx/AsiakasOhjelma.jar
}

Kuinka tuo tulisi kasata toimivaksi ?
Myöskin jos tuo wget kin taitaa olla blockkaava eli jotenkin niin että kaikki 128 lähtisi samaa aikaan lataamaan ?
« Viimeksi muokattu: 18.11.10 - klo:04.09 kirjoittanut JariTapio »
Suomalainen Linux netti lautapelejä indie .. ( Gimp, Inkscape, Netbeans, Audacity ) ..
Blogi - [ https://lautapelimestari.com ]
Pelisivut - [ https://lautapelisivusto.com | https://hannunsankarit.com | https://lautapelikenraalit.com ]
--

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
apt-cache show siege
...
Description: HTTP regression testing and benchmarking utility
 Siege is an regression test and benchmark utility. It can stress test a single
 URL with a user defined number of simulated users, or it can read many URLs
 into memory and stress them simultaneously. The program reports the total
 number of hits recorded, bytes transferred, response time, concurrency, and
 return status. Siege supports HTTP/1.0 and 1.1 protocols, the GET and POST
 directives, cookies, transaction logging, and basic authentication. Its
 features are configurable on a per user basis.

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Tuota olen joskus käyttänyt:

http://www.acme.com/software/http_load/

Eli tuolla voi testata mm. kuinka moneen pyyntöön palvelin kykenee vastaamaan tietyssä ajassa jne.
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Jos nuo jar-paketit on valmiiksi leivottuja, en usko niiden lataamisesta syntyvän kovin kummoista cpu-kuormaa. Suurimpi kuorma tulee ehkä graafisen käyttöliittymän käyttämisestä etäyhteyden yli, kuten mrl586 taisi vihjailla.

Komennon saa siirrettyä tausta-ajoon käyttämällä komennon lopussa &-merkkiä. Antamaasi mallia mukaillen:
Koodia: [Valitse]
#!/bin/bash
for j in {1..4}
do
  for i in {1..32}
  do
    wget http://xxx.xxx.xxx.xxx/AsiakasOhjelma.jar &
  done
done
Huomaa välilyönti ennen &-merkkiä.

Tuo käynnistää siis taustalle 128 yhtäaikaista jar-paketin latausta. Huomaa että ne jakavat paitsi palvelimen myös sinun verkkoyhteyden. Jos palvelimella on 100M liittymä ja sinulla 10M, palvelimella näkyy vain 10M liikennettä.

Voi myös olla että tarvitset toisen koneen sitä etätyöpöytäyhteyttä varten. ;D

HannuTapio

  • Käyttäjä
  • Viestejä: 1264
  • OpenJDK + JavaScript testailuu ja säätelyy.
    • Profiili
    • Hannun netti internet sotaisa aihe lautapelejä.
http rasitus !

Käytin tuota siege ohjelmaa ja se olikin ihan riittävä tarpeeseen, nyt sitten vaan rakentelemaan serveri ja asiakas ohjelmat.

Minä käynnistin kotikoneesta 128 pyyntöä ja serveri koneesta 300 pyyntöä, CPU rasitus nousi oikeastaan vasta kun käynnistin nuo serveri koneen pyynnöt RAM rasitus ei missään vaiheessa, mutta, 512 paketin siirtely ei ole ongelma palvelimessani, minulla on nyt testin jälkeen asetettuna 51200 kilobittiä http siirtelyyn loput 100 megabitin linjasta jää sitten UDP paketeille.

----

Tuosta etätyöpöydästä niin minulla on NXClient etätyöpöytä käytössäni ja vaikka liikuttelen hiirtä ruudulla ja ruudulla vilisee päivitettävää tavaraa, niin pää sääntöisenä siirto rasitus ohjelmassa on 2 kiloa ja sitten hetkelliset piikit kun ikkunoita avautuu, mutta, ei tämä nykypäivän etätyöpöytä ainakaan minun käytössäni ole raskas ollut, tosin myös testaamani KRDC VNC oli aika raskas, mutta tämä NXClient on tosi kevyt, 2 kiloa kun hiiri liikkuu ja vaikka lisänä pientä graafista liikettä ruudussa ja sitten siis nämä hetkelliset piikit kun ikkunaa avautuu.
« Viimeksi muokattu: 18.11.10 - klo:13.21 kirjoittanut JariTapio »
Suomalainen Linux netti lautapelejä indie .. ( Gimp, Inkscape, Netbeans, Audacity ) ..
Blogi - [ https://lautapelimestari.com ]
Pelisivut - [ https://lautapelisivusto.com | https://hannunsankarit.com | https://lautapelikenraalit.com ]
--