Your SlideShare is downloading. ×
0
TsungMulti-protocol distributed load-testing toolTuesday, 18 June, 13
Features• Distributed, light-weight (i.e., 512 byte memory footprint for an erlang process)• Multi-protocol• HTTP (+ WebSo...
Distributed Testing<clients><client host="louxor" weight="1" maxusers="800"><ip value="10.9.195.12"></ip><ip value="10.9.1...
Synchronized OSMonitoring• Monitoring “geronimo” with munin• Monitoring “f14-2” with erlang monitoring<monitoring><monitor...
Synchronized OSMonitoringTuesday, 18 June, 13
Simple XML Structure• A “session”: A collection of transactions• A “transaction”: A “page load”, or a “click”• If you know...
HTTP Proxy Recording1. Start the tsung proxy recorder2. Configure your browser / network for anHTTP proxy3. Enact a user se...
Running a Tsung Test• Put together your Tsung XML file• Distribute your user sessions usingprobability attributes• Specify ...
Analyze the results• Use the tsung_stats.pl script to generatestatic website• Or other scripts provided (e.g., python-base...
DynamicVariables1. Specify a file server in Tsung options (CSV)<option name="file_server" id="users" value="data/users.csv" ...
Additional MaterialsManualhttp://tsung.erlang-projects.org/user_manual.htmlIRCirc.freenode.net #tsungMailing Listhttps://l...
Upcoming SlideShare
Loading in...5
×

Tsung info

1,645

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,645
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Tsung info"

  1. 1. TsungMulti-protocol distributed load-testing toolTuesday, 18 June, 13
  2. 2. Features• Distributed, light-weight (i.e., 512 byte memory footprint for an erlang process)• Multi-protocol• HTTP (+ WebSockets), WebDAV, SOAP, PostgreSQL, MySQL, LDAP,XMPP/Jabber• “Simple” XML user session description, proxy-based web sessionrecording• Synchronized OS monitoring• SNMP, Munin or Erlang agents• Dynamic variables, set from configuration or response bodies (XPath,JSON)• Randomized user think-times and arrival rate• HTML reports, including server response and synchronized monitoringresultsTuesday, 18 June, 13
  3. 3. Distributed Testing<clients><client host="louxor" weight="1" maxusers="800"><ip value="10.9.195.12"></ip><ip value="10.9.195.13"></ip></client><client host="memphis" weight="3" maxusers="600" cpu="2"/></clients><servers><server host="10.9.195.1" port="8080" type="tcp"></server></servers>• 2 clients in cluster• Client #1 has 2 virtual IPs•Testing load distributed assymetricallyto clientsTuesday, 18 June, 13
  4. 4. Synchronized OSMonitoring• Monitoring “geronimo” with munin• Monitoring “f14-2” with erlang monitoring<monitoring><monitor host="geronimo" type="munin"/><monitor host="f14-2" type="erlang"></monitor></monitoring>Tuesday, 18 June, 13
  5. 5. Synchronized OSMonitoringTuesday, 18 June, 13
  6. 6. Simple XML Structure• A “session”: A collection of transactions• A “transaction”: A “page load”, or a “click”• If you know HTTP and XML, you can read aTsung user session<session name="general_interest_term_anon" probability="14" type="ts_http"><transaction name="tx_general_search_load"><request><http url="/api/me" method="GET" version="1.1"></http></request><request><http url="/api/search/general/all" method="GET" version="1.1"></http></request></transaction></session>Tuesday, 18 June, 13
  7. 7. HTTP Proxy Recording1. Start the tsung proxy recorder2. Configure your browser / network for anHTTP proxy3. Enact a user sessionDemoTuesday, 18 June, 13
  8. 8. Running a Tsung Test• Put together your Tsung XML file• Distribute your user sessions usingprobability attributes• Specify your arrival rate, hosname, user-agentsDemoTuesday, 18 June, 13
  9. 9. Analyze the results• Use the tsung_stats.pl script to generatestatic website• Or other scripts provided (e.g., python-based comparison tool)DemoTuesday, 18 June, 13
  10. 10. DynamicVariables1. Specify a file server in Tsung options (CSV)<option name="file_server" id="users" value="data/users.csv" />2. Set variable values in user session<setdynvars sourcetype="file" fileid="users" delimiter="," order="random"><var name="users_id" /><var name="users_username" /><var name="users_password" /></setdynvars>3. Use variable syntax to use variable in session<http url="/api/auth/login" method="POST" version="1.1"contents="username=%%_users_username%%&amp;password=%%_users_password%%"><http_header name="Referer" value="/" /></http>Tuesday, 18 June, 13
  11. 11. Additional MaterialsManualhttp://tsung.erlang-projects.org/user_manual.htmlIRCirc.freenode.net #tsungMailing Listhttps://lists.process-one.net/mailman/listinfo/tsung-usersTuesday, 18 June, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×