servload generating representative workloads for web
play

servload: Generating Representative Workloads for Web Server - PowerPoint PPT Presentation

servload: Generating Representative Workloads for Web Server Benchmarking Jrg Zinke, Jan Habenschu and Bettina Schnor Potsdam University Institute of Computer Science Operating Systems and Distributed Systems SPECT@SummerSim 2012 , 9. July


  1. servload: Generating Representative Workloads for Web Server Benchmarking Jörg Zinke, Jan Habenschuß and Bettina Schnor Potsdam University Institute of Computer Science Operating Systems and Distributed Systems SPECT@SummerSim 2012 , 9. July 2012

  2. Motivation Server Load Balancing Bettina Schnor (Potsdam University) servload Frame 2 of 26

  3. Motivation OpenBSD PF Development OpenBSD Packet Filter (PF) for Server Load Balancing implementation of Weighted Round Robin (WRR) and Least States (LS) part of OpenBSD 5.0 released on 01. November 2011 match in on bge0 proto tcp from any to any port 80 \ rdr-to {www1, www2, www3} least-states [PhD candidate Jörg Zinke, master student Fabian Hahn] Bettina Schnor (Potsdam University) servload Frame 3 of 26

  4. Motivation Credit Based Server Load Balancing using InfiniBand Network RDMA feature Bettina Schnor (Potsdam University) servload Frame 4 of 26

  5. Related Work Table of Contents Related Work 1 2 Features Workload Generation 3 4 Evaluation Implementation 5 6 Summary and Future Work Bettina Schnor (Potsdam University) servload Frame 5 of 26

  6. Related Work Related Work Existing benchmarks: httperf : has support for loading requests from a session file. But: has a limit of 1000 sessions and can not replay these exactly. Problems can be solved ... just a matter of implementation and tuning effort ;-) Tsung : The drawback is that the result metrics are aggregated to an unsuited mean value from a 10 second sampled spot. Interesting metrics like the number of requests which exceeded a threshold response time are not available. SPECweb2009 : neither support for load balancing cluster nor replay ... Workload generation: Lots of theoretical work done starting in the 90s. no tools available (?) Bettina Schnor (Potsdam University) servload Frame 6 of 26

  7. Features Table of Contents Related Work 1 2 Features Workload Generation 3 4 Evaluation Implementation 5 6 Summary and Future Work Bettina Schnor (Potsdam University) servload Frame 7 of 26

  8. Features Features 1 web server benchmarking = ⇒ Replaying workloads 2 generate higher loads and determine capability limits of the web server and/or proof Service Level Agreements (SLAs) (scalability tests) = ⇒ Workload generation Real Workload A real workload is defined as a sequence of requests which was received from a real world production web server. Representative Workload A representative workload is defined as a (generated) workload which has the same characteristics like a given real workload. Bettina Schnor (Potsdam University) servload Frame 8 of 26

  9. Workload Generation Table of Contents Related Work 1 2 Features Workload Generation 3 4 Evaluation Implementation 5 6 Summary and Future Work Bettina Schnor (Potsdam University) servload Frame 9 of 26

  10. Workload Generation Workload Generation given: web server log trace idea: add representative sessions needs no knowledge about probability of successor pages or other a priori knowledge servload supports different methods: 1 multiply 2 peak 3 score: The score method identifies sessions and rates them. Bettina Schnor (Potsdam University) servload Frame 10 of 26

  11. Workload Generation Combined Log Format 127.0.0.1 - sven [22/Oct/2011:16:35:46 -0200] "GET /test.png HTTP/1.0" 200 232 "http://example.com/index.html" "Mozilla/5.0 (Windows NT 6.0;)" remote host e.g. IP address of the client RFC 1413 identity check of the client (rarely enabled) remote user (rarely enabled) timestamp when the server finished processing the request request HTTP response status size of the response in bytes referrer corresponds to the predecessor page user agent Identifying User Sessions: the following fields are considered in this prioritized order: remote user , remote host and user agent , or remote host only. Bettina Schnor (Potsdam University) servload Frame 11 of 26

  12. Workload Generation Metrics for Identifying User Behavior: number of requests in a session session length in seconds think time (in seconds) within session body sizes of requests within session Bettina Schnor (Potsdam University) servload Frame 12 of 26

  13. Workload Generation The score method identifies sessions and rates them: Each session metric is compared to the median of the same metric calculated from all sessions . The nearer the current session metric value is to the overall median the higher is the rating of the session. Higher rated sessions are added to the given trace with randomly chosen start times in the destination time frame. Bettina Schnor (Potsdam University) servload Frame 13 of 26

  14. Evaluation Table of Contents Related Work 1 2 Features Workload Generation 3 4 Evaluation Implementation 5 6 Summary and Future Work Bettina Schnor (Potsdam University) servload Frame 14 of 26

  15. Evaluation Evaluation: score method Internet Service Provider (ISP) testbed web client running servload located in Europe/Berlin a web server cluster located in South Korea 30 min web server log from ISP with 5684 sessions Problem: no dedicated network score method: added 2972 sessions Bettina Schnor (Potsdam University) servload Frame 15 of 26

  16. Evaluation Evaluation: score method ISP testbed web client running servload located in Europe/Berlin a web server cluster located in South Korea 30 min web server log from ISP with 5684 sessions Problem: no dedicated network score method: added 2972 sessions Bettina Schnor (Potsdam University) servload Frame 15 of 26

  17. Evaluation Metric Original Modified Requests 102081 153118 Sessions 5684 8656 Number of Request Median 11 13 Average 17.96 17.69 Standard deviation 21.57 18.88 Median Think-Time (s) Median 3 2.5 Average 514 321 Standard deviation 3431 2718 Length (s) Median 90 96 Average 2578 1776 Standard deviation 11536 9500 Bettina Schnor (Potsdam University) servload Frame 16 of 26

  18. Evaluation Metric Original Modified Requests 102081 153118 Sessions 5684 8656 Median Bytes Median 1275 1319 Average 2205 2009 Standard deviation 3277 2740 Standard deviation and averages always decrease as expected (outliers get bad score). Medians are comparable. Bettina Schnor (Potsdam University) servload Frame 17 of 26

  19. Evaluation Evaluation: Replay Capabilities of servload Metric Original Replay Requests 10024 10024 Sessions 118 118 Length (s) 1800 1809 Requests per second Median 5 5 Average 5.57 5.54 Standard deviation 4.37 2.62 Median Think-Time (s) Median 0 1 Average 39 39 Standard deviation 172 172 Bettina Schnor (Potsdam University) servload Frame 18 of 26

  20. Evaluation Evaluation: Replay Metric Original Replay Requests 10024 10024 Sessions 118 118 Length (s) 1800 1809 Length (s) Median 166.5 168 Average 414.85 416.86 Standard deviation 526.36 526.06 Median Bytes Minimum 287 288 Maximum 12394 12395 Median 1245 1314 Average 2024 2037 Standard deviation 1921 1893 Bettina Schnor (Potsdam University) servload Frame 19 of 26

  21. Implementation Table of Contents Related Work 1 2 Features Workload Generation 3 4 Evaluation Implementation 5 6 Summary and Future Work Bettina Schnor (Potsdam University) servload Frame 20 of 26

  22. Implementation servload Implementation Back to the central approach and efficient UNIX system calls: First approach: combination of Lua and C Experiences with a Wikipedia dump of 1 of the 10 proxy-caches of the Wikimedia Foundation, consisting of 25.6 Billions of HTTP-requests ANSI C code (tested on Linux and OpenBSD) servload binary parses given logfile, applies score method (optional) and does the replay based on poll() with a single process and no threads Bettina Schnor (Potsdam University) servload Frame 21 of 26

  23. Implementation servload Implementation Back to the central approach and efficient UNIX system calls: First approach: combination of Lua and C Experiences with a Wikipedia dump of 1 of the 10 proxy-caches of the Wikimedia Foundation, consisting of 25.6 Billions of HTTP-requests ANSI C code (tested on Linux and OpenBSD) servload binary parses given logfile, applies score method (optional) and does the replay based on poll() with a single process and no threads Bettina Schnor (Potsdam University) servload Frame 21 of 26

  24. Implementation Evaluation: Scalability of servload servload was extended to support also UDP traffic to evaluate for example DNS server (Master Thesis of Sebastian Menski) servload on a single node, Intel Xeon E5520, 2.27 GHz with 12GB RAM 3 heterogenous (AMD Opteron, Intel Pentium and Intel Xeon) Bind backend servers LVS as Load Balancer with WRR UDP Receive Queue increased to 24MB 5 minute original log generating higher workload using the multiply method with factor 400, 800 and 1600 → millions of request Bettina Schnor (Potsdam University) servload Frame 22 of 26

  25. Implementation Factor Requests Sessions avg Req/s max Req/s 1 22 594 33 75 204 400 9 037 600 13200 30125 81600 800 18 075 200 26400 60250 163200 1600 36 150 400 52800 120 501 326 400 Bettina Schnor (Potsdam University) servload Frame 23 of 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend