Presentation on theme: "This presentation includes custom animations. To view the animations, you must view the presentation in Slide Show mode and activeX controls must be allowed."— Presentation transcript:
This presentation includes custom animations. To view the animations, you must view the presentation in Slide Show mode and activeX controls must be allowed. If you have opened this lesson in PowerPoint, use the PowerPoint menus to view it in slide show mode. If you have opened this lesson in a browser and see a bar similar to that below, click on the Slide Show icon A notice similar to the one below may appear warning that ActiveX or other scripts are disabled. Enable the controls for this website in order to see the animations.
Hardware and Software Basics Christine S. Wolfe Ohio University Lancaster 2008-Aug-01 Vocabulary: This slide show introduces hardware and software considerations for a web server. Apache server arithmetic logic unit cache client client/server paradigm CPU end-to-End response GET hard drive HTTP requests per second Microsoft IIS (Internet Information Services) NIC payload RAM response time server Time to First Byte web server
What are some of the things you need to take into consideration when buying a computer or set of computers to use as a web server? If you are hosting your website in-house (ie: on your premises) or if you have entered into a co-location hosting agreement with a third party provider, you will have to obtain a computer or set of computers on which to run your server. Before you buy, you must determine how your server will function. Purchase a system that has the features that best support the functions you will implement. Images and video require more storage space than do simple html text pages. Dynamic pages require more processor power than do static pages. High traffic sites require more bandwidth than do low traffic sites. Unless you have unlimited funds, you will likely have to choose which options best suit your needs.
Computer hardware are the tangible parts of a computer system. Hardware can be broken down into the following categories Hardware Input Devices Output Devices Volatile Memory Secondary Storage ProcessorStructural Components keyboard mouse NIC monitor speakers NIC RAM cache hard drive jump drive ALUcase power supply fan system board
The components that are most critical for server performance are: Processor Hard drives & other secondary storage capacity RAM and Cache Network Adapter(s) We will discuss how these components influence server performance but we won't worry about current specs. Any specs I would give you would be out of date by the time you read it. If you understand what the component does then you will know which are most important for your system and know where to spend your money for the best benefit.
All that a computer really does is add. Almost nothing happens in a computer without being processed as a set of instructions + data sent through a processor. A processor includes a) the arithmetic logic unit (ALU) where the instructions are processed, b) registers to hold the instructions and data so the ALU can grab them, and c) usually some cache. Processor
Secondary storage is sometimes called permanent storage because data stored on a secondary storage device doesn't disappear when the power is turned off. When you "save" your work, you are writing a copy of it to secondary storage. As far as your computer is concerned, your hard drive, a memory card, and a jump drive all serve the same purpose. They have data that must be retrieved before the CPU can work with it. When choosing a hard drive or other secondary storage device, you want to consider how much it can hold and how quickly it can find, read, and write data.
RAM RAM stands for Random Access Memory. It is often referred to as "main" memory. It can also be considered temporary memory because it cannot hold information unless it has power. Any time that your computer wants to work with data that is stored on a secondary storage device such as your hard drive, a copy of the data must be read from the secondary storage into RAM. Reading from RAM is much much much faster than reading from a hard drive so you would like to be able to store a large amount of data in RAM. Factors to consider with RAM is the amount of storage and how efficiently it can find and move data.
CPU RAM Level 1 (primary) cache ALU Level 2 (secondary) cache Memory cache is a small, fast, set of memory located physically close to the ALU. Cache is used to temporarily store data that is likely to be needed in the near future. When the CPU orders data from main memory (RAM), the system will save the retrieved data and some of the nearby data in a small cache that is more readily accessed. This may reduce the retrieval time for future requests. I need red! I need green!
A network adapter is a piece of hardware that allows the server to move data to and from the Internet. It is possible to install more than one adapter in a server. As all the data that is being uploaded and downloaded must pass through an adapter, a high bandwidth capacity adapter has a huge influence on the speed of transmission.
We looked at 4 hardware components that are important considerations for server performance. Processor, Hard drive RAM and Cache Network Adapter(s) Which 2 would give the best benefit to a server that must perform a lot of calculations when creating dynamic pages? Which 1 would give the best benefit to a server that must store a lot of images or other large files? Which 1 would give the best benefit to a server that experiences extremely high volumes of traffic? On the midterm and final you will be expected to know which component you would optimize based on the purpose of a website. Click Tip Click Tip
Software are the electronic instructions that cause the computer to retrieve, process, and store data. Software is broken down into 2 categories: Software Operating Software Application Software Windows Mac OS Apache server Word Excel Photoshop
An operating system (sometimes abbreviated as "OS") is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. The other programs are called applications or application programs. The application programs make use of the operating system by making requests for services through a defined application program interface (API).... www.webasyst.net/glossary.htm A web server (like most computers) must have an operating system. A set of programs that control how the system works. Controls the running of programs and provides such services as resource allocation, scheduling, input and output control, and data management. www.ncsa.uiuc.edu/UserInfo/Resources/Hardware/IBMp690/IBM/usr/share/man/in fo/en_US/a_doc_lib/aixuser/glossary/O.htm
Apache server and Microsoft Internet Information Services are the dominant web server operating systems. Apache is free open source software Steep learning curve for most effective use. Large installed base with readily available support from user community. index.html is the home page that opens if the user does not specify a file name. Internet Information Services is proprietary software by Microsoft Easy to install and use Microsoft is a frequent target of hackers and virus writers. Frequent patches must be installed. default.html is the home page that opens if the user does not specify a file name.
Market Share for Top Servers Across All Domains August 1995 – June 2010 http://news.netcraft.com/archives/2011/01/ Click Tip This is a chart of SERVER types. Don't confuse it with the browser and OS charts from the Unit 02 Browser Trends exercise.
OK, now we have all the "stuff" to make our web server. How can we tell how well it's working? Let's start with a review of what the web server is supposed to do. Web server and browsers are engaged in what is called a "client/server" relationship. You get one guess which one is the server and which one is the client. Of course the web server is the server – and just what is it serving up? Web pages! The server sits out there in the cloud with a belly full of web pages just waiting for some browser to ask for one of them. The server is patient and will sit and wait forever as long as it has power. When a user requests a page via a browser, only then does the browser go out and find the server and ask it for a page. It is in response to this request that the server really goes into action. This is when you as the web site owner want the server to perform its very best. You want it to provide the page that was requested and to provide it as quickly as possible.
The Client/Server Paradigm 1.The server starts and waits 2.The client initiates contact via a request for a service 3.The client and server exchange messages (data, files, etc) 4.They both agree to end the exchange SERVER CLIENT I want what you have Come and get it! Get your web pages here. Here you go. Thanks. That's all I need. OK. Bye
Have you ever tried to go to a web page only to have the following message show up on your screen? See the next slide to learn where this comes from.
When the client browser contacts the server, it sends a GET message. The server sends a response code that let's the client browser know if it is able to send the page. The codes are categorized by their first digit. Successful 2xx: This class of status code indicates that the client's request was successfully received, understood, and accepted eg: 200 OK Informational 1xx: This class of status code indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line. eg. 100 Continue A complete listing can be found at: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html Redirection 3xx: This class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request. eg: 301 Moved Permanently Client Error 4xx: The 4xx class of status code is intended for cases in which the client seems to have erred. eg 404 Not Found Server Error 5xx": Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has erred or is incapable of performing the request. eg: 505 HTTP Version Not Supported
Assuming your web server has the page or knows how to make the page and wants to send it to the client browser, how can you measure how well it is performing?Measure the responsiveness of a web site during peak periods. HTTP requests per second The following are 3 common metrics for evaluating server responsiveness. the number of GET requests that the server responds to in one second Click Tip Click Tip Always measure performance during peak usage. Go! Stop!
End-to-End response how long it takes from the time a GET request is received and the time the last byte of the requested document is delivered.. Start Timing Stop Timing Stop Timing
Time To First Byte how long it takes from the time a GET request is received and the time the first byte of the requested document is delivered.. Start Timing Stop Timing Stop Timing
Works Cited 1. HTTP: The Definitive Guideby David Gourley; Brian Totty Publisher: O'ReillyPub Date: September 2002 ISBN: 1-56592-509-2Pages: 656 Chapter 5. Web Servers 2.http://www.dba-oracle.com/t_best_webserver_hardware_configuration.htm. What is the best webserver hardware configuration? Web Tips by Burleson Consulting 3.http://www.seoconsultants.com/articles/1000/cache-control.asp What Is Caching and How Does It Apply to the Web? 4. http://news.netcraft.com/archives/web_server_survey.html