Performance Comparison of Dynamic Web Platforms

Total Page:16

File Type:pdf, Size:1020Kb

Performance Comparison of Dynamic Web Platforms PerformanceComparisonofDynamicWebPlatforms TonyHansen,VarshaMainkarandPaulReeser AT&TLabs 200LaurelAve,RoomD5-3C12,Middletown,NJ07748USA Phone1732-420-3714,Fax1732-368-1919 Email{tony,mainkar,preeser}@att.com Keywords:Dynamic,Web,CGI,FastCGI,C++,Java,Servlets,JSP,Performance,Comparison Over the last few years, the World Wide Web has transformed itself from a static content-distribution mediumtoaninteractive,dynamicmedium.TheWebisnowwidelyusedasthepresentationlayerfora hostofon-lineservicessuchase-mailandaddressbooks,e-cards,e-calendar,shopping,banking,and stock trading. As a consequence, HTML files are now typically generated dynamically after the server receives the request. From the Web-site providers’ point of view, dynamic generation of HTML pages impliesalesserunderstandingoftherealcapacityandperformanceoftheirWebservers.FromtheWeb developers’ point of view, dynamic content implies an additional technology decision: the Web programmingtechnologytobeemployedincreatingaWeb-basedservice.SincetheWebisinherently interactive,performanceisakeyrequirement,andoftendemandscarefulanalysisofthesystems.Inthis paper,wecomparefourdynamicWebprogrammingtechnologiesfromthepointofviewofperformance. Thecomparisonisbasedtestingandmeasurementoftwocases:oneisacasestudyofarealapplication thatwasdeployedinanactualWeb-basedservice;theotherisatrivialapplication.Thetwocasesprovide uswithanopportunitytocomparetheperformanceofthesetechnologiesattwoendsofthespectrumin terms of complexity. Our focus in this paper is on how complex vs. simple applications perform when implementedusingdifferentWebprogrammingtechnologies.Thepaperdrawscomparisonsandinsights basedonthisdevelopmentandperformancemeasurementeffort. 1. INTRODUCTION The World Wide Web (WWW) first emerged a decade ago as a medium to render hypertext documentsthatwerestoredontheInternet,onauser’scomputer,usingspecialsoftware(thebrowser) andanewprotocol(HTTP:HyperTextTransferProtocol).Forthefirstfewyears,theWWWgrewprimarily asanewmediuminwhichstaticcontentcouldbepublished,andinformationshared.Thecontentwas publishedintheformofHTML(HyperTextMarkupLanguage)files,whichwereservedbyWebservers, on requests from browsers. However, over the last few years the WWW has transformed itself from a staticcontent-distributionmediumtoaninteractive,dynamicmedium.ContentontheWebisnowoften personalized,andthereforedynamicallygenerated.TheWebisnowwidelyusedasthepresentationlayer forahostofon-lineservicessuchase-mail,e-cards,e-calendar,andaddressbooks,shopping,banking, andstocktrading.Asaconsequence,theHTMLfilesthatarerenderedbytheclient’sbrowserarenow typicallygenerateddynamicallyaftertheWebserverhasprocessedtheuser’srequest. This dynamic generation of HTML files has nothappenedwithoutanassociatedperformancecost. JustwhenInternetusersweregettingaccustomedto“click-and-wait”ondial-uplinesduetographics-rich 1 Web-sites,dynamicallygeneratedcontentstartedproliferatingontheWeb.Nowusersmustwaitnotonly for the network delay but also for the server-side processing delay associated with serving a request dynamically.Inmanycases,thisisturningouttobethelargestcomponentofthedelay.FromtheWeb- siteproviders’pointofview,dynamicgenerationofHTMLpagesimpliesalesserunderstandingofthereal capacity of their Web servers. The vendor-provided “hits-per-second” capacity of the Web server is no longerenough,asthisonlypertainstostaticHTMLfiles. From the Web developers’ point of view, dynamic Web content implies an additional technology decision:theWebprogrammingtechnologytobeemployedincreatingaWeb-basedserviceorproduct. This decision is based on several factors. Among the factors considered are ease of programming, richnessoffeatures,maintainability,reliability,andperformance.SincetheWebisinherentlyinteractive, performanceisakeyrequirement,andoftendemandscarefulanalysisofthesystems. In this paper, we compare the performance of four Web programming technologies, namely Java Servlets,JavaServerPages,CGI/C++andFastCGI/C++.Thecomparisonisbasedontwocases:oneis acasestudyofacomplexapplicationthatwasdeployedinanactualWeb-basedservice;theotherisa “trivial” application. The methodology of performance analysis was stress testing and measurement. Performance measurement (rather than modeling) made most sense in this effort, since a quick turnaroundofresultswasnecessaryandtheaccuracyofresultswasrequiredtobehigh. The two cases (i.e., the complex and the trivial) provided us with an opportunity to compare performance of these technologies attwoendsofthespectrumofapplications,intermsofcomplexity. Theperformance“order”ofdifferenttechnologiesisseldomabsolute–itdependsgreatlyonthenatureof the application. Our focus in this paper is on how complex vs. simple applications perform when implementedusingdifferentWebprogrammingtechnologies.Thepaperdrawscomparisonsandinsights basedonthisdevelopmentandperformancemeasurementeffort. Themainobservationsfromthisworkwereasfollows:Ingeneral,FastCGIoutperformedCGI,while JSP outperformed Java servlets. In the case of a complex application, the CGI-based technologies outperformed the Java-based technologies by 3-4x, with Java performance limited by software bottlenecksintheJVM.Inthecaseofatrivialapplication,therelativeperformancewasreversed,asJava outperformedCGIby2-3x. 2 Therestofthepaperisorganizedasfollows:inSection2weprovidethemotivationforconducting such a comparative study, and in Section 3 we describe briefly the technologies that we compared. Section 4 describes the performance measurement and analysismethodology,Section5describesthe case-study testing results in detail, and Section 6 describes the results of testing a trivial application. Finally,Section7summarizesourresults,andSection8providessomeconcludingremarks. 2. MOTIVATION TheapplicationcontextforthisstudywasanewWeb-basedmessagingservice.Theeffortcentered on the development of a “page generation engine” to perform dynamic Web page construction in a distributedenvironment(seeFigure2-1).Givenacceleratedtime-to-marketgoalsandlimiteddevelopment time,thenaturalchoiceoftechnologywastheoneperceivedtobepowerful,feature-rich,andyeteasyto useanddeploy–Javaservlets. The distributed execution environment consists of a front-end sub-system running a standard Web server and a Java virtual machine (JVM) servlet engine, plus a back-end sub-system of servers implementing the businesslogicanddata(e.g.,POP/IMAPmailservers,SMTPgateways,LDAP/X.500 directoryservers,etc.).ThepageengineconsistsofanumberofWebpagetemplatesandJavaservlets. TheWebpagetemplatesareHTMLfiles,butwithtagsfromaproprietaryscriptinglanguagethatspecify howtocollectdynamicdatathatcustomizestheseHTMLfilestotheparticularrequest.Collectively,these servlets: 3 ••• ••• LOGIC DATA HTTPTHREADS ServletTHREADS APPLICATION1 ••• WEBPAGE POP TEMPLATES SERVLETS IMAP SMTP LOGIC LDAP DATA X.500 WEBSERVER JAVAVM APPLICATION2 FRONT-ENDSERVER BACK-ENDSERVER Figure2-1:SystemArchitecture • parsetherequestedtemplateforscriptinglanguage(dynamic)content, • issuetheappropriateback-endrequeststoprocessthebusinesslogicorretrievetherequireddata, • processthereturneddataintothenecessarydatastructures, • performprotocolconversion(asnecessary),and • constructtheWebpagetoreturntotheuser. Theprotocol/languagebetweentheend-userandtheWebserverisHTTP/HTML,andthatbetween theJavaservletsandtheback-endisdeterminedbytheparticularapplication(e.g.,IMAP,LDAP,etc.). Within the JVM environment, data is passed between the various servlets as eXtensible Markup Language (XML) data structures. Hence, the scripts perform a variety of protocol and language conversionsduringthecourseofrequestexecution. 2.1. InitialMeasurements Weconductedaseriesofstresstestsusingacommercialloaddrivertogeneraterepeatedrequests totheservletengineatvariouslevelsofconcurrency(simulatedusers).Thetestconfigurationconsisted ofaWindowsNTserverrunningtheloadgenerationscripts(driver),aSolarisserverrunningthefront-end software,andaSolarisserverrunningtheback-endapplication(forthistest,aPOP3/IMAP4mailserver andanLDAPdirectoryserver).Hardware(CPU,memory,disk,I/O)andsoftwareresourceconsumptions weremeasuredonallmachines.Inaddition,end-to-enduser-perceivedresponsetimesweremeasured. 4 Thedriverscriptsemulatedaprescribednumberofconcurrentusersrepeatedlygeneratingthesame request(e.g.,readmessage,sendmessage,etc.).Thenumberofconcurrentsimulateduserswasvaried from1to20.Thenumberofrepeatedrequestsperuserateachconcurrencylevel(typically2000)was sufficient to achieve statistical stability. The tests wererunin“stress”mode;thatis,assoonasauser receivesaresponse,itimmediatelysubmitsthenextrequest(i.e.,withnegligibleclientdelay).Eachofthe N simulated users does so independently and in parallel. As a result, the concurrency level (i.e., the numberofrequestsinthesystem)equalsNatalltimes. The results of the stress tests for a particular request type (read a 20KB message) are shown in Figures2-2and2-3.Inparticular,Figure2-2plotstheend-to-endresponsetimeontheleft-handaxis, andthefront-endCPUutilizationontheright-handaxis,asafunctionoftheconcurrencylevel.Ascanbe seen,theresponsetimecurvebeginstoridealongalinearasymptote(shownbythedottedline)afteronly 7concurrentusers.Thatis,responsetimeincreasesproportionallywiththenumberofusers,indicating saturation in a closed system [1]. Additionally, CPU utilization levels off after 11 users at 65-70% (indicatinganon-CPUsystembottleneck). 1 0 0 R e s p o n s e t i m e 9 0 C P U u t i l i z a t i o n 8 0 E M I 7 0 ) T % ( E S N N 6 0 O I O T P A S 5 0 Z E I L R I T d e 4 0 U z i U l a P C m 3 0 r o N 2 0 1 0 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1
Recommended publications
  • Dynamic Web Pages with the Embedded Web Server
    Dynamic Web Pages With The Embedded Web Server The Digi-Geek’s AJAX Workbook (NET+OS, XML, & JavaScript) Version 1.0 5/4/2011 Page 1 Copyright Digi International, 2011 Table of Contents Chapter 1 - How to Use this Guide ............................................................................................................... 5 Prerequisites – If You Can Ping, You Can Use This Thing! ..................................................................... 5 Getting Help with TCP/IP and Wi-Fi Setup ............................................................................................ 5 The Study Guide or the Short Cut? ....................................................................................................... 5 C Code ................................................................................................................................................... 6 HTML Code ............................................................................................................................................ 6 XML File ................................................................................................................................................. 6 Provide us with Your Feedback ............................................................................................................. 6 Chapter 2 - The Server-Client Relationship ................................................................................................... 7 Example – An Analogy for a Normal HTML page .................................................................................
    [Show full text]
  • Effects and Opportunities of Native Code Extensions For
    Effects and Opportunities of Native Code Extensions for Computationally Demanding Web Applications DISSERTATION zur Erlangung des akademischen Grades Dr. Phil. im Fach Bibliotheks- und Informationswissenschaft eingereicht an der Philosophischen Fakultät I Humboldt-Universität zu Berlin von Dipl. Inform. Dennis Jarosch Präsident der Humboldt-Universität zu Berlin: Prof. Dr. Jan-Hendrik Olbertz Dekan der Philosophischen Fakultät I: Prof. Michael Seadle, Ph.D. Gutachter: 1. Prof. Dr. Robert Funk 2. Prof. Michael Seadle, Ph.D. eingereicht am: 28.10.2011 Tag der mündlichen Prüfung: 16.12.2011 Abstract The World Wide Web is amidst a transition from interactive websites to web applications. An increasing number of users perform their daily computing tasks entirely within the web browser — turning the Web into an important platform for application development. The Web as a platform, however, lacks the computational performance of native applications. This problem has motivated the inception of Microsoft Xax and Google Native Client (NaCl), two independent projects that fa- cilitate the development of native web applications. Native web applications allow the extension of conventional web applications with compiled native code, while maintaining operating system portability. This dissertation determines the bene- fits and drawbacks of native web applications. It also addresses the question how the performance of JavaScript web applications compares to that of native appli- cations and native web applications. Four application benchmarks are introduced that focus on different performance aspects: number crunching (serial and parallel), 3D graphics performance, and data processing. A performance analysis is under- taken in order to determine and compare the performance characteristics of native C applications, JavaScript web applications, and NaCl native web applications.
    [Show full text]
  • Interfacing Apache HTTP Server 2.4 with External Applications
    Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick November 6, 2012 Who am I? Interfacing Apache HTTP Server 2.4 with External Applications Met Unix (in the form of Xenix) in 1985 Jeff Trawick Joined IBM in 1990 to work on network software for mainframes Moved to a different organization in 2000 to work on Apache httpd Later spent about 4 years at Sun/Oracle Got tired of being tired of being an employee of too-huge corporation so formed my own too-small company Currently working part-time, coding on other projects, and taking classes Overview Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Huge problem space, so simplify Perspective: \General purpose" web servers, not minimal application containers which implement HTTP \Applications:" Code that runs dynamically on the server during request processing to process input and generate output Possible web server interactions Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Native code plugin modules (uhh, assuming server is native code) Non-native code + language interpreter inside server (Lua, Perl, etc.) Arbitrary processes on the other side of a standard wire protocol like HTTP (proxy), CGI, FastCGI, etc. (Java and \all of the above") or private protocol Some hybrid such as mod fcgid mod fcgid as example hybrid Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Supports applications which implement a standard wire protocol, no restriction on implementation mechanism Has extensive support for managing the application[+interpreter] processes so that the management of the application processes is well-integrated with the web server Contrast with mod proxy fcgi (pure FastCGI, no process management) or mod php (no processes/threads other than those of web server).
    [Show full text]
  • AJAX and Jquery L Raw AJAX Handling in JS Is Very Tedious L Jquery Provides Flexible and Strong Support to Handle AJAX Interactions Through a Set of Jquery Functions
    AJAX Asynchronous Design in Web Apps IT 4403 Advanced Web and Mobile Applications Jack G. Zheng Fall 2019 Topics l AJAX concepts and technical elements l AJAX implications and impacts l jQuery AJAX l Basic and shorthand methods l Error handling 2 AJAX l AJAX (Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. l Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous. 3 First Impression l https://www.google.com Use Chrome’s developer tools to view network communications while typing the search terms. A set of requests have been made to get JSON data from the server as I type in the search term box. Observe the “q” parameter in all URLs. 4 AJAX Model Difference With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. http://www.adaptivepath.com /ideas/ajax-new-approach- web-applications/ 5 Traditional Model The client does not generate views/presentations (HTML/CSS). Synchronous communications feature sequential request/response cycles, one after another The server prepares the whole page. http://www.websiteoptimization.com/secrets/ajax/8-1-ajax-pattern.html 6 Ajax Model l With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. The client generates views/presentations and update content (partial page) by manipulating DOM. Asynchronous communications feature independent request/response cycles The server prepares partial pages (partial HTML) or just data (XML or JSON).
    [Show full text]
  • EMERGING TECHNOLOGIES Dymamic Web Page Creation
    Language Learning & Technology January 1998, Volume 1, Number 2 http://llt.msu.edu/vol1num2/emerging/ pp. 9-15 (page numbers in PDF differ and should not be used for reference) EMERGING TECHNOLOGIES Dymamic Web Page Creation Robert Godwin-Jones Virginia Comonwealth University Contents: • Plug-ins and Applets • JavaScript • Dynamic HTML and Style Sheets • Instructional Uses • Resource List While remaining a powerful repository of information, the Web is being transformed into a medium for creating truly interactive learning environments, leading toward a convergence of Internet connectivity with the functionality of traditional multimedia authoring tools like HyperCard, Toolbook, and Authorware. Certainly it is not fully interactive yet, but that is undeniably the trend as manifested in the latest (version 4) Web browsers. "Dynamic HTML," incorporated into the new browsers, joins plug-ins, Web forms, Java applets, and JavaScript as options for Web interactivity. Plug-ins and Applets While Web pages are beginning to behave more like interactive applications, traditional authoring tools are themselves becoming Internet-savvy, primarily through the use of "plug-in" versions of players which integrate with Web browsers. The most commonly used plug-in today is Macromedia's "Shockwave," used to Web-enable such applications as Director, Authorware, and Flash. "Shocked" Web pages can be very interactive and provide a visually appealing means of interacting with users (as in some sample ESL exercises from Jim Duber). Plug-ins are easy to use -- they just need to be downloaded and installed. Some come bundled with Netscape and Microsoft's browsers, which simplifies considerably the installation process (and gives developers the confidence that most users will actually have the plug-in installed).
    [Show full text]
  • How We Build Web Applications
    Whitepaper How We Build Web Applications Whitepaper 1 BuildableWorks.com Table of Contents About Buildable ............................................................................................ 3 Web Application Architecture ................................................................. 4 Our Process .................................................................................................. 6 Application Architecture Guidelines ............................................... 8 Management ......................................................................................... 8 Anatomy of a Web App .............................................................................. 10 User Experience Design ...................................................................... 10 Application Build and Deployment .................................................... 14 Frontend Tools ...................................................................................... 15 Backend Tools ........................................................................................ 20 Authentication and Security ............................................................. 22 Whitepaper 2 BuildableWorks.com About Buildable Our nimble, versatile team of full-stack engineers, creatives, and developers come to work every day with the knowledge we’re making the stuff that will change our clients’ work lives for the better. It’s why we attract and keep some of the best technical talent in the industry, and it’s how we deliver the highest quality
    [Show full text]
  • Vasili Korol
    Vasili Korol Senior Software Developer Odense, Denmark Age: 35 mob.: +45 20 68 50 23 Married, have son (born 2010) e-mail: [email protected] ​ Personal Statement ⚬ Strong IT skills (16+ years of versatile experience) ⚬ Background in physics research ⚬ Work effectively both as team member and leader ⚬ Enthusiastic and committed ⚬ Spoken languages: Russian (native), English (fluent), Danish (Prøve i Dansk 3 / level B2) ​ ​ ​ ​ Education 2006–2008: Master’s degree (with distinction) in applied physics. ​ 2002–2006: Bachelor’s degree (with distinction) in applied physics. Under- to postgraduate student at St. Petersburg State Polytechnical University, Faculty of Physics and Technology, Dept. of Cosmic Physics. The thesis “Search for possible space-time variations of the fine-structure constant and isotopic shifts” (a supervisor Prof. ​ M.G. Kozlov). ​ 1992-2002: School education in St. Petersburg, Russia and Belfast, UK (in 1993). Professional Career 2015 – Feb 2021: Software developer in the QuantBio research group at the University of ​ ​ ​ ​ Southern Denmark (SDU), Institute of Physics, Chemistry and Pharmacy (HPC section). I am the principal developer of VIKING, a service providing a web interface for configuring ​ ​ ​ and running scientific computational tasks on supercomputers. I designed the software architecture, developed the system core and coordinated the work of several developers. 2014 – 2015: Lead programmer (Perl) at Internet Projects LLC, russian informational portals subscribe.ru and sendsay.ru (St. Petersburg, Russia). ​ ​ ​ Worked with a team of developers on projects targeted at developing an API for news aggregation and content processing services. This involved integration with various online platforms (Facebook, Twitter, Vkontakte, LiveJournal, Google Analytics), web scraping and designing instruments for user publications at the portals and beyond.
    [Show full text]
  • Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project Preferences Due • Assignment 1 out • Prelab for Next Week Is Non-Trivial
    Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project preferences due • Assignment 1 out • PreLab for next week is non-trivial 1/31/2020 2 Lecture 5: JavaScript JavaScript has its Quirks • Procedural, Functional and Object-Oriented all at once • Objects are very different from Java/C++ o Newer versions have Java-like classes however • Scoping is different o var versus let or const o Declarations can follow uses o Declarations are optional • Automatic type conversion • Strict versus non-strict equality testing • eval function • Semicolons are optional if unambiguous • Read up on the language (prelab) 1/31/2020 3 Lecture 6: Dynamic Web Pages What is an Interactive Application • How do we want to use JavaScript • What does interactive mean • What does it do when you interact o Check inputs, compute next page o Change the page without getting a new page 1/30/2020 4 Lecture 6: Dynamic Web Pages Dynamic Web Page Examples • http://bdognom.cs.brown.edu:5000/ (spheree) • http://conifer.cs.brown.edu/s6 (s6) • http://conifer.cs.brown.edu:8888 (twitter) • http://fred4.cs.brown.edu:8800/ (sign) 1/23/2020 5 Lecture 6: Dynamic Web Pages Interactive Applications • Respond to user inputs • Change the display (e.g. add fields, show errors, …) • Dynamically check and verify inputs • Allow direct manipulation (drag and drop) • Use animation to highlight or emphasize or show things • Display external changes in real time • Provide input help (e.g. text completion) • Handle dynamic resizing of the display 1/23/2020 6 Lecture 6: Dynamic Web Pages Achieving Interactivity • Using CSS • Handling HTML events using JavaScript o Dynamically check and verify inputs o Handle direct manipulation • With modern HTML features • With animation/drawing/multimedia packages • By talking to the server continually • Displaying external changes in real time • Changing styles and the content of the page o Change the display (e.g.
    [Show full text]
  • Advanced Web Design
    Implementation Date Fall 2008 PROGRAM CONCENTRATION Business & Computer Science CAREER PATHWAY: Interactive Media COURSE TITLE: Advanced Web Design The goal of this course is to provide students with the study of advanced topics in web design. Computer in the Modern World and Beginning Web Design are both prerequisites for this course. Upon completion of this course, students should have a thorough knowledge of all areas of web page design. Topics include the web development process, advanced layout and design features, advanced study of scripting languages, site development with HTML editors, and web servers and databases. This course also prepares students to take the CIW Associate Design Specialist Certification. OVERVIEW OF WEB DESIGN BCS-AWD-1. Students will explore web design concepts, the current state of the web, and technologies used on the web. a. Identify, evaluate, compare, and contrast web browsers. b. Identify and describe plug-ins, applets and other web based utilities. Academic Standards: ELA12W3. The student uses research and technology to support writing. ELA12RC3. The student acquires new vocabulary in each content area and uses it correctly. BCS-AWD-2. Students will examine ethical and legal issues related to web development. a. Discuss and develop strategies for handling privacy issues. b. Distinguish between legal and ethical issues. 1. Discuss appropriate and inappropriate content on sites such as Facebook and My Space. c. Describe security issues associated with web servers. Academic Standards: ELA12LSV1. The student participates in student-to-teacher, student-to-student, and group verbal interactions. ELA12RC2. The student participates in discussions related to curricular learning in all subject areas.
    [Show full text]
  • Using Fastcgi with Apache HTTP Server 2.4
    Using FastCGI with Apache HTTP Server 2.4 Jeff Trawick The world of FastCGI Using FastCGI with Apache HTTP Server 2.4 FastCGI with Apache httpd 2.4 Jeff Trawick Choosing mod fcgid http://emptyhammock.com/ mod proxy fcgi [email protected] mod authnz fcgi Other tools April 8, 2014 PHP Applications and FastCGI Future 1/97 Revisions Using FastCGI with Apache HTTP Server 2.4 Jeff Trawick The world of FastCGI 2014-04-10 FastCGI with Apache httpd Add Require expr ... to /www/tools/ 2.4 configuration in More classic CGI configuration Choosing slide to resolve a potential security hole. Thank mod fcgid mod proxy fcgi you Eric Covener! mod authnz fcgi Other tools PHP Applications and FastCGI Future 2/97 Get these slides... Using FastCGI with Apache HTTP Server 2.4 Jeff Trawick The world of FastCGI FastCGI with Apache httpd 2.4 http://emptyhammock.com/projects/info/slides.html Choosing mod fcgid mod proxy fcgi mod authnz fcgi Other tools PHP Applications and FastCGI Future 3/97 Table of Contents Using FastCGI with Apache HTTP Server 1 The world of FastCGI 2.4 Jeff Trawick 2 FastCGI with Apache httpd 2.4 The world of FastCGI 3 Choosing FastCGI with Apache httpd 4 mod fcgid 2.4 Choosing 5 mod proxy fcgi mod fcgid mod proxy fcgi 6 mod authnz fcgi mod authnz fcgi Other tools 7 Other tools PHP Applications 8 PHP Applications and FastCGI and FastCGI Future 9 Future 4/97 Introduction | Who am I? Using FastCGI with Apache HTTP Server 2.4 I've worked at Jeff Trawick several large corporations, for over two decades The world of FastCGI my own one-person company, Emptyhammock, for the FastCGI with last two years Apache httpd 2.4 I've worked on Choosing several products which were primarily based on or mod fcgid otherwise included Apache HTTP Server mod proxy fcgi lower-level networking products mod authnz fcgi web applications Other tools PHP I've developed or maintained some of the FastCGI Applications and FastCGI support in the Apache HTTP Server project.
    [Show full text]
  • NGINX Modules Reference
    Nginx, Inc. NGINX Plus Reference Guide NGINX Plus - release 11, based on 1.11.5 core October 19, 2016 Copyright Notice © 2012-2016 Nginx, Inc. All rights reserved. NGINX, NGINX Plus and any Nginx, Inc. product or service name or logo used herein are trademarks of Nginx, Inc. All other trademarks used herein belong to their respective owners. The trademarks and logos displayed herein may not be used without the prior written consent of Nginx, Inc. or their respective owners. This documentation is provided \AS IS" and is subject to change without notice and should not be interpreted as a commitment by Nginx, Inc. This documentation may not be copied, modified or distributed without authorization of Nginx, Inc. and may be used only in connection with Nginx, Inc. products and services. Nginx, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this documentation. 1 Preface About NGINX NGINX® (\engine x") is a high performance, high concurrency web server excelling at large scale content delivery, web acceleration and protecting application containers. Its precise integration with modern operating systems allows unprecedented levels of efficiency even when running on commodity hardware. Nginx, Inc. develops and maintains NGINX open source distribution, and offers commercial support and professional services for NGINX. About NGINX Plus • Offers additional features on top of the free open source NGINX version. • Prepared, tested and supported by NGINX core engineering team led by the original author Igor Sysoev. For more information • Find more details about NGINX products and support at https://www.nginx.com/. • For online NGINX documentation visit http://nginx.org/en/docs.
    [Show full text]
  • Virtual Geographic World: the Web-Based 3D Kyong-Ho Kim
    Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 Virtual geographic world: the web-based 3D CIS Kyong-Ho Kim, Kiwon Lee, Ho-Geun Lee: & Young- Lyol Ha GIS Lab. Image Processing Dept. Systems Engineering Research Institute, Yusung, Taejon, 305-600, S.Korea Email: {khkim, kilee, hglee,ylha} @seri. re. kr Abstract To design and implement web-based 3D GIS, the strategic linkage of Java and VRML is first regarded: 3D feature format definition in the passion of conventional GIS including aspatial attributes, 3D feature indexing, 3D analytical operations such as selection, buffering, and near, metric operation such as distance measurement and statistical description, and 3D visualization. In 3D feature format definition, the following aspects are considered: aspatial attributes, spatial information for 3D primitives, multimedia data, visualization information for VRML specification. "Lantern operator" is newly introduced in this 3D GIS. Because this system is implemented by Java applet, any client with Java-enable browser including VRML browser plug-in can utilize the new style of 3D GIS function in the virtual space. 1 Introduction The integration of virtual environment and GIS has been initiated]!]. Since the mid 1990s, 3D GIS on World Wide Web(WWW)[2] has been regarded as one of promising alternatives in the GIS field mainly due to cost-effectiveness and wide accessibility. In this newly emerging approach, Virtual Reality Modeling Language(VRML)[3] shows several Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 344 GIS Technologies and their Environmental Applications linked aspects with 3D GIS under Internet environment^].
    [Show full text]