Hyun-Jin Choi, CORE Lab. E.E. 1 httperf – A Tool for Measuring Web Server Performance Dec. 12. 2000 Choi, Hyun-Jin David Mosberger and Tai Jin HP Research.

Slides:



Advertisements
Similar presentations
Performance Testing - Kanwalpreet Singh.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Transport Layer – TCP (Part2) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
Performance Interactions Between P-HTTP and TCP Implementations J. Heidemann ACM Computer Communication Review April 1997 김호중 CA Lab., KAIST.
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
1 Java Networking – Part I CS , Spring 2008/9.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
Programming project #4 1 CS502 Spring 2006 Programming Project #4 Web Server CS-502 Operating Systems Spring 2006.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Understanding Factors That Influence Performance of a Web Server Presentation CS535 Project By Thiru.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Using Standard Industry Benchmarks Chapter 7 CSE807.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Chapter 2 Processes and Threads Scheduling Classical Problems.
Advanced Network Architecture Research Group 2001/11/149 th International Conference on Network Protocols Scalable Socket Buffer Tuning for High-Performance.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
Firewall and Internet Access Mechanism that control (1)Internet access, (2)Handle the problem of screening a particular network or an organization from.
1 Scheduling Processes. 2 Processes Each process has state, that includes its text and data, procedure call stack, etc. This state resides in memory.
Lector: Aliyev H.U. Lecture №14: Telecommun ication network software design for data bases and servers. TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Internet Applications and Network Programming Dr. Abraham Professor UTPA.
Software Performance Testing Based on Workload Characterization Elaine Weyuker Alberto Avritzer Joe Kondek Danielle Liu AT&T Labs.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Performance of HTTP Application in Mobile Ad Hoc Networks Asifuddin Mohammad.
Chapter 12 Transmission Control Protocol (TCP)
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
Remote Access Using Citrix Presentation Server December 6, 2006 Matthew Granger IT665.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Advanced Network Architecture Research Group 2001/11/74 th Asia-Pacific Symposium on Information and Telecommunication Technologies Design and Implementation.
TCP behavior of a Busy Internet Server: Analysis and Improvements Y2K Oct.10 Joo Young Hwang Computer Engineering Research Laboratory KAIST. EECS.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
CHUL LEE, CORE Lab. E.E. 1 Web Server QoS Management by Adaptive Content Delivery September Chul Lee Tarek F. Abdelzaher and Nina Bhatti Quality.
Concurrency & Context Switching Process Control Block What's in it and why? How is it used? Who sees it? 5 State Process Model State Labels. Causes of.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
DotSlash – or how to deal with 15 minutes of fame Weibin Zhao Henning Schulzrinne Columbia University CATT/WICAT Annual Research Review November 14, 2003.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
Acknowledgement: These slides are adapted from slides provided in Thißen & Spaniol's course Distributed Systems and Middleware, RWTH Aachen Processes Distributed.
Advanced Photon Source Channel Access, CaSnooper, and CASW Kenneth Evans, Jr. Presented November 7, 2003 Argonne National Laboratory.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Providing Differentiated Levels of Service in Web Content Hosting J ussara Almeida, Mihaela Dabu, Anand Manikutty and Pei Cao First Workshop on Internet.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
Concurrent TCP servers. The basic idea 1 client = 1 task. The task is alive as long until the connection is closed The task closes the connection.
1 Network Communications A Brief Introduction. 2 Network Communications.
1 K. Salah Application Layer Module K. Salah Network layer duties.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
Computer System Structures
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Reddy Mainampati Udit Parikh Alex Kardomateas
Chapter 4: Multithreaded Programming
CS703 - Advanced Operating Systems
Concurrency: Processes CSE 333 Summer 2018
Operating Systems Structure
Presentation transcript:

Hyun-Jin Choi, CORE Lab. E.E. 1 httperf – A Tool for Measuring Web Server Performance Dec Choi, Hyun-Jin David Mosberger and Tai Jin HP Research Labs, 1998

Hyun-Jin Choi, CORE Lab. E.E. 2 Introduction httperfhttperf –cf : SPECweb or WebStone Simulate a fixed number of clients –Generates and sustains overload –Various kinds of web-server related measurements SPECweb/WebSton-like measurements Session-based measurements –Independent of shortcomings of current Oses

Hyun-Jin Choi, CORE Lab. E.E. 3 An Example of Using httperf Once a test finishes, several statistics are printedOnce a test finishes, several statistics are printed –Overall results –TCP connections –Send requests –Results for the replies –CPU & network utilization figures –errors Httperf --server hostname \ --port 80 --uri /test.html \ --rate num-conn \ --num-call 1 --timeout 5 Invoke httperf on each client machinesInvoke httperf on each client machines

Hyun-Jin Choi, CORE Lab. E.E. 4 Design Sustaining OverloadSustaining Overload –In case of server’s overload The client would run out of resources Example –Each httperf process : has at most 2,000 TCP connection –Offered rate - Sustained rate = 100 reqs/s –A test could last at most 20 secs Solution –Time out –Example »100 reqs/s, time out : 5 secs »At most 500 connections

Hyun-Jin Choi, CORE Lab. E.E. 5 Design (2) Limits to Client-Sustainable LoadLimits to Client-Sustainable Load –Size of TCP port space TCP port numbers : 16bits wide  64K available port numbers 1,024 are typically reserved for privileged processes –Ex : ftp – 21, telnet – 23 –At most 64,512 port numbers A given port number cannot be reused until the TCP TIME_WAIT state expires –1 minute timeout : BSD-derived OSes »Maximum sustainable rate per client : 1,075 reqs/s –4 minute timeout : RFC-793 recommended value »Maximum sustainable rate per client : 268 reqs/s

Hyun-Jin Choi, CORE Lab. E.E. 6 Design (3) –Number of open file descriptors Limitation of per-process # of file descriptors –256 ~ 2,048 –TCP TIME_WAIT state plays no role here –httperf timeout value »A value of 5 sec »A limit of 2,000 open file descriptors per process »400 reqs/s –Solution »Tuning the OS to allow a larger # of open file descriptors »Decreasing the httperf timeout value »Multiple processes : undesirable… later TP

Hyun-Jin Choi, CORE Lab. E.E. 7 Design (4) –Socket buffer memory Each TCP connection contains a socket receive and send buffer httperf : send buffers – 4KB, receive buffers – 16KB How much memory is available for socket buffers Example –40MB available for socket buffers –A client could sustain at most 2,048 concurrent TCP connections

Hyun-Jin Choi, CORE Lab. E.E. 8 Design (5) –Prediction of the exact rate at which a client will start to become the performance bottleneck ??? Empirical verification –Observed performance »A reflection of the server’s capacity ??? »Not that of the client ??? –Independence of the # of clients Measuring ThroughputMeasuring Throughput –httperf samples the reply throughput once every 5 secs

Hyun-Jin Choi, CORE Lab. E.E. 9 Implementation Three subsystems connected by event facilityThree subsystems connected by event facility –HTTP Core Engine Handles all communication with the server ~500 req/sec/machine Supports HTTP/1.1 –Workload Generators Request Generation –Generates new connections –Creates sessions URL Generation –Performance Monitors

Hyun-Jin Choi, CORE Lab. E.E. 10 Implementation (2) Implementation issuesImplementation issues –Scheduling Granularity Most OSes use a timer tick of around 10 ms In case of 150 reqs/s – below has problems –During even-numbered tick : Sending one request –During odd-numbered tick : Sending two requests –Unforced burstness httperf executes in a tight loop select() –Checks for network I/O activity via select() gettimeofday() –Keeps track of real time via gettimeofday() –One httperf process can be run per client machine

Hyun-Jin Choi, CORE Lab. E.E. 11 Implementation (3) –Limited Number of Ephemeral (short lived) Ports Typically in the range from 1,024 to 5,000 Example –TCP TIME_WAIT state timeout : 1 minutes –Maximum sustainable rate : 66 regs/s Solution –Optionally maintain its own bitmap of ports that it believes to be available »UNIX TCP implementation : allow pre-empting the TIME_WAIT state if a new SYN segment arrives »NT disallows such pre-emption  TCP RESET

Hyun-Jin Choi, CORE Lab. E.E. 12 Future Directions & Critique Its development has by no means come to a haltIts development has by no means come to a halt –Mimic the real-world traffic patterns –Allow log file based URL generation –Make it easier to run tests with multiple clients A daemon-based approach –Advantages Generation and sustenance of server’s overload Modularity : flexible, extensible –Disadvantages Not so good for testing huge server –Hasn’t good test equipment –One process – multiple threads