Sun Microsystems 7 manuel d'utilisation
- Voir en ligne ou télécharger le manuel d’utilisation
- 132 pages
- 1.28 mb
Aller à la page of
Les manuels d’utilisation similaires
-
Network Card
Sun Microsystems eWay JDBC/ODBC Adapter
133 pages 2.61 mb -
Server
Sun Microsystems T1000
90 pages 5.18 mb -
Server
Sun Microsystems V40z
216 pages 6.6 mb -
Tablet Accessory
Sun Microsystems 3
368 pages 3.11 mb -
Server
Sun Microsystems XVR-100
52 pages 0.93 mb -
Server
Sun Microsystems Sun Fire 880
34 pages 0.27 mb -
Personal Computer
Sun Microsystems F815D/V
66 pages 0.4 mb -
Server
Sun Microsystems X2270
22 pages 0.58 mb
Un bon manuel d’utilisation
Les règles imposent au revendeur l'obligation de fournir à l'acheteur, avec des marchandises, le manuel d’utilisation Sun Microsystems 7. Le manque du manuel d’utilisation ou les informations incorrectes fournies au consommateur sont à la base d'une plainte pour non-conformité du dispositif avec le contrat. Conformément à la loi, l’inclusion du manuel d’utilisation sous une forme autre que le papier est autorisée, ce qui est souvent utilisé récemment, en incluant la forme graphique ou électronique du manuel Sun Microsystems 7 ou les vidéos d'instruction pour les utilisateurs. La condition est son caractère lisible et compréhensible.
Qu'est ce que le manuel d’utilisation?
Le mot vient du latin "Instructio", à savoir organiser. Ainsi, le manuel d’utilisation Sun Microsystems 7 décrit les étapes de la procédure. Le but du manuel d’utilisation est d’instruire, de faciliter le démarrage, l'utilisation de l'équipement ou l'exécution des actions spécifiques. Le manuel d’utilisation est une collection d'informations sur l'objet/service, une indice.
Malheureusement, peu d'utilisateurs prennent le temps de lire le manuel d’utilisation, et un bon manuel permet non seulement d’apprendre à connaître un certain nombre de fonctionnalités supplémentaires du dispositif acheté, mais aussi éviter la majorité des défaillances.
Donc, ce qui devrait contenir le manuel parfait?
Tout d'abord, le manuel d’utilisation Sun Microsystems 7 devrait contenir:
- informations sur les caractéristiques techniques du dispositif Sun Microsystems 7
- nom du fabricant et année de fabrication Sun Microsystems 7
- instructions d'utilisation, de réglage et d’entretien de l'équipement Sun Microsystems 7
- signes de sécurité et attestations confirmant la conformité avec les normes pertinentes
Pourquoi nous ne lisons pas les manuels d’utilisation?
Habituellement, cela est dû au manque de temps et de certitude quant à la fonctionnalité spécifique de l'équipement acheté. Malheureusement, la connexion et le démarrage Sun Microsystems 7 ne suffisent pas. Le manuel d’utilisation contient un certain nombre de lignes directrices concernant les fonctionnalités spécifiques, la sécurité, les méthodes d'entretien (même les moyens qui doivent être utilisés), les défauts possibles Sun Microsystems 7 et les moyens de résoudre des problèmes communs lors de l'utilisation. Enfin, le manuel contient les coordonnées du service Sun Microsystems en l'absence de l'efficacité des solutions proposées. Actuellement, les manuels d’utilisation sous la forme d'animations intéressantes et de vidéos pédagogiques qui sont meilleurs que la brochure, sont très populaires. Ce type de manuel permet à l'utilisateur de voir toute la vidéo d'instruction sans sauter les spécifications et les descriptions techniques compliquées Sun Microsystems 7, comme c’est le cas pour la version papier.
Pourquoi lire le manuel d’utilisation?
Tout d'abord, il contient la réponse sur la structure, les possibilités du dispositif Sun Microsystems 7, l'utilisation de divers accessoires et une gamme d'informations pour profiter pleinement de toutes les fonctionnalités et commodités.
Après un achat réussi de l’équipement/dispositif, prenez un moment pour vous familiariser avec toutes les parties du manuel d'utilisation Sun Microsystems 7. À l'heure actuelle, ils sont soigneusement préparés et traduits pour qu'ils soient non seulement compréhensibles pour les utilisateurs, mais pour qu’ils remplissent leur fonction de base de l'information et d’aide.
Table des matières du manuel d’utilisation
-
Page 1
Sun Ja va S y stem W eb Ser v er 7.0 Updat e 1 P er formanc e T uning , Sizing , and Sc aling Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part N o: 820–1067[...]
-
Page 2
Copyright 2007 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. I n particular, and without limitation, these intellectual property rights may include one or more U.S[...]
-
Page 3
Cont ents Preface ...................................................................................................................................................11 1 Performance and Monitoring Overview .......................................................................................... 19 P erformance Issues ..............................[...]
-
Page 4
2 T uning Sun Ja va Sy stem W eb Server ................................................................................................ 39 General Tuning Tips ........................................................................................................................... 39 Understanding Threads, Processes, and Connections .............[...]
-
Page 5
Low-Memory Situations ..................................................................................................................... 86 Too Few Threads ................................................................................................................................. 86 Cache Not Utilized .......................................[...]
-
Page 6
Networking ........................................................................................................................................ 102 6 Scalability Studies .............................................................................................................................103 Study Goals ...................................[...]
-
Page 7
T ables T ABLE 1–1 M ethods of Monitoring P erformance ..................................................................... 22 T ABLE 2–1 Parameter M apping to server.xml ........................................................................ 46 T ABLE 2–2 Connection Queue Statistics .........................................................[...]
-
Page 8
T ABLE 6–17 SSL P erformance Test: P erl CGI Scalability ......................................................... 120 T ABLE 6–18 SSL P erformance Test: C CGI Scalability ............................................................. 121 T ABLE 6–19 SSL P erformance Test: NSAPI Scalability .....................................................[...]
-
Page 9
F igur es FIGURE 2–1 Web Server C onnection Handling .......................................................................... 40 9[...]
-
Page 10
10[...]
-
Page 11
P refac e This guide discusses adjustments you can make that may improve the performance of Sun J ava System Web Server (henceforth known as Web Server). The guide provides tuning, scaling, and sizing tips and suggestions; possible solutions to common performance problems; and data from scalability studies. I t also addresses miscellaneous congu[...]
-
Page 12
T ABLE P–1 Books in the Web Server Documentation Set Documentation Title Contents Sun Java System Web Server 7.0 Update 1 Documentation Center Web Server documentation topics organized by tasks and subject Sun Java System Web Server 7.0 Update 1 R elease Notes ■ Late-breaking information about the software and documentation ■ Supported platfo[...]
-
Page 13
T ABLE P–1 Books in the Web Server Documentation Set (Continued) Documentation Title Contents Sun Java System Web Server 7.0 Update 1 Developer’ s Guide to J ava Web Applications Implementing J ava Servlets and JavaServer P ages TM (JSP TM ) technology in Sun Java System Web Server Sun Java System Web Server 7.0 Update 1 A dministrator’ s Con[...]
-
Page 14
T ABLE P–2 Default Paths and F ile Names Placeholder Description Default Value install-dir Represents the base installation directory for Web Server Sun Java Enterprise System (J ava ES) installations on the Solaris TM platform: /opt/SUNWwbsvr7 Java ES installations on the Linux and HP -UX platform: /opt/sun/webserver/ Java ES installations on th[...]
-
Page 15
T ypographic C on ventions The following table describes the typographic changes that are used in this book. T ABLE P–3 Typographic Conventions T ypeface Meaning Example AaBbCc123 The names of commands, les, and directories, and onscreen computer output Edit your .login le. Use ls -a to list all les. machine_name% you have mail. AaBbCc12[...]
-
Page 16
T ABLE P–4 Symbol Conventions (Continued) Symbol Description Example Meaning → Indicates menu item selection in a graphical user interface. File → New → Templates From the F ile menu, choose New. From the New submenu, choose Templates. Documentation, Support, and T raining The Sun web site provides information about the following additional[...]
-
Page 17
Sun W elcomes Y our C omments Sun is interested in improving its documentation and welcomes your comments and suggestions. To share your comments, go to http://docs.sun.com and click Send Comments. In the online form, provide the full document title and part number. The part number is a 7-digit or 9-digit number that can be found on the book's[...]
-
Page 18
18[...]
-
Page 19
P er formance and Monit oring O ver view Sun J ava System Web Server (henceforth known as Web Server) is designed to meet the needs of the most demanding, high-trac sites in the world. I t can serve both static and dynamically generated content. Web Server can also run in SSL mode, enabling the secure transfer of information. This guide helps yo[...]
-
Page 20
servers the goal might be to provide a targeted level of performance at dierent price points. You need to dene what performance means for your particular situation. Here are some areas to consider: ■ The number of peak concurrent users ■ Security requirements Encrypting your Web Server’ s data streams with SSL makes an enormous diere[...]
-
Page 21
Ser ver F arms The clustering features of Web Server allow you to easily deploy to a server farm. Because all servers in a server farm share identical congurations, tuning is not done on a server-by-server basis. 64–Bit Ser vers The performance for the 64–bit Web Server is not necessarily better than the performance for the 32–bit Web Serv[...]
-
Page 22
Monitoring Ser ver P er formance Making the adjustments described in this guide without measuring their eects doesn’ t make sense. If you don’ t measure the system’ s behavior before and after making a change, you won’t know whether the change was a good idea, a bad idea, or merely irrelevant. You can monitor the performance of Web Serve[...]
-
Page 23
Because using the Administration Server takes computing resources, the command-line interface and the A dmin C onsole are the most costly monitoring methods. For more information on these monitoring methods, see the following sections: ■ “A bout Statistics” on page 23 ■ “M onitoring Current A ctivity Using the Admin Console” on page 25 [...]
-
Page 24
■ J ava DataBase C onnectivity ( JDBC TM ) (available if a JDB C resource is created and the connection pool is accessed) For the virtual server, statistics are available in the following areas: ■ General ■ Response ■ Web A pplications ■ Proling Data (available if proling is enabled) ■ Servlet and Servlet Response Cache (available[...]
-
Page 25
Restart the ser ver . ▼ T o Enable Statistics fr om the CLI Enter the following CLI c ommand to enable statistics collection: ./wadm set-stats-prop --user= admin_user –password-file= password-le --config= mycong enabled=true To disable statistics, set enabled to false. T o set the inter val and enable proling , use the set-stats-prop i[...]
-
Page 26
Monitoring C urrent A c tivity Using the CLI You can also view statistics information using the wadm commands get-config-stats , get-virtual-server-stats , get-webapp-stats and get-servlet-stats . Note that the examples below do not contain all possible command options. For the complete syntax, see the help for the command. ▼ T o Monitor Sta tist[...]
-
Page 27
process.1.timeStarted=Jan 5, 2007 2:20:53 PM process.1.DNSCache.countCacheHits=687804 process.1.DNSCache.countAsyncNameLookup=0 process.1.DNSCache.countAsyncLookupsInProgress=0 process.1.DNSCache.flagAsyncEnabled=false process.1.DNSCache.countAsyncAddrLookups=0 process.1.DNSCache.flagCacheEnabled=true process.1.DNSCache.countCacheMisses=75 process.[...]
-
Page 28
process.1.fileCache.countInfoMisses=19 process.1.jvm.countGarbageCollections=96 process.1.jvm.sizeHeap=67762048 process.1.jvm.countThreads=79 process.1.jvm.countClassesUnloaded=0 process.1.jvm.vMVendor=Sun Microsystems Inc. process.1.jvm.countTotalClassesLoaded=3170 process.1.jvm.vMName=Java HotSpot(TM) Server VM process.1.jvm.countTotalThreadsStar[...]
-
Page 29
The syntax gets the statistics for a given web application deployed on the given virtual server of the given instance. To get the aggregated web application statistics for a given conguration across all the nodes where the conguration has been deployed, use the command without the node option. The following example shows the output for the UR[...]
-
Page 30
Acc ess the stats-xml URI, for example: http:// yourhost : port /stats-xml The statistics are displayed in XML format. ▼ T o Enable the stats-xml URI fr om the CLI Use the follo wing command to enable stats-xml : ./wadm enable-stats-xml --user= admin-user --password-file= admin-password-le [--uri-prefix= prex ]--config= cong-name --vs= v[...]
-
Page 31
■ session-replication ■ thread ■ thread-pool ■ thread-pool-bucket (process-level) ■ virtual-server ■ web-app-bucket ▼ T o View stats-xml Output from the CLI In addition to a URI, you can also access stats-xml output through the command-line interface. I t is enabled by default. Unlike viewing stats-xml output through the URI, the A dm[...]
-
Page 32
Note – The statistics displayed by perfdump are for the server as a whole. If you enable perfdump on one virtual server, it displays statistics for the whole server, not an individual virtual server. Fr om Common T asks, select a conguration. Select the vir tual ser ver and click Edit V ir tual Ser ver . Click the Monitoring Settings tab . Sel[...]
-
Page 33
▼ T o View the perfdump Data from the CLI In addition to a URI, you can also access perfdump output through the command-line interface. I t is enabled by default. Unlike viewing perfdump output through the URI, the A dministration Server must be running to view perfdump output at the command-line. However, if request processing threads are hangin[...]
-
Page 34
------------------------ Active Sessions 128 Keep-Alive Sessions 0 Total Sessions Created 128/128 Server cache disabled Native pools: ---------------------------- NativePool: Idle/Peak/Limit 1/1/128 Work Queue Length/Peak/Limit 0/0/0 TestPool: Idle/Peak/Limit 5/5/10 Work Queue Length/Peak/Limit 0/0/15 DNSCacheInfo: ------------------ enabled yes Ca[...]
-
Page 35
29133 response 192.6.7.7 2 https-test GET /qa_webapp/CheckNetwork.class service-j2ee 29133 response 192.6.7.7 2 https-test GET /qa_webapp/CheckNetwork.class service-j2ee 29133 response 192.6.7.7 2 https-test GET /qa_webapp/CheckNetwork.class service-j2ee 29133 response 192.6.7.7 2 https-test GET /qa_webapp/CheckNetwork.class service-j2ee 29133 requ[...]
-
Page 36
Congur ation You must specify all conguration information for performance buckets in the magnus.conf and obj.conf les. Only the default-bucket is automatically enabled. First, you must enable performance statistics collection and perfdump . The following examples show how to dene new buckets in magnus.conf : Init fn= " define-perf-[...]
-
Page 37
■ Number of Invocations is the total number of times that the function was invoked. This diers from the number of requests in that a function could be called multiple times while processing one request. The percentage column for this row is calculated in reference to the total number of invocations for all of the buckets. ■ Latency is the ti[...]
-
Page 38
38[...]
-
Page 39
T uning Sun Java Syst em W eb S er ver This chapter describes specic adjustments you can make that might improve Sun J ava System Web Server performance. I t provides an overview of Web Server's connection-handling process so that you can better understand the tuning settings. The chapter includes the following topics: ■ “General Tuning[...]
-
Page 40
■ A djust gradually When adjusting a quantitative parameter, make several stepwise changes in succession, rather than trying to make a drastic change all at once. Dierent systems face dierent circumstances, and you might leap right past your system’ s best setting if you change the value too rapidly. ■ Start fresh A t each major system [...]
-
Page 41
A request processing thread might also be instructed to send the request to a dierent thread pool for processing. For example, if the request processing thread must perform some work that is not thread-safe, it might be instructed to send part of the processing to the N ativePool. Once the N ativePool completes its work, it communicates the resu[...]
-
Page 42
Connection–Handling magnus.conf Dir ec tives f or NSAPI In addition to the settings discussed above, you can edit the following directives in the magnus.conf le to congure additional request-processing settings for NSAPI plug-ins: ■ KernelThreads – Determines whether NSAPI plug-ins always run on kernel-scheduled threads (Windows only) ?[...]
-
Page 43
3. A dierent thread in my-custom-pool , called the B1 thread in this example, picks up the request queued by A1. B1 completes the request and returns to the wait stage. 4. The A1 thread wakes up and continues processing the request. I t executes the ObjectType SAF and moves on to the Service function. 5. Because the Service function must be proc[...]
-
Page 44
Init funcs= " pcheck_uri_clean_fixed_init " shlib= " C:/Sun/webserver7/lib/custom.dll " fn= " load-modules " NativeThread= " no " The NativeThread ag aects all functions in the funcs list, so if you have more than one function in a library, but only some of them use native threads, use separate Init lin[...]
-
Page 45
The advantage of multiple processes is that legacy applications that are not thread-aware or thread-safe can be run more eectively in Sun J ava System Web Server. However, because all of the Sun J ava System extensions are built to support a single-process threaded environment, they might not run in the multi-process mode. The Search plug-ins fa[...]
-
Page 46
■ J ava applications that do not require session management Do not use the MaxP rocs directive when the Sun Java System Web Server performs session management for J ava applications. You can set the value for MaxProcs by editing the MaxProcs parameter in magnus.conf . Note – You will receive duplicate startup messages when running your server i[...]
-
Page 47
T ABLE 2–1 Parameter M apping to server.xml (Continued) Web Server 6.1 parameter Web Server 7.0 server.xml element or attribute A dmin Console Location wadm command dns-cache-init Init SAF cache size max-entries element of the dns-cache element Conguration's P erformance tab ⇒ DNS tab set-dns-cache-prop command's max-entries proper[...]
-
Page 48
T ABLE 2–1 Parameter M apping to server.xml (Continued) Web Server 6.1 parameter Web Server 7.0 server.xml element or attribute A dmin Console Location wadm command NativePoolQueueSize in magnus.conf Unchanged NativePoolStackSize in magnus.conf Unchanged RqThrottle in magnus.conf max-threads element of the thread-pool element Conguration'[...]
-
Page 49
■ “J ava Virtual Machine (JVM) Information” on page 70 ■ “Web A pplication Information” on page 71 ■ “JDBC Resource Information” on page 72 Once you have viewed the statistics you need, you can tune various aspects of your server’ s performance at the conguration level using the A dmin C onsole's P erformance tab. The Ad[...]
-
Page 50
T ABLE 2–2 Connection Queue Statistics Present N umber of Connections Queued 0 Total N umber of Connections Queued 11222922 A verage C onnections O ver Last 1 Minute 90.35 A verage C onnections O ver Last 5 Minutes 89.64 A verage C onnections O ver Last 15 Minutes 54.02 Maximum Queue Size 160032 P eak Queue Size 1853 N umber of Connections O ver?[...]
-
Page 51
This setting is not tunable. A ver age Queue Length The A verage Queue Length shows the average number of connections in the queue over the last one-minute, ve-minute, and 15–minute intervals. This setting is not tunable. A ver age Queuing Delay The A verage Queueing Delay is the average amount of time a connection spends in the connection que[...]
-
Page 52
If you have created multiple HTTP listeners, perfdump displays all of them. To edit an HTTP listener using the A dmin C onsole, for the conguration, select the HTTP Listeners tab. Click the listener name to edit the listener. To congure an HTTP listener using the command-line interface, use the command wadm set-http-listener-prop . For more i[...]
-
Page 53
Default V ir tual Ser ver Virtual servers work using the HTTP 1.1 Host header. I f the end user’ s browser does not send the Host header, or if the server cannot nd the virtual server specied by the H ost header, Web Server handles the request using a default virtual server. You can congure the default virtual server to send an error mes[...]
-
Page 54
T ABLE 2–3 Keep-Alive Statistics (Continued) Connection Timeout 10 Both HTTP 1.0 and HTTP 1.1 support the ability to send multiple requests across a single HTTP session. A web server can receive hundreds of new HTTP requests per second. If every request was allowed to keep the connection open indenitely, the server could become overloaded with[...]
-
Page 55
T uning You can tune the maximum number of connections that the server allows to wait at one time before closing the oldest connection in the A dmin C onsole by editing the Maximum Connections eld on the conguration's Performance tab ⇒ HTTP tab, under K eep Alive Settings. The default is 200. In the command-line interface, use the max-[...]
-
Page 56
Keep-Alive P oll Interval The keep-alive poll interval species the interval (in seconds) at which the system polls keep-alive connections for further requests. The default is 0.001 second, the lowest value allowed. I t is set to a low value to enhance performance at the cost of CPU usage. To tune the poll interval, edit the P oll Interval eld[...]
-
Page 57
Also, chunked encoding could aect the performance for HTTP 1.1 workload. Tuning the response buer size could positively aect the performance. A higher response buer size in the conguration's P erformance tab ⇒ HTTP tab would result in sending a Content-length: header, instead of chunking the response. To set the buer size u[...]
-
Page 58
The equivalent information as the Total N umber of Threads is available through the Admin Console from the Monitoring tab ⇒ I nstances sub tab, under General Statistics. To see the maximum threads allowed, see the Maximum Threads eld on the conguration's P erformance tab ⇒ HTTP sub tab, under Thread P ool Settings. To get the equival[...]
-
Page 59
Suitable maximum threads values range from 100-500, depending on the load. Maximum Threads represents a hard limit for the maximum number of active threads that can run simultaneously, which can become a bottleneck for performance. The default value is 128. The thread pool minimum threads is the minimum number of threads the server initiates upon s[...]
-
Page 60
File Cache Entries 141/1024 File Cache Hit Ratio 652/664 ( 98.19%) Maximum Age 30 Accelerator Entries 120/1024 Acceleratable Requests 281/328 ( 85.67%) Acceleratable Responses 131/144 ( 90.97%) Accelerator Hit Ratio 247/281 ( 87.90%) The following table shows the le cache statistics as displayed in the A dmin Console: T ABLE 2–4 File Cache Sta[...]
-
Page 61
File Cache Entries number, you can improve the accelerator cache utilization by following the tuning information described in “A cceleratable Requests” on page 61 and “Acceleratable Responses” on page 61 . Ac celeratable Requests The number of client requests that were eligible for processing by the accelerator cache. Only simple GET reques[...]
-
Page 62
T uning Higher hit ratios result in better performance. To maximize the hit ratio, see the tuning information for “A cceleratable Responses” on page 61 . File C ache Enabled If the cache is disabled, the rest of this section is not displayed in perdump . I n the Admin Console, the File Cache Statistics section shows zeros for the values. T unin[...]
-
Page 63
T uning Set the maximum age based on whether the content is updated (existing les are modied) on a regular schedule. For example, if content is updated four times a day at regular intervals, you could set the maximum age to 21600 seconds (6 hours). Otherwise, consider setting the maximum age to the longest time you are willing to serve the pr[...]
-
Page 64
... </Object> <Object name= " myname " > Service method=(GET|HEAD) type=*~magnus-internal/* fn=send-file nocache= "" </Object> In the above example, the server does not cache static les from /export/mydir/ when requested by the URL prex /myurl . For more information on editing obj.conf , see Sun J ava Sys[...]
-
Page 65
ReplaceFiles: false ReplaceInterval: 1 milliseconds HitOrder: false CacheFileContent: true TransmitFile: false MaxAge: 3600 seconds MaxFiles: 600000 files SmallFileSizeLimit: 500000 bytes MediumFileSizeLimit: 1000001 bytes BufferSize: 8192 bytes CopyFiles: false Directory for temporary files: /tmp Hash table size: 1200007 buckets You can include a [...]
-
Page 66
Nativ e Thread Pool The following example shows native thread pool information as it appears in perfdump : Native pools: ---------------------------- NativePool: Idle/Peak/Limit 1/1/128 Work Queue Length/Peak/Limit 0/0/0 my-custom-pool: Idle/Peak/Limit 1/1/128 Work Queue Length/Peak/Limit 0/0/0 If you have dened additional custom thread pools, t[...]
-
Page 67
Peak (P eak Requests Queued in the Admin Console) is the highest number of requests that were ever queued up simultaneously for the use of a native thread since the server was started. This value can be viewed as the maximum concurrency for requests requiring a native thread. Limit is the maximum number of requests that can be queued at one time to[...]
-
Page 68
The dierence between this value and the maximum threads is the number of requests reserved for non-native thread requests, such as static HTML and image les. Keeping a reserve and rejecting requests ensures that your server continues to ll requests for static les, which prevents it from becoming unresponsive during periods of very heavy[...]
-
Page 69
CacheEntries 4/1024 HitRatio 62854802/62862912 ( 99.99%) AsyncDNS Data: ------------------ enabled yes NameLookups 0 AddrLookups 0 LookupsInProgress 0 The following example shows the DNS Cache information as displayed in the A dmin C onsole: T ABLE 2–6 DNS Cache Statistics Total Cache Hits 62854802 Total Cache Misses 6110 N umber of Asynchronous [...]
-
Page 70
T uning You can set the maximum size of the DNS cache in the A dmin Console in the Maximum Cache Size eld on the conguration's P erformance tab ⇒ DNS sub tab, under DNS Cache Settings. To set it using the command-line-interface, use wadm set-dns-cache-prop and set the max-entries property. The default cache size is 1024. The value rang[...]
-
Page 71
T ABLE 2–7 Java Virtual M achine (JVM) Statistics (Continued) Total N umber of Classes Unloaded 0 N umber of Garbage Collections Occurred 3 N umber of Live Threads 8 N umber of Started Threads 9 P eak Live Thread C ount 8 M ost of these statistics are not tunable. They provide information about the JVM's operation. Another source of tuning i[...]
-
Page 72
On the Monitoring Statistics page , click V irtual Ser ver Statistics. Click the virtual ser ver name. On the Vi r tual Ser ver Monitoring Statistics page , click W eb Applications. Select the web application for which to view statistics fr om the W eb Application pull-down menu. W eb Application Sta tistics The following table shows an example of [...]
-
Page 73
The use of connection pooling improves application performance by doing the following: ■ Creating connections in advance. The cost of establishing connections is moved outside of the code that is critical for performance. ■ Reusing connections. The number of times connections are created is signicantly lowered. ■ Controlling the amount of [...]
-
Page 74
Connections This number shows the current JDBC connections, including both free and busy connections. Tuning – This setting cannot be tuned, but it is a good indicator of recent pool activity. If the number of connections is consistently higher than the minimum number of connections, consider increasing the minimum number of connections to be clo[...]
-
Page 75
JDBC Resource Sta tistics Not A vailable in the Admin C onsole Some JDBC statistics are available through the wadm get-config-stats command (using the --node option), through stats-xml , and through SNMP but not through the Admin Console. maxConnections – The congured maximum size of the pool. Use as a reference for other statistics. To change[...]
-
Page 76
minimize creation of connections during the life of the application and minimize pool resizing. Use a lower number if the pool load is expected to be small, to minimize resource consumption. ■ Maximum connections The maximum number of connections that a pool can have at any given time. Defaults to 32. Use this setting to enforce a limit in the am[...]
-
Page 77
The user-dened table to use for validation when the validation method is table . Defaults to test . If this method is used, the table used should be dedicated only to validation, and the number of rows in the table should be kept to a minimum. ■ Fail All Connections Indicates whether all connections in the pool are re-created when one is found[...]
-
Page 78
While it would be extremely unusual to hit this possible performance problem, the number of groups cached in a single A CL cache entry can be tuned with Maximum Groups setting on the conguration's P erformance tab ⇒ Cache sub tab. Or you can use the max-groups-per-user property of the wadm set-acl-cache-prop command. The maximum age setti[...]
-
Page 79
When adding a web application, either through the A dmin C onsole or CLI, choose the precompile JSP s option. Enabling precompiled JSPs allows all the JSP s present in the web application to be pre-compiled, and their corresponding servlet classes are bundled in the web application's WEB-INF/lib or WEB-INF/classes directory. When a JSP is acce[...]
-
Page 80
A v oiding Directories in the Classpath For certain applications (especially if the J ava Security M anager is enabled) you can improve performance by ensuring that there are no unneeded directories in the classpath. To do so, change the Server Class Path, Class P ath Prex, and Class P ath Sux elds on the conguration's J ava tab ?[...]
-
Page 81
T uning MMapS essionManager (UNIX/Linux) The following example describes the eect on process size when conguring the persistence-type= " mmap " using the manager-properties properties. For more information, see “MMap Session M anager (UNIX Only)” in Sun J ava System Web Server 7.0 Update 1 Developer’ s Guide to J ava Web A ppl[...]
-
Page 82
Using nd-pa thinfo-for ward The find-pathinfo-forward parameter used in obj.conf can help improve your performance. I t is used with the PathCheck function find-pathinfo and the NameTrans functions pfx2dir and assign-name . The find-pathinfo-forward parameter instructs the server to search forward for PATH_INFO in the path after ntrans-base , in[...]
-
Page 83
In the previous example, the server does not stat for path / ntrans-base /nsfc and / ntrans-base /nsfc/* if ntrans-base is set. If ntrans-base is not set, the server does not stat for URLs /nsfc and /nsfc/* . By default, ntrans-base is set. The example assumes the default PathCheck server functions are used. When you use nostat= virtual-path in the[...]
-
Page 84
84[...]
-
Page 85
C ommon P er formanc e Pr oblems This chapter discusses common web site performance problems, and includes the following topics: ■ “check-acl Server A pplication Functions” on page 85 ■ “Low-Memory Situations” on page 86 ■ “Too Few Threads” on page 86 ■ “Cache Not Utilized” on page 87 ■ “Keep-Alive Connections Flushed”[...]
-
Page 86
Lo w-Memor y Situations If Web Server must run in low-memory situations, reduce the thread limit to a bare minimum by lowering the value of the Maximum Threads setting on the conguration's P erformance Tab ⇒ HTTP sub tab. You can also set it with wadm set-thread-pool-prop command's max-threads property. Your web applications running [...]
-
Page 87
Cache Not Utilized If the le cache is not utilized, your server is not performing optimally. Since most sites have lots of GIF or JPEG les that should always be cacheable, you need to use your cache eectively. Some sites, however, do almost everything through CGIs, SHTML, or other dynamic sources. Dynamic content is generally not cacheable[...]
-
Page 88
Caution – On UNIX/Linux systems, if the keep-alive maximum connections value is too high, the server can run out of open le descriptors. Typically 1024 is the limit for open les on UNIX/Linux, so increasing this value above 500 is not recommended. Log F ile Modes Keeping the log les on a high-level of verbosity can have a signicant im[...]
-
Page 89
Platf orm-Specic Issues and Tips This chapter provides platform-specic tuning tips, and includes the following topics: ■ “Solaris Platform-Specic Issues” on page 89 ■ “Solaris File System Tuning” on page 93 ■ “Solaris Platform-Specic P erformance Monitoring” on page 94 ■ “Tuning Solaris for P erformance Benchmarkin[...]
-
Page 90
An alternative way to make this change is using the ulimit –n " value " command. Using this command does not require a system restart. However, this command only changes the login shell, while editing the etc/system le aects all shells. F ailure to Connect to HT TP Ser ver If users are experiencing connection timeouts from a brows[...]
-
Page 91
C onnec tion Refused Errors If users are experiencing connection refused errors on a heavily loaded server, you can tune the use of network resources on the server. When a TCP/IP connection is closed, the port is not reused for the duration of tcp_time_wait_interval (default value of 240000 milliseconds). This is to ensure that there are no leftove[...]
-
Page 92
■ nca(1) ■ snca(1) ■ nca.if(4) ■ ncakmod.conf(4) ■ ncalogd.conf(4) ▼ T o Enable SNCA to W ork W ith W eb S er ver This procedure assumes that SNCA has been congured, as discussed above. Fr om the Common T asks page, choose a conguration and click E dit Conguration. Click the HTTP Listeners tab and selec t the HT TP listener to [...]
-
Page 93
Solaris File S y stem T uning This section discusses changes that can be made for le system tuning, and includes topics that address the following issues: ■ “High F ile System Page-I n Rate” on page 93 ■ “Reduce File System H ousekeeping” on page 93 ■ “Long Service Times on Busy Disks or Volumes” on page 93 Please read the desc[...]
-
Page 94
(the %b and svc_t columns, respectively). Service times are unimportant for disks that are less than about 30% busy, but for busier disks, service times should not exceed about 20 milliseconds. If your busy disks have slower service times, improving disk performance might help Web Server performance substantially. Your rst step should be to bala[...]
-
Page 95
■ The mpstat 60 command gives a detailed look at CPU statistics, while the netstat -i 60 command summarizes network activity. Long- T erm Syst em Monitoring I t is important not only to " spot-check " system performance with the tools mentioned above, but to collect longer-term performance histories so you can detect trends. If nothing [...]
-
Page 96
T uning Solaris for P er formance Benchmarking The following table shows the operating system tuning for Solaris used when benchmarking for performance and scalability. These values are an example of how you might tune your system to achieve the desired result. T ABLE 4–1 Tuning Solaris for Performance Benchmarking Parameter Scope Default Value T[...]
-
Page 97
T uning UltraSP ARC® T1–Based Sy stems f or P er formance Benchmarking Use a combination of tunable parameters and other parameters to tune your system for performance benchmarking. These values are an example of how you might tune your system to achieve the desired result. T uning Opera ting Sy stem and T CP Settings The following table shows t[...]
-
Page 98
T ABLE 4–2 Tuning 64–bit Systems for Performance Benchmarking (Continued) Parameter Scope Default Value T uned Value Comments tcp_conn_req_max_q0 ndd /dev/tcp 1024 3000 tcp_max_buf ndd /dev/tcp 4194304 tcp_cwnd_max ndd/dev/tcp 2097152 tcp_xmit_hiwat ndd /dev/tcp 8129 400000 To increase the transmit buer. tcp_recv_hiwat ndd /dev/tcp 8129 4000[...]
-
Page 99
tmp= ‘ expr $tmp + 1 ‘ done done Put all network interfaces into a single group. For example: $ifconfig ipge0 group webserver $ifconfig ipge1 group webserver W eb S er ver Start O ptions In some cases, performance can be improved by using large page sizes. To start the 32–bit Web Server with 4 MB pages: LD_PRELOAD_32=/usr/lib/mpss.so.1 ; expo[...]
-
Page 100
100[...]
-
Page 101
Sizing and Scaling Y our Ser ver This chapter examines the subsystems of your server, and provides recommendations for optimal performance. The chapter includes the following topics: ■ “64-Bit Server” on page 101 ■ “Processors” on page 101 ■ “M emory” on page 102 ■ “Drive Space” on page 102 ■ “Networking” on page 102 6[...]
-
Page 102
Memor y As a baseline, Web Server requires 64 MB RAM. M ultiple CPUs require at least 64 MB for each CPU. For example, if you have four CPUs, you should install at least 256 MB RAM for optimal performance. For high numbers of peak concurrent users, also allow extra RAM for the additional threads. After the rst 50 concurrent users, add an extra 5[...]
-
Page 103
Scalabilit y Studies This chapter describes the results of scalability studies. You can refer to these studies for a sample of how the server performs, and how you might congure your system to best take advantage of Web Server’ s strengths. This chapter includes the following topics: ■ “Study Goals” on page 103 ■ “Study Conclusion”[...]
-
Page 104
Study C onclusion When tuned, Sun J ava System Web Server 7.0 scaled almost linearly in performance for dynamic and static content. Hardw are The studies (except for the e-commerce study) were conducted using the following hardware. For hardware information for the e-commerce study, see “H ardware for E-Commerce Test” on page 122 . Web Server s[...]
-
Page 105
Softw ar e The load driver for these tests was an internally-developed J ava application framework called the Faban driver. C onguration and T uning The following tuning settings are common to all the tests in this study. Individual studies may also have additional conguration and tuning information. /etc/system tuning: set rlim_fd_max=500000[...]
-
Page 106
ndd -set /dev/tcp tcp_max_buf 4194304 ndd -set /dev/tcp tcp_cwnd_max 2097152 ndd -set /dev/tcp tcp_recv_hiwat 400000 ndd -set /dev/tcp tcp_xmit_hiwat 400000 Netw ork Congur ation Since the tests used multiple network interfaces, it was important to make sure that all the network interfaces were not going to the same core. N etwork interrupts wer[...]
-
Page 107
5 no-intr since 12/07/2006 09:17:04 ................. W eb Server T uning The following table shows the tuning settings used for the Web Server. T ABLE 6–1 Web Server Tuning Settings Component Default T uned Access logging enabled = true enabled = false Thread pool min-threads = 16 max-threads = 128 stack-size = 131072 queue-size = 1024 min-threa[...]
-
Page 108
P er formance T ests and Results This section contains the test-specic conguration, tuning, and results for the following tests: ■ “Static Content Test” on page 108 ■ “Dynamic C ontent Test: Servlet” on page 110 ■ “Dynamic C ontent Test: C CGI” on page 111 ■ “Dynamic C ontent Test: P erl CGI” on page 113 ■ “Dynamic[...]
-
Page 109
T ABLE 6–3 File Cache Conguration Default T uned enabled = true max-age = 30 sec max-entries = 1024 sendfile = false max-heap-file-size = 524288 max-heap-space = 10485760 max-mmap-file-size = 0 max-mmap-space = 0 enabled = true max-age = 3600 max-entries = 1048576 sendfile = true max-heap-file-size = 1200000 max-heap-space = 8000000000 max-mma[...]
-
Page 110
Dynamic Content T est: Ser vlet This test was conducted using the servlet. The test prints out the servlet's initialization arguments, environments, request headers, connection and client information, URL information, and remote user information. JVM tuning settings were applied to the server. The goal was to saturate the cores on the server a[...]
-
Page 111
The following table shows the results for the dynamic content servlet test. T ABLE 6–6 Dynamic C ontent Test: Servlet Scalability Number Of Cores Aver age Thr oughput (ops/sec) Av erage Response T ime (ms) 2 5287 19 4 10492 19 6 15579 19 The following is a graphical representation of servlet scalability results. Dynamic Content T est: C C GI This[...]
-
Page 112
T ABLE 6–7 CGI Tuning Settings Default T uned idle-timeout = 300 cgistub-idle-timeout = 30 min-cgistubs = 0 max-cgistubs = 16 idle-timeout = 300 cgistub-idle-timeout = 1000 min-cgistubs = 100 max-cgistubs = 100 The following table shows the results of the dynamic content test for C CGI. T ABLE 6–8 Dynamic C ontent Test: C CGI Scalability Number[...]
-
Page 113
Dynamic Content T est: P erl C GI This test was conducted with P erl script called printenv.pl that prints the CGI environment. CGI tuning settings were applied to the server. The goal was to saturate the cores on the server and nd out the respective throughput and response time. The following table shows the CGI tuning settings used in the dyna[...]
-
Page 114
Dynamic Content T est: NSAPI The NSAPI module used in this test was printenv2.so . I t prints the NSAPI environment variables along with some text to make the entire response 2 KB. The goal was to saturate the cores on the server and nd out the respective throughput and response time. The only tuning for this test was optimizing the path checks [...]
-
Page 115
PHP Sc alability T ests PHP is a widely-used scripting language uniquely suited to creating dynamic, Web-based content. I t is the most rapidly expanding scripting language in use on the Internet due to its simplicity, accessibility, wide number of available modules, and large number of easily available applications. The scalability of Web Server c[...]
-
Page 116
T ABLE 6–12 Tuning Settings for FastCGI Plug-in Test Conguration T uning magnus.conf Init fn= " load-modules " shlib= " path_to_web_server_plugin_dir /fastcgi/libfastcgi.so " funcs= " responder_fastcgi " shlib_flags= " (global|now) " obj.conf NameTrans fn= " assign-name " from= " /fcgi/* &[...]
-
Page 117
PHP Scalability with NSAPI The following table shows the Web Server tuning settings for the PHP with NSAPI test. T ABLE 6–14 NSAPI Plug-in Conguration for PHP magnus.conf Init fn= " load-modules " shlib= " libphp5.so " funcs= " php5_init,php5_close,php5_execute " Init fn= " php5_init " errorString= "[...]
-
Page 118
T ABLE 6–15 PHP Scalability with NSAPI Number of Cores Average Throughput (ops/sec) Av erage Response T ime (ms) 2 950 105 4 1846 108 6 2600 115 The following is a graphical representation of PHP scalability with NSAPI. SSL P er formance T est: Static C ontent This test was performed with static download of a randomly selected le from a pool o[...]
-
Page 119
■ Web Server is congured with 64 bit The following table shows the SSL static content test results. T ABLE 6–16 SSL Performance Test: Static Content Scalability Number of Cores Average Throughput (ops/sec) Av erage Response T ime (ms) 2 2284 379 4 4538 387 6 6799 387 The following is a graphical representation of static content scalability w[...]
-
Page 120
T ABLE 6–17 SSL Performance Test: P erl CGI Scalability Number of Cores Average Throughput (ops/sec) Av erage Response T ime (ms) 2 303 329 4 580 344 6 830 361 The following is a graphical representation of P erl scalability with SSL. SSL P er formance T est: C C GI This test was performed by accessing a C executable called printenv in SSL mode. [...]
-
Page 121
T ABLE 6–18 SSL Performance Test: C CGI Scalability Number of Cores Average Throughput (ops/sec) Av erage Response T ime (ms) 2 792 126 4 1499 133 6 2127 141 The following is a graphical representation of C CGI scalability with SSL. SSL P er formance T est: NSAPI The NSAPI module used in this test was printenv2.so . I t prints the NSAPI environme[...]
-
Page 122
T ABLE 6–19 SSL Performance Test: NSAPI Scalability Number of Cores Average Throughput (ops/sec) Av erage Response T ime (ms) 2 2729 29 4 5508 30 6 7982 32 The following is a graphical representation of NSAPI scalability with SSL. E-Commerc e W eb Application T est The e-commerce application is a more complicated application that utilizes a datab[...]
-
Page 123
Database system conguration: ■ Sun Microsystems Sun Fire 880 ( 900MH z US-III+) ■ 16384 M egabytes of memory ■ Solaris 10 operating system ■ Oracle 10.1.0.2.0 Driver system conguration: ■ Sun Microsystems Sun Fire 880 ( 900MH z US-III+) ■ Solaris 10 operating system Network conguration: The Web Server, database, and the driver [...]
-
Page 124
JVM tuning: -server -Xmx1500m -Xms1500m -Xss128k -XX:+DisableExplicitGC E-commerce Application Description The test models an e-commerce web site that sells items from a large inventory. I t uses the standard web application model-view-controller design pattern for its implementation: the user interface (that is, the view) is handled by 16 diere[...]
-
Page 125
T ABLE 6–20 Performance Test P ass Criteria (Continued) T ransaction 90th Perc entile Response Time (Seconds) BuyRequest 3 CustomerRegistration 3 Home 3 NewP roducts 5 OrderDisplay 3 OrderInquiry 3 ProductDetail 3 SearchRequest 3 SearchResults 10 ShoppingCart 3 The following table shows the e-commerce web application test results. T ABLE 6–21 E[...]
-
Page 126
The following is a graphical representation of e-commerce web application scalability. Number of CPUs E-commerce W eb Application Scalability 11500 11000 10500 10000 9500 9000 8500 8000 7500 7000 2 4 Users Users Number of CPUs E-commerce W eb Application Scalability 1150 1200 1250 1300 1350 1100 1050 1000 950 900 850 800 750 24 Throughput(ops/sec) [...]
-
Page 127
Index Numbers and Symbols 64–bit servers performance advantages, 21 scaling, 101 A acceptor threads, 52 access time updates, 93 acl-bucket, 36 A CL user cache, 77-78 max-groups-per-user, 78 max-users, 77 maximum age, 78 activating statistics, 24-25 A ddLog, 83 A dmin C onsole, more information about, 12 assign-name function, 82 async DNS cache, 7[...]
-
Page 128
disabling network interrupts, 98-99 disk conguration, 98 DNS cache, 68-70 async enabled, 70 current entries, 69-70 entries, 69-70 hit ratio, 70 maximum entries, 69-70 drive space, sizing issues, 102 dynamic control and monitoring, le cache, 64 dynamic reload interval, 79 E enable-perfdump command, 32 enable-stats-xml command, 30 enabling stat[...]
-
Page 129
J J ava ES monitoring console, 37 J ava heap tuning, 71 J ava HotSpot VM, 71 java.lang.OutOfM emoryError, 86 J ava Security Manager, conguring, 79 J ava VM heap space, 86 J ava web applications, tuning performance, 78-81 JDBC connection pooling, improving application performance, 73 JDBC resources, 72-77 connection settings, 75-77 connections, 7[...]
-
Page 130
monitoring server performance (Continued) using J ava EE monitoring console, 37 using perfdump, 31-37 using performance buckets, 35-37 using SE toolkit, 95 using stats-xml, 29-31 mpstat 60 command, 95 multi-process mode, 44-46 N N ameTrans, 43, 82 native thread pool, 43-44, 66 N ativePoolM axThreads, 66, 68 N ativePoolM inThreads, 68 N ativePoolQue[...]
-
Page 131
Q quality of service features, 20 statistics and, 24 queued connections, in JDBC resources, 74 R ratio, hit, 62 reapIntervalSeconds, 80 refresh, 65 reload-interval, 78 restart, 65 rlim_fd_max, 89, 96, 97 S scalability studies, 103-126 SE toolkit, 95 segmap_percent, 93 send-cgi, 35 send-le, nocache parameter, 63 server instances, statistics, 23 S[...]
-
Page 132
TerminateTimeout directive, 42 test results, 103-126 thread pools, 48, 65-68 custom, 42-43 disabled, 41 native thread pool, 43-44, 66 threads, 40-46 acceptor, 52 creation statistics, 57-59 keep-alive, 56 maximum, 58 maximum and SNCA, 92 multi-process mode, 44 too few, 86 tips, general, 39-40 transaction isolation level, JDBC resource, 77 tuning max[...]