ITX8080

Allikas: Lambda
Redaktsioon seisuga 1. september 2011, kell 22:22 kasutajalt Anttix (arutelu | kaastöö) (→Scenario 1)
Mine navigeerimisribale Mine otsikasti

General Information

Schedule

Lecture TH 17:45 - 21:15 (odd weeks)

Practice TH 17:45 - 21:15 (even weeks)

Communication

Discussinons will be held at course forum in Moodle. Link and details will appear here as soon as the e-course is created by administrators. Please register your account today at http://moodle.e-ope.ee

The lecturers can be reached via the course coordinator:

antti.andreimann only-people-please eesti.ee

Grading

Best of the bunch will score points.

Points will be awareded for the:

  • Best simulation proposal
  • Best result obtained in the lab environment
  • Best lab report

In total it is possible to score three points for every two weeks.

Maximum score is 3, nobody will be awareded more.

Minimum score to pass is 1.

For those who can not score a single point, an examination proposals will received from those of you who scored 3 and voted.

Scenarios

Scenario 1

There is a Wordpress based blog.

The client is worried: How many visitors can they handle before they die.

Establish a baseline: How many page displays per second AT LEAST we can handle. Disruption of the site operation is NOT acceptable.

Minimal budget!

Assume upstream bandwidth can cope...

Be as detailed and technical as You possibly can.

Proposals

  • Install a similar system on test hardware
    • Test hardware is smaller than
  • Extrapolate from current system logs
    • Must have some load ...
    • It may NOT be linear (it usually isn't!)
  • Generate some load (without breaking it) and extrapolate from logs
  • Find existing performance graphs for wordpress ... (highly unlikely)

Simulation environment

  • Real hardware
  • Virtualization platform

Pick what is closer to the real system.

Benchmarking tools

  • httpPerf
  • pagetop
  • htop
  • AB - apache bench
  • curl / wget + custom scripts
  • JMeter
  • Grinder
  • wpscan - wordpress specific

How to separate benchmark tools from the server?

  • Use to VMs, Use CPU allocation in virtualization environment to allocate different CPUs for different VMs
  • Put VM disk images on different disks (probably an overkill)?
  • Monitor process table and make sure that test tools consume significantly less than web server processes. Lower the priority of the test tools.
  • Start monitoring load and page views. Generate some load on real system. How?

How do we define the system is dead?

Page view takes longer than 10sec.

Determining if referenced content has an effect on results

  • Make a list of all references the main page has
  • Measure the performance of all the URLs
  • Disregard the ones that load at least two magnitudes faster.

How to measure the results?

  • Measure response times and number of parallel requests using the benchmarking tool itself
  • Deduct the numbers from server logs
  • Put the system under load, test with a normal browser if the load time is reasonable.

What to document?

  • Exact configuration of the benchmarking tool (command line, scripts, config files etc. for EACH test performed)
  • The version of the benchmarking tool used
  • Virtualization platform
  • Hardware specification
  • URL of the page tested
  • Wordpress configuration
  • Wordpress content !!!
  • Wordpress version
  • Web server configuration
  • Web server version (apache, php, sql, etc)
  • The measurement results (page load times under each different test)
  • Web browser used to measure response time (type, version, operating system)
  • Operating system configuration (version, software installed, customizations etc).
  • The AUTHOR! and the DATE!

Write evertyhing down at ONCE. if using VM-s save the image.

Margus - 1pts

Lab1

  • Virtualization platform: VirtualBox
  • Point will go to the person that can produce the most dense graph showing the number of concurrent connections against the response time. Individual tests used to plot the data must be repeated at least 3 times.
  • Latest wordpress with default home page
  • Ubuntu Server 10.04 LTS 32bit
  • Web server: Apache2, SQL: MySQL (default versions bundled with OS)