Sun Microsystems 7 инструкция обслуживания

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132

Идти на страницу of

Хорошее руководство по эксплуатации

Законодательство обязывает продавца передать покупателю, вместе с товаром, руководство по эксплуатации Sun Microsystems 7. Отсутствие инструкции либо неправильная информация, переданная потребителю, составляют основание для рекламации в связи с несоответствием устройства с договором. В законодательстве допускается предоставлении руководства в другой, чем бумажная форме, что, в последнее время, часто используется, предоставляя графическую или электронную форму инструкции Sun Microsystems 7 или обучающее видео для пользователей. Условием остается четкая и понятная форма.

Что такое руководство?

Слово происходит от латинского "instructio", тоесть привести в порядок. Следовательно в инструкции Sun Microsystems 7 можно найти описание этапов поведения. Цель инструкции заключается в облегчении запуска, использования оборудования либо выполнения определенной деятельности. Инструкция является набором информации о предмете/услуге, подсказкой.

К сожалению немного пользователей находит время для чтения инструкций Sun Microsystems 7, и хорошая инструкция позволяет не только узнать ряд дополнительных функций приобретенного устройства, но и позволяет избежать возникновения большинства поломок.

Из чего должно состоять идеальное руководство по эксплуатации?

Прежде всего в инструкции Sun Microsystems 7 должна находится:
- информация относительно технических данных устройства Sun Microsystems 7
- название производителя и год производства оборудования Sun Microsystems 7
- правила обслуживания, настройки и ухода за оборудованием Sun Microsystems 7
- знаки безопасности и сертификаты, подтверждающие соответствие стандартам

Почему мы не читаем инструкций?

Как правило из-за нехватки времени и уверенности в отдельных функциональностях приобретенных устройств. К сожалению само подсоединение и запуск Sun Microsystems 7 это слишком мало. Инструкция заключает ряд отдельных указаний, касающихся функциональности, принципов безопасности, способов ухода (даже то, какие средства стоит использовать), возможных поломок Sun Microsystems 7 и способов решения проблем, возникающих во время использования. И наконец то, в инструкции можно найти адресные данные сайта Sun Microsystems, в случае отсутствия эффективности предлагаемых решений. Сейчас очень большой популярностью пользуются инструкции в форме интересных анимаций или видео материалов, которое лучше, чем брошюра воспринимаются пользователем. Такой вид инструкции позволяет пользователю просмотреть весь фильм, не пропуская спецификацию и сложные технические описания Sun Microsystems 7, как это часто бывает в случае бумажной версии.

Почему стоит читать инструкции?

Прежде всего здесь мы найдем ответы касательно конструкции, возможностей устройства Sun Microsystems 7, использования отдельных аксессуаров и ряд информации, позволяющей вполне использовать все функции и упрощения.

После удачной покупки оборудования/устройства стоит посвятить несколько минут для ознакомления с каждой частью инструкции Sun Microsystems 7. Сейчас их старательно готовят или переводят, чтобы они были не только понятными для пользователя, но и чтобы выполняли свою основную информационно-поддерживающую функцию.

Содержание руководства

  • Страница 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[...]

  • Страница 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[...]

  • Страница 3

    Cont ents Preface ...................................................................................................................................................11 1 Performance and Monitoring Overview .......................................................................................... 19 P erformance Issues ..............................[...]

  • Страница 4

    2 T uning Sun Ja va Sy stem W eb Server ................................................................................................ 39 General Tuning Tips ........................................................................................................................... 39 Understanding Threads, Processes, and Connections .............[...]

  • Страница 5

    Low-Memory Situations ..................................................................................................................... 86 Too Few Threads ................................................................................................................................. 86 Cache Not Utilized .......................................[...]

  • Страница 6

    Networking ........................................................................................................................................ 102 6 Scalability Studies .............................................................................................................................103 Study Goals ...................................[...]

  • Страница 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 .........................................................[...]

  • Страница 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 .....................................................[...]

  • Страница 9

    F igur es FIGURE 2–1 Web Server C onnection Handling .......................................................................... 40 9[...]

  • Страница 10

    10[...]

  • Страница 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 congu[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 18

    18[...]

  • Страница 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-trac 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[...]

  • Страница 20

    servers the goal might be to provide a targeted level of performance at dierent price points. You need to dene 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 diere[...]

  • Страница 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 congurations, 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[...]

  • Страница 22

    Monitoring Ser ver P er formance Making the adjustments described in this guide without measuring their eects 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[...]

  • Страница 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 [...]

  • Страница 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 ■ Proling Data (available if proling is enabled) ■ Servlet and Servlet Response Cache (available[...]

  • Страница 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= mycong enabled=true To disable statistics, set enabled to false. T o set the inter val and enable proling , use the set-stats-prop i[...]

  • Страница 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[...]

  • Страница 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.[...]

  • Страница 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[...]

  • Страница 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 conguration across all the nodes where the conguration has been deployed, use the command without the node option. The following example shows the output for the UR[...]

  • Страница 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= prex ]--config= cong-name --vs= v[...]

  • Страница 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[...]

  • Страница 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 conguration. Select the vir tual ser ver and click Edit V ir tual Ser ver . Click the Monitoring Settings tab . Sel[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 36

    Congur ation You must specify all conguration 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 dene new buckets in magnus.conf : Init fn= " define-perf-[...]

  • Страница 37

    ■ Number of Invocations is the total number of times that the function was invoked. This diers 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[...]

  • Страница 38

    38[...]

  • Страница 39

    T uning Sun Java Syst em W eb S er ver This chapter describes specic 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[...]

  • Страница 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. Dierent systems face dierent 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 [...]

  • Страница 41

    A request processing thread might also be instructed to send the request to a dierent 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[...]

  • Страница 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 congure additional request-processing settings for NSAPI plug-ins: ■ KernelThreads – Determines whether NSAPI plug-ins always run on kernel-scheduled threads (Windows only) ?[...]

  • Страница 43

    3. A dierent 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[...]

  • Страница 44

    Init funcs= " pcheck_uri_clean_fixed_init " shlib= " C:/Sun/webserver7/lib/custom.dll " fn= " load-modules " NativeThread= " no " The NativeThread ag aects 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[...]

  • Страница 45

    The advantage of multiple processes is that legacy applications that are not thread-aware or thread-safe can be run more eectively 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[...]

  • Страница 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[...]

  • Страница 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 Conguration's P erformance tab ⇒ DNS tab set-dns-cache-prop command's max-entries proper[...]

  • Страница 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 Conguration'[...]

  • Страница 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 conguration level using the A dmin C onsole's P erformance tab. The Ad[...]

  • Страница 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?[...]

  • Страница 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[...]

  • Страница 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 conguration, select the HTTP Listeners tab. Click the listener name to edit the listener. To congure an HTTP listener using the command-line interface, use the command wadm set-http-listener-prop . For more i[...]

  • Страница 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 specied by the H ost header, Web Server handles the request using a default virtual server. You can congure the default virtual server to send an error mes[...]

  • Страница 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 indenitely, the server could become overloaded with[...]

  • Страница 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 conguration's Performance tab ⇒ HTTP tab, under K eep Alive Settings. The default is 200. In the command-line interface, use the max-[...]

  • Страница 56

    Keep-Alive P oll Interval The keep-alive poll interval species 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[...]

  • Страница 57

    Also, chunked encoding could aect the performance for HTTP 1.1 workload. Tuning the response buer size could positively aect the performance. A higher response buer size in the conguration's P erformance tab ⇒ HTTP tab would result in sending a Content-length: header, instead of chunking the response. To set the buer size u[...]

  • Страница 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 conguration's P erformance tab ⇒ HTTP sub tab, under Thread P ool Settings. To get the equival[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 63

    T uning Set the maximum age based on whether the content is updated (existing les are modied) 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[...]

  • Страница 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 prex /myurl . For more information on editing obj.conf , see Sun J ava Sys[...]

  • Страница 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 [...]

  • Страница 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 dened additional custom thread pools, t[...]

  • Страница 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[...]

  • Страница 68

    The dierence 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[...]

  • Страница 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 [...]

  • Страница 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 conguration'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[...]

  • Страница 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[...]

  • Страница 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 [...]

  • Страница 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 signicantly lowered. ■ Controlling the amount of [...]

  • Страница 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[...]

  • Страница 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 congured maximum size of the pool. Use as a reference for other statistics. To change[...]

  • Страница 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[...]

  • Страница 77

    The user-dened 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[...]

  • Страница 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 conguration'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[...]

  • Страница 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[...]

  • Страница 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 Prex, and Class P ath Sux elds on the conguration's J ava tab ?[...]

  • Страница 81

    T uning MMapS essionManager (UNIX/Linux) The following example describes the eect on process size when conguring 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 84

    84[...]

  • Страница 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”[...]

  • Страница 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 conguration'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 [...]

  • Страница 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 eectively. Some sites, however, do almost everything through CGIs, SHTML, or other dynamic sources. Dynamic content is generally not cacheable[...]

  • Страница 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 signicant im[...]

  • Страница 89

    Platf orm-Specic Issues and Tips This chapter provides platform-specic tuning tips, and includes the following topics: ■ “Solaris Platform-Specic Issues” on page 89 ■ “Solaris File System Tuning” on page 93 ■ “Solaris Platform-Specic P erformance Monitoring” on page 94 ■ “Tuning Solaris for P erformance Benchmarkin[...]

  • Страница 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 aects all shells. F ailure to Connect to HT TP Ser ver If users are experiencing connection timeouts from a brows[...]

  • Страница 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[...]

  • Страница 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 congured, as discussed above. Fr om the Common T asks page, choose a conguration and click E dit Conguration. Click the HTTP Listeners tab and selec t the HT TP listener to [...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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 [...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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 buer. tcp_recv_hiwat ndd /dev/tcp 8129 4000[...]

  • Страница 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[...]

  • Страница 100

    100[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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 congure your system to best take advantage of Web Server’ s strengths. This chapter includes the following topics: ■ “Study Goals” on page 103 ■ “Study Conclusion”[...]

  • Страница 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[...]

  • Страница 105

    Softw ar e The load driver for these tests was an internally-developed J ava application framework called the Faban driver. C onguration and T uning The following tuning settings are common to all the tests in this study. Individual studies may also have additional conguration and tuning information. /etc/system tuning: set rlim_fd_max=500000[...]

  • Страница 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 Congur 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[...]

  • Страница 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[...]

  • Страница 108

    P er formance T ests and Results This section contains the test-specic conguration, 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[...]

  • Страница 109

    T ABLE 6–3 File Cache Conguration 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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 [...]

  • Страница 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[...]

  • Страница 116

    T ABLE 6–12 Tuning Settings for FastCGI Plug-in Test Conguration 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/* &[...]

  • Страница 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 Conguration for PHP magnus.conf Init fn= " load-modules " shlib= " libphp5.so " funcs= " php5_init,php5_close,php5_execute " Init fn= " php5_init " errorString= "[...]

  • Страница 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[...]

  • Страница 119

    ■ Web Server is congured 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[...]

  • Страница 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. [...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 123

    Database system conguration: ■ 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 conguration: ■ Sun Microsystems Sun Fire 880 ( 900MH z US-III+) ■ Solaris 10 operating system Network conguration: The Web Server, database, and the driver [...]

  • Страница 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 diere[...]

  • Страница 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[...]

  • Страница 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) [...]

  • Страница 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[...]

  • Страница 128

    disabling network interrupts, 98-99 disk conguration, 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[...]

  • Страница 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, conguring, 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[...]

  • Страница 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[...]

  • Страница 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[...]

  • Страница 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[...]