EXAM WAS
Recommand readings
- Recommend reading list from WebSphere Notes blog
Other Resources
- IBM on-line edcuation
- A professional WebSphere blog: WebSphere Notes
- Joseph Amrith Raj's WebSphere and SOA library [1]
- Websphere 7 (000-377) [2]: 詳細介紹 000-377 的認證考試, 參考書及考試範圍.
IBM Trainning courses
- IBM Taiwan 教育訓練: WebSphere Family
Questions and Answers (IBM 000-377: Practice Exam)
Q1
- Centralized Installation Manager (CIM): [3]
The Centralized Installation Manager introduces support for remote installation functionality in WebSphere Application Server V7. The deployment manager can be used as a central interface for installing WebSphere Application Server to remote hosts and integrating them into a cell. These remote hosts do not require any IBM software to be present before installation, as the installation is performed using operating system tools. In addition to installing WebSphere Application Server, the V7 deployment manager also has the ability to remotely install fix packs, refresh packs, and interim fixes on remote nodes that have been added to the cell. Fixes can be downloaded from IBM directly within the deployment manager’s administrative console and remotely installed to member nodes.
To install WebSphere Application Server on a remote host, you must define the host as an installation target. In addition to specifying the host name or IP address, you can also provide authentication information for the remote host, as either a user ID and password or an SSH key. After you have defined installation targets, you can start a remote installation to one or more of those hosts using the “available installations” panel. You can use a wizard in the administrative console to specify installation options, or you can provide a response file. The Centralized Installation Manager accepts the same response file format as the traditional installer.
Reference: Centralized Installation Manager [4]
- Job manager: In WebSphere version 7, the concept of flexible management is introduced. The Job Manager plays a key role in a flexible management infrastructure by allowing a user to make administrative changes to application server environments across multiple WebSphere cells. [5]
Ref: p46 in WebSphere Application Server V7 Administration and Configuration Guide
Q4
- Install Verification Tool (IVT): Use the installation verification tools to verify that the installation of the product and the application server profile is successful. After installing the product and verifying the installation, you can configure the installation by creating more profiles. You can also install other packages on the product installation image, such as IBM HTTP server, the Web server plug-ins, or the Application Client. [6]
答案 c 是錯: 因為 IVT 完成後, IBM HTTP Server 還沒有 install, 無法開啟 the laungh page of the IBM HTTP server.
Q5
A: The WebSphere Applicatin Server installed successfully
Topic: Create profiles; Install application server successfully
Ref:
- Table 2 in Installing WebSphere Application Server
- WebSphere Application Server
Install Log files
/logs/install/log.txt: Logs all installation events /logs/manageprofiles/profile_name_create.log - Traces all events that occur during the creation of the named profile
- Created when using the Profile Management tool or the manageprofiles command
Indicators for profile_name_create.log:
- INSTCONFFAILED: Total installation failure.
- INSTCONFSUCCESS: Successful installation.
- INSTCONFPARTIALSUCCESS: Installation errors occurred but the installation is still usable. Additional information in other log files identifies the errors.
Q7
Topic: JNDI, NameNotFoundExecption
- dumpNameSpace command: You can use the dumpNameSpace tool to dump the contents of a name space accessed through a name server. The dumpNameSpace tool is based on Java Naming and Directory Interface (JNDI). [7]. 這個命令會列出 application server 上的 JNDI tree.
Note: NameNotFoundException 似乎很常生, 用 google 去找關鍵字 dumpNamespace NameNotFoundException 可以找到很多相關的 article.
這題是在問, 當 stand-along AP server 的 naming service 由另一台主機提供時, 該如處理 NameNotFoundExcept.
Q8
Topic: Diagnostic Data
- First-Failure Data Capture (FFDC): WebSphere Application Server V6 includes a feature called First Failure Data Capture (FFDC). The FFDC feature runs in the background and collects events and errors that occur during WebSphere Application Server runtime. The information that it collects are written to log files in the
/profiles/ /logs/ffdc directory [8].
FFDC does not affect the performance of WebSphere Application Server and should not be disabled. The FFDC logs will not, most likely, be useful in your problem determination efforts. However, they might be useful to the WebSphere Application Server support team if you open a PMR.
Ref Also:
- WebSphere Application Server v5.0 Problem Determination Facilities
- Problem determination
- Configuring first failure data capture log file purges
Q9
A: Wait for the thread monitor to signal a possible hung thread, then take three thread dumps several seconds apart.
Topic: Thread monitor
Ref:
- WebSphere Application Server 6.1 Problem determination guide
After being notified a hung thread problem, the most logical next step is to trigger a Java thread dump. Use the thread ID from the notification to find the hung thread in the dump, and use the stack trace information to begin investigation the cause of the problem.
Q10
Topic: Data replication service
Data replication service 的資訊參考 [9]. 用到 DRS 的 WAS process 包括:
- Stateful session EJB persistence and failover
- HTTP session persistence and failover
- Dynamic cache replication
Q11
Topic: IBM Support; Diagnostic trace data
Difficult problems might require the use of tracing, which brings to the surface the low-level flow of control and interactions between components. Use Diagnostic trace to capture detailed information about the execution of servers, clients, and other processes in the environment. Trace files indicate the time and sequence of methods called by WebSphere® Application Server base classes, and you can use these files to pinpoint the failure. [10]
啟動 Diagnostic Trace 功能的方式, 參考: [11]
- Using the Diagnostic trace
Q12
Topic: IBM Support; IBM Support Assistance Agent (ISA Agent)
The agent manager, together with agents, provides the ability to run data collection and other tasks remotely. 參考[12] 第 4 張 slide.
IBM support 的部署架構圖參考 [13] 的第6 張 slide.
Q13
Enable security auditing 後, audit 的結果可以輸出至 log 檔. 這個 log 檔的名稱為: BinaryAudit_
補充:
- The AdminTask object is used to access a set of task-oriented administrative commands that provide an alternative way to access the configuration commands and the running object management commands. Ref: p452 in WAS 7 redbook.
- WAS Audit lab download
- Use the commands and parameters in the AuditReaderCommands group to display audit record information from the binary audit log. [14]
Use the following commands to query the binary audit log:
* binaryAuditLogReader* showAuditLogEncryptionInfo
Q14
A: Configure Global security to use an LDAP registry and create a new security domain with a user realm definition for the file based registry and assign it to the desired application servers.
Topic: Multiple security domain; LDAP server; user registry; file based registry
和 Q16 考相同的概念.
題目分析:
cell 的使用者資料分別放在 LDAP 及 file based registry. 要進行使用者登入檢查時, 就要分成兩個 security domain. file based registry 的 security 的 domain 要和 LDAP server 的 domain 不一樣. 做法上使用 Global security with LDAP server, 那麼 cell 的使用者的登入檢查會透過 LDAP server 取得資料. 對於那些要對 file based registry 做使用者檢核的, 則另外開一個 security domain.
Multiple security domain allows different security settings in the same cell.
Ref:
- WebSphere Application Server V6 - Enabling Global Security using LDAP User Registry
- Multiple Security Domian
- LDAP 中文介紹
- Introduction to LDAP: Part 1, Installation and simple Java LDAP programming
- Introduction to LDAP: Part 2: LDAP and WebSphere
Q15
Topic: J2EE Application Security in application level
J2EE application level security is specified using security roles.
J2EE 的 artifacts, 包含 EJB 及 web components, 皆是透過 role based authorization 來進行使用的授權. 所以在部署時, 需要指定那些 role 可以使用那些 J2EE 的 artifacts.
Ref:
- 參考 6th slide in J2EE Application Security in IBM Education
- 8th slide in J2EE Application Security in IBM Education for EJB role based authorization.
- 14th slide in J2EE Application Security in IBM Education for web component role based authorization.
Q16
Topic: Multiple security domain
參考 6th slide in Multiple security domains in IBM Education
Q17
A: Enable administrative security for the cell
Authentication occurs when client creates a connection to Service Integration Bus resources. User ID/password are authenticated using the configured User Registory of the Application server.
Refer to the answers in Q90
Topic: Service Integration Bus security
Ref:
- Service Integration Bus Security
- Security Administration
Q18
Topic: Resource security
J2C adaptor: J2EE Connector (J2C) resource adapters.
Ref:
- Resource security
- WAS 6 Security Architecture
JAAS ( Java Authentication Authorization Service )
Q19
A: Verify that the CellDefaultTrustStore has the appropriate signing certificates in it and run the syncNode script on node-B.
Topic: WebSphere security
Ref:
- ch16-50 in WAS61 course material
- System Management Commands
All singing certificates for the cell are put into a cell wide truststore. By sharing a single trust store, any member of the cell can securely communicate with any other member of the cell.
每個 cell 中的 application server 的 trust 還要同步, 才能做到 cell 中的每個 AP server 使用安全機制相互溝通。
syncNode command: Forces full synchronization between the node and the deployment manager.
key.p12 file is a default persoanl certificate. [15]
Q22
?? 找不到資料
Q23
A: Set classloader policy on the application server to single.
Classloader policy are used in the level of Application Module Class Loader in the Class Loader hierarchy. [16]
Single policy: All applications share a application module class loader - no application isolation.
Multiple policy (default): Each application get its own application module class loader - provides application isolation.
Ref:
- Class loader overview [17]
Q24
Q26
Topic: Websphere Platform messaging
Message Driver Beans (MDBs) use a JMS ActivationSpec to connect to the JMS Provider (SIBus)
Service Integration Bus (SIBus) is the JMS provider delivered with WebSphere Application server.
Ref: ch15-6, ch15-7, ch15-23 in WAS61 Course Material.
Q27
A: Method permissions
Topic: WebSphere Security
In J2EE security,
- EJB are protected with method permissions, which are mapped to the security roles.
- Servlet and JSPs are protected with security constraints, which are mapped to the security roles.
Ref: ch16-30, Ch16-31, WAS61 Course Material
Q28
A: Queue, connection factory, activation specification
Topic: WebSphere Platform Messaging
- Session EJBs use a JMS Connection factory to connect to the JMS provider.
- Message Driver Beans (MDBs) use a JMS activation specification to connect to the JMS provider.
Ref: Ch15-22, ch15-23 in WAS61 course material
Q29
Global naming 分成四個部份
- Cell root: read only persisent
- Cell persistent root: read/write persistent (can be modified programmatically)
- Node persistent root: read/write persistent
- Server root: read/write transient
Ref:
- WebSphere Naming Introduction [18]
- Naming - Overview and Example [19]
Q30
In version five there are three scoping levels: Cell level, Node level, and Server level. The configuration repository hierarchy reflects these three levels. When you define a resource at a Cell level, every process has access to that resource. When you define a resource at the Node level, every process on that node has access to that resource. And when you define at the application server level, then only that application server on that node has access to that resource.
Network Deployment in version six adds another level called Cluster level. When resources are defined at the cluster level, then all cluster members in that cluster have access to that resource on whatever machine they’re running.
What is relevant to Express on the stand-alone Node is the Application scoping. Another module discusses Enhanced EAR files – those EARs that contain application code and resource definitions. Because the resources are defined in the deployment descriptors of the enhanced EAR file, when the application is moved in the Network Deployment environment from one location to another, those application scoped resources will be moved with the application. From the perspective of Express, this reduces the number of steps required to make your application run. An administrator does not need to configure these resources at the Node level or at the Cell level when they’re packaged in the enhanced EAR file. If you have resources that are defined with the identical name at more than one level, the application server will see the resource that is defined closest to the application. This means that if you have the same resource defined on the Node and on the Cell, then the Node resource is the one that the application will use.
Ref:
- System Management - Resource Scopes [20]
Q31
A: Use an isolated class loader for this shared library on the shared library settings page and associate the shared library with the Web modules class loader.
Topic: isolated shared library, class loader
Isolated Shared Libraries
An Isolated Shared Library is another way to deploy application artifacts into the WebSphere runtime environment. An Isolated Shared Library can be associated or shared with one or many WebSphere application and Web module class loaders. The Isolated Shared Library will provide a mechanism where you can share a common set of classes across a subset of the applications within the WebSphere Application Server.
This is similar to the server associated shared library, but an Isolated Shared Library is not typically used across ALL applications. An Isolated Shared Library associated with the application class loader can be thought of as an application associated shared library that can be shared across a subset of the applications in the WebSphere Application Server. However, unlike application associated shared libraries, Isolated Shared Libraries DO NOT have visibility to application classes loaded by the application class loader.
WebSphere Application Server version 7.0 includes a new feature, Isolated Shared Libraries, to provide a way to share a common set of classes across a subset of the applications within the WebSphere Application Server. The major benefit to Isolated Shared Libraries is the ability to reduce the number of class instances that are loaded in a JVM reducing the JVM’s memory footprint. To better understand the benefit of Isolated Shared Libraries, look at how a solution deployer can decide to share an application associated shared library across multiple applications. The solution deployer has several possibilities: Using an Isolated Shared Library, the solution deployer can combine pieces of the prior two solutions. Isolated Shared Libraries each have their own class loader allowing a single instance of the classes to be shared across the applications. Each application can specify which Isolated Shared Libraries it wants to reference and different applications can reference different versions of the Isolated Shared Library resulting in a set of applications sharing an Isolated Shared Library. The advantage here is seen in comparison to the previous example: with Isolated Shared Libraries, you are now sharing a single copy of version x and a single copy of version y for a total of two instances in memory. Isolated Shared Libraries do not have visibility to application classes loaded by the application class loader.
Path to Shared Library page: Environment > Shared Libraries.
Shared libraries 也可以設定 scope. scope 的層級分為: cell, a node, or a server.
After you 1) create a shared library and 2) map an application to the selected scope, you can associate the shared library with the application or its modules.
- To associate a shared library with an application or module, use the Shared library references page for the application. Click Applications > Enterprise Applications > application_name > Shared library references.
- To associate a shared library with a server class loader, use the settings page for the library reference for the server class loader. Click Servers > Application servers > server_name > Java and Process Management > Class loader > class_loader_ID > Shared library references > shared_library_name.
Ref:
- Isolated shared libraries [21]
- Class Loader Details [22]
- Shared library collection [23]
Note: 要更改 WAS Adm console 的顯示語言, 只要更改 browser 的顯示語言即可. 在 firefox: 工具 > 選項 > 內容 > 語言 > 選擇
Q32
A: Assign the destination to a specific bus member.
Topic: Service Integration Technology
The bus member will host the destination.
Ref:
- P10 in Service Integration Resource Management [24]
- Service Integration Technologies - Overview [25]
Q33
A: URI element under UriGroup With a Name attribute equal to the context root of the mapped application.
Topic: Web Server plug-in
Ref:
- Web Server Plug-in installation [26]
An example of plugin-cfg.xml:
version="1.0" encoding="BIG5"?>ASDisableNagle="false" AcceptAllContent="false" AppServerPortPreference="HostHeader" ChunkedResponse="false" FIPSEnable="false" HTTPMaxHeaders="300" IISDisableNagle="false" IISPluginPriority="High" IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="false" TrustedProxyEnable="false" VHostMatchingCompat="false"> LogLevel="Error" Name="C:/Program Files/IBM/WebSphere/Plugins/logs/webserver1/http_plugin.log"/> Name="ESIEnable" Value="true"/> Name="ESIMaxCacheSize" Value="1024"/> Name="ESIInvalidationMonitor" Value="false"/> Name="ESIEnableToPassCookies" Value="false"/> Name="default_host"> Name="*:9080"/> Name="*:80"/> Name="*:9443"/> Name="*:5060"/> Name="*:5061"/> Name="*:443"/>> CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="server1_PremisesNode_Cluster" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60"> ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="PremisesNode_server1" ServerIOTimeout="0" WaitForContinue="false"> Hostname="WSE62" Port="9080" Protocol="http"/> Hostname="WSE62" Port="9443" Protocol="https"> Name="keyring" Value="C:/Program Files/IBM/WebSphere/Plugins/config/webserver1/plugin-key.kdb"/> Name="stashfile" Value="C:/Program Files/IBM/WebSphere/Plugins/config/webserver1/plugin-key.sth"/>>>> Name="default_host_server1_PremisesNode_Cluster_URIs"> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hello"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hitcount"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ivt/*"/> AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/wbe/*"/>> ServerCluster="server1_PremisesNode_Cluster" UriGroup="default_host_server1_PremisesNode_Cluster_URIs" VirtualHostGroup="default_host"/> armEnabled="false" loggingEnabled="false" rmEnabled="false" traceLevel="HOPS"> enable="false" type="URI"> enable="false" value="/snoop"/> enable="false" value="/hitcount"/>> enable="false" type="SOURCE_IP"> enable="false" value="255.255.255.255"/> enable="false" value="254.254.254.254"/>> enable="false" type="JMS"> enable="false" value="destination=aaa"/>> enable="false" type="WEB_SERVICES"> enable="false" value="wsdlPort=aaa:op=bbb:nameSpace=ccc"/>>> >
Q36
Topic: WebSphere platform messaging , high availability messaging
在 High availability messaging 的架構下, the architecture rovides for multiple message driven beans to utilze a common queue and single persistent store, as shown in the following figure.
所以在本題中, 若要讓 所有 cluster member 的 MDB1 instance 能夠由 Destination1 取得訊息, 需要讓所有的 MDB1 instace 在所有的 cluster member 執行. 所以答案為: enable the option Always activate MDBs in all servers on MDB1s activation specification.
圖片:16-MDBHighAvail Messaging and High AvailabilityRef:
- Ch15-24, ch15-25 in WAS61 course material
- Clustering theory and concepts [27]
- Service Integration Technologies - High Availability [28]
Q37
Topic: WebSphere platform messaging , high availability messaging
當 high availabile manager (HA Mgr) 執行 failover 機制, 啟動另一台 message engine 後, 若先前的 ME 回復正常, HA Mgr 不會再轉回去回來的 ME, 常新的 ME 正常運作時。
Q38
Topic: Session persistence
在設定 session 的 memory-to-memory replication 時, 要先設定 replicatoin domain (Environment > Replication Domains > New)。之後, 再去設定 server 的 memory-to-memory configuration (Application Server >>
Ref:
- ch14-27 ~ ch14-30 in WAS 61 course material
Q39
Topic: Session affinity; session affinity and failover
Any cluster member in the server cluster has the ability to see any user’s session saved to persistent storage. If one of the cluster members fail, the user can continue to use session information from another cluster member in the server cluster. This is known as (Session) failover.
With cluster members, the Web server plug-in provides affinity routing among cluster member instances. [P729 (chapter 10 session managment) in WAS 61 System Management and configuration.]
Ref: Chapter 10 Session Management in WAS 61 System Management and configuration
補充資料
Session affinity
The Servlet 2.4 specification requires that an HTTP session be:
- Accessible only to the Web application that created the session.
The session ID, but not the session data, can be shared across Web applications.
- Handled by a single JVM for that application at any one time
Session affinity and failover
Server clusters provide a solution for failure of an application server. Sessions created by cluster members in the server cluster share a common persistent session store. Therefore, any cluster member in the server cluster has the ability to see any user’s session saved to persistent storage. If one of the cluster members fail, the user can continue to use session information from another cluster member in the server cluster. This is known as failover. Failover works regardless of whether the nodes reside on the same machine or several machines. See Figure 10-7 on page 691.
Q40
Topic: HTTP server remote administration; Create a managed node
Ref: Section: 8.3.4 IBM HTTP Server remote administration in red book: WAS 61 System Management and configuration
Managed Node: A managed node is a HTTP server that can be administrated by a node agent.
Q41
Topic: Session Affinity
Ref: Section Affinity in red book: WAS 6.1 System Management and Configuration
According to the Servlet 2.4, only a single cluster member can control and access a given session at a time. The requests derived from the session cannot be processed by other cluster members.
Q42
Q: What does backupConfig backup?
A: Profile configuration.
Topic: 5.9.1 Backing up a profile configuration
Ref: pp. 259-260 in read book: WAS 6.1 System Management and Configuration.
Use the backupConfig command to back up a profile. The command will zip the configuration file and store it in the current directory or a specified file name. The zip file can be restored using the restoreConfig command. By default, backupConfig will stop all servers in the configuration before performing the backup.
Q43
Q: Where can administrator find binding information for an application
A: In the deployment descriptors.
Topic: J2EE Packaging
Ref: p13 in IBM Websphere deployment and advanced configuration by Barcia et. al.
- Deployment descritpros
- Descriptors describe the contents of various J2EE modules and are used by the container when deploying an application.
Standard J2EE deployment descritpros define elements or references to other elements. The IBM binding file (ibm-application-bnd.xmi) is used to map elements and references into the runtime environment.
You can find the binding information in the IBM binding files which are a type of deployment descriptors.
Q44
Q: Which of the following statements best describes the type of data collected by request metrics (RM)?
A: Tracks individual transaction, recording the processing time for each component
Topic: Performance monitor
Ref:
- WASv6_PMRM_article_v1.pdf
- Measuring performance of WebSphere Process Server applications using the Request Metrics tool
"The Request Metrics (RM) tooling was introduced in WebSphere Application Server Version 6 (hereafter called Application Server) to monitor applications performance by tracking individual transactions through a recording of the processing time in selected Application Server components." Measuring performance of WebSphere Process Server applications using the Request Metrics tool
Q45
A: Using wasadmin, invoke the setInstrumentationLevel operation on the PerfMBean.
Topic: Enabling PMI data collection
Ref:
- Enableing PMI using the was admin
You can use the command line to enable Performance Monitoring Infrastructure (PMI). Using wsadmin, you can invoke operations on Perf Mbean to obtain the PMI data, set or obtain PMI monitoring levels, and enable data counters.
If PMI data are not enabled yet, you need to first enable PMI data by invoking setInstrumentationLevel operation on PerfMBean.
要從 admin console 啟動 PMI: Monitoring and Tuning >> Performance Monitoring Infrastructure (PMI) >> Enable Performance Monitoring Infrastructure (PMI). 所以選項 C, D 是錯誤的.
Q46
A: reduce server start time and memory footprint
Topic: runtime provision
Ref:
- Online presentation
- WebSphere Application Server 管理密技與性能調校
- IBMо WebSphereо Application Server V7
The runtime provisioning component analyzes the deployed applications on the application server to determine which runtime components to enable to successfully run the application. If some components, for example the runtime for Enterprise Java Beans, is not required to run the deployed applications, that particular component will not be enabled, resulting in a lower memory footprint for the application server.
Q47
A: Increase the sie of the large object area (LOA)
Topic: Performance; large object area
Ref: How to allocate large objects into Large Object Area on IBM
Problem(Abstract)
IBM Sovereign 1.4.2 SDK SR1 and later (build date of 20050209 and later) supports the configuration of Large Object Area to reserve the Java™ heap for allocating large objects (>=64 KB).
Cause
As objects are allocated and freed, the heap can become fragmented in such a way that allocation can be met only by time-consuming compactions. This problem is more pronounced if an application allocates large objects. In an attempt to alleviate this problem, the large object area (LOA) is allocated. Fragmentation is genarally only an issue with the 1.4.2 SDK and prior. In the 1.5 SDK and later, the LOA size is automatically controlled by the garbage collector.
Q48
A: View advice messages in Tivoli Performance Viewer (TPV) by clicking the Advisor link
Topic: Performance monitoring
Ref:
- Obtain advice from advisors
- Chapter 11 in WAS V7 Administration and Configuration Guide
Path for Tivoli Performance Viewer: Monitoring and Tuning >> Performance Viewer >> Current Activity >>
Tuning WebSphere® Application Server is a critical part of getting the best performance from your Web site. However, tuning WebSphere Application Server involves analyzing performance data and determining the optimal server configuration. This determination requires considerable knowledge about the various components in the application server and their performance characteristics. The performance advisors encapsulate this knowledge, analyze the performance data, and provide configuration recommendations to improve the application server performance. Therefore, the performance advisors provide a starting point to the application server tuning process and help you without requiring that you become an expert.
Q49
A: The WebSphere Application Server Network Deployment cells CIM repository.
Topic: Centralized Installation Manager (CIM)
Ref:Centralized Installation Manager [29]
CIM repository holds packages that are available for remote installation.
Q50
A: External HTTP Server, HTTP Server Plug-in, embedded HTTP Server and Web Container
Topic: Application Flow
Ref: p71 in chapter 2, WebSphere Application Server V6: System Management and Configuration Handbook
Q51
A: Configure dynamic caching
Topic: Dynamic cache service
Ref: p31 in chapter 2, WebSphere Application Server V6: System Management and Configuration Handbook
The dynamic cache service improves performance by caching the output of servlets, commands, Web services, and JSP files. The dynamic cache works within an application server, intercepting calls to objects that can be cached, for example, through a servlet's service() method or a command's execute() method. The dynamic cache either stores the object's output to or serves the object's content from the dynamic cache.
Q52
A: A job manager which administers multiple application server nodes through administrative agent.
Topic: Flexible management technology
keyword: job manager
Administrative Agent 是將 Application Server 原本中的管理工作分離出來, 獨自成為一個 agent.
Job manager 提供一個非同步化的管理工作執行機制, 以克服 internet 的不穩定的情況. . The management model relies on the submission of management jobs to these remote endpoint, which can be either a WebSphere Application Server (base) admin agent or Network Deployment deployment manager.
Ref:
- What's new in WebSphere Application Server V7
- System administration for WebSphere Application Server V7: Part 3: Administering a flexible management topology
Q53
A: not shared, push only, both push and pull.
Topic: Dynamic caching service
Path to enable dynamic cache service: Server >> Application servers >> ${server} >> Container Service >> Dynamic Service
Ref:
- Dynamic cache [30]
- Data Replication Service [31]
- Tuning guide for dynamic cache and data replication service [32]
- Dynamic Cache replication using DRS [33]
Cache Replication Cache Replication allows cached objects to be shared across multiple server in a cluster.
There are three primary replication settings for dynamic cache that control the amount and type of information, including the object name, the object value, and invalidation messages, that flows between servers:
- NOT_SHARED: no objects or IDs are shared with the server, except when invalidate.
- SHARED_PUSH: the cached object and its ID are sent to all servers in the replication domain at the time that the object is placed in cache. This makes the object immediately available to the applications on other servers. It also speeds up application server performance at the expense of greater network traffic and additional I/O churn, in the case of objects that are cached in disk.
- SHARED_PUSH_PULL: the cached object is kept locally to the server that created it, but the cache ID is shared with other servers. If a remote server needs the object, it requests the object by name from the creating server.
Q54
A: Lease-based exclusive locks on files
Topic: Deployment for transactional high availability; administering the transaction service
The high availability of the transaction service enables any server in a cluster to recover the transactional work for any other server in the same cluster. This facility forms part of the overall WebSphere® Application Server high availability (HA) strategy.
Peer recovery processing The standard recovery process that is performed when an application server restarts is for the server to retrieve and process the logged transaction information, recover transactional work and complete indoubt transactions. Completion of the transactional work (and hence the release of any database locks held by the transactions) takes place after the server successfully restarts and processes its transaction logs. If the server is slow to recover or requires manual intervention, the transactional work cannot be completed and access to associated databases is disrupted.
To minimize such disruption to transactional work and the associated databases, WebSphere Application Server provides a high availability strategy known as transaction peer recovery.
Peer recovery is provided within a server cluster. A peer server (another cluster member) can process the recovery logs of a failed server while the peer continues to manage its own transactional workload. You do not have to wait for the failed server to restart, or start a new application server specifically to recover the failed server.
Ref:
- Transactional high availability [34]
- How to choose between automated and manual transaction peer recovery [35]
- Administering the transaction service [36]
Q55
A: Spread messaging workload across multiple servers.
Topic: messaging, multiple Service Integration buses (SIBus)
Ref: 參考投影片 WebSphere Application Server Messaging Configuring and using MQ. 此投影片對 MQ 及 SIBus 的概念有詳細的介紹, 說明在 was 上各種不同的 Message 的 configuration.
Q56
A: Flexible management can be an alternative to the network deployment cell model.
job manager 不能夠執行 deploy manager 的所有工作. job manager 的主要工作是告訴 deployment manager 做什麼事. 工作的執行交由 delopyment manager 來負責.
Topic: Flexible management technology.
Ref: Q52
Q57
A: Session management can persist session-related information in several ways.
Topic: Session management
Use memory-to-memory replication 或者 database 來儲存 session 的資訊.
Ref: 12.5 Session identifiers in WAS 6 System Management and Configuration Handbook
WebSphere supports three approaches to track sessions:
- Secure Sockets Layer (SSL) session identifiers, where SSL session information is used to track the HTTP session ID.
- Cookies, where the application server session support generates a unique session ID for each user and returns this ID to the user’s browser using a
cookie. The default name for the session management cookie is JSESSIONID. Using cookies is the most common method of session management.
- URL rewriting
Ref: p38 in WAS 6 System Management and Configuration Handbook
High Availability Manager has been added with the intent of eliminating single points of failure. It is responsible for running key services on available application servers, rather than on a dedicated one such as the deployment manager.
Ref: p18 in WAS 6 System Management and Configuration Handbook
Q58
A: Request Metrics; Tivoli Performace viewer (TPV)
Topic: Performance tuning.
Ref:
- IBM WebSphere Developer Technical Journal: Writing PMI applications using the JMX interface
- IBM WebSphere Developer Technical Journal: Writing a Performance Monitoring Tool Using WebSphere Application Server's Performance Monitoring Infrastructure API
WebSphere Application Server contains a basic viewer for looking at PMI data, the Tivoli® Performance Viewer (TPV), with which users can look at various graphs and values of PMI counters. Many third party tools that use these PMI interfaces are also available, often used for identifying thresholds for PMI counters and for helping customers tell when a Web site is experiencing a performance problem.
Q59
A: SDK fix pack
Ref: Recommended fixes for WebSphere Application Server
Feature Packs: IBM® WebSphere® Application Server Feature Packs are optionally installable product extensions that offer targeted, incremental new features. [37]
SDK fix packs: fix packs for SDK used by the WAS.
Q60
A: Tivoli Performance Viewer
Topic: Performance monitoring
Ref: IBM WebSphere Developer Technical Journal: Writing a Performance Monitoring Tool Using WebSphere Application Server's Performance Monitoring Infrastructure API
Q61
kw: Enable PMI using administrative console.
Topic: Performance Monitoring Infrastructure (PMI)
Ref:
- Enabling PMI using the administrative console
- 11.2 Enabling monitoring infrastructures in WebSphere Application Server V7 Administration and Configuration Guide
Procedure
1. Open the administrative console.2. Click Servers > Application Servers in the console navigation tree.3. Click a server.4. Click the Configuration tab.5. Click Performance Monitoring Infrastructure (PMI) under Performance.6. Select the Enable Performance Monitoring Infrastructure (PMI) check box.7. Optionally, select the check box Use sequential counter updates to enable precise statistic update.8. Optionally, choose a statistic set that needs to be monitored under Currently Monitored Statistic Set.9. Optionally, click on Custom to selectively enable or disable statistics. Choose a component from the left side tree and enable or disable statistics on the right side table. Go back to the main PMI configuration page by clicking the Performance Monitoring Infrastructure link.10. Click Apply or OK.11. Click Save.12. Restart the application server. The changes you make will not take effect until you restart the application server.
Q62
ORB: Object Request Broker
Go to: Servers >> Application Servers >> ${server_name} >> Thread Pools to see the thread pools in the application server.
Ref:
- Thread pool settings [38]
Q63
A: manageprofiles
manageProfiles 命令也可以用來 backup 及 restore profiles.
答案 A, B, D 的語法錯誤
wsadmin 指令不能來 backup and restore profiles, 但可以 import 及 exprot profiles.
Topic: Managing profiles
Ref: manageprofiles command
manageprofiles command
The manageprofiles command line tool creates all application server runtime environments. The command creates a profile, which is the set of files that define the runtime environment for a stand-alone application server.
The manageprofiles command creates the runtime environment for a WebSphere Application Server process in a set of files called a profile. The profile defines the runtime environment and includes all of the files that the server processes in the runtime environment can change.
The manageprofiles command and its graphical user interface, the Profile Management tool, are the only ways to create runtime environments.
The manageprofiles command is used to perform the following:
- create a profile (-create)
- delete a profile (-delete)
- augment a profile (-augment)
- unaugment a profile (-unaugment)
- delete all profiles (-deleteAll)
- list all profiles (-listProfiles)
- get a profile name (-getName)
- get a profile path (-getPath)
- validate a profile registry (-validateRegistry)
- validate and update a profile registry (-validateAndUpdateRegistry)
- get the default profile name (-getDefaultName)
- set the default profile name (-setDefaultName)
- backup a profile (-backupProfile)
- restore a profile (-restoreProfile)
backupConfig command
The 'backupConfig' command is a simple utility to back up the configuration of your node to a file. Issue the command from the profile_root/bin directory. [39]
Syntax:
backupConfig.sh backup_file [options]
restoreConfig command Use the restoreConfig command to restore the configuration of your node after backing up the configuration using the backupConfig command. Issue the command from the profile_root/bin directory. [40]
Syntax:
restoreConfig.sh backup_file [options]
wsadmin tools
he WebSphere Application Server wsadmin tool runs scripts. You can use the wsadmin tool to manage WebSphere Application Server as well as the configuration, application deployment, and server run-time operations. [41]
Do not pass in empty strings in place of command options. The wsadmin tool displays general help information if you specify an empty string as the command option. Use the following command-line invocation syntax for the wsadmin scripting client:
wsadmin [-h(help)] [-?] [-c ] [-p ] [-profile ] [-profileName ][-f ] [-javaoption java_option][-lang language] [-wsadmin_classpath classpath][-conntype SOAP [-host host_name] [-port port_number] [-user userid] [-password password] | [-conntype RMI [-host host_name][-port port_number] [-user userid] [-password password] | NONE]
Q64
A: the wsadmin script; the -Xverbosegc command-line option; the -Xoptionsfile command-line options with appropriate text file.
Topic: tunninh and debugging
選項 B, E 是用在 java 指令, ex: java -verbose:gc Ref:
- Enabling verbose garbage collection (verbosegc) in WebSphere Application Server
- Using verbose garbage collection to analyze IBM WebSphere Portal memory concerns
Q65
A: Ther will be a Property element under ServerCluster with a Name attribute which includes the new cluster members name.
Topic: Session affinity
Ref: p628 in WebSphere Application Server V7 Administration and Configuration Guide
The application server ID can be seen in the Web server plug-in configuration file, plug-in-cfg.xml file, as shown in Example 12-4. Example 12-4 Server ID from plugin-cfg.xml file
version="1.0" encoding="ISO-8859-1"?>
>
......
Name="MyCluster">
CloneID="vuel491u" LoadBalanceWeight="2"
Name="NodeA_server1">
Hostname="wan" Port="9080" Protocol="http"/>
Hostname="wan" Port="9443" Protocol="https">
......
>
Ref: p628 in WebSphere Application Server V7 Administration and Configuration Guide
Q66
Topic: wsadmin management objects
Ref: 8.1 Overview of WebSphere scripting in WebSphere Application Server V7 Administration and Configuration Guide
沒有 AdminDeploy 這個指令
Help object The Help object provides a quick way to get information about methods, operations, and attributes while using scripting.
AdminControl object: work on running objects and connected server
The AdminControl object is used for operational control. It communicates with MBeans that represent live objects running a WebSphere server process. It includes commands to query existing running objects and their attributes and invoke operations on the objects. In addition to the operational commands, the AdminControl object supports commands to query information about the connected server, convenient commands for client tracing, reconnecting to a server, and starting and stopping a server.
Note that because the AdminControl object operates on live MBeans, it cannot be used to start a deployment manager, node agent, or standalone application server.
AdminConfig: Work on configuration objects
The AdminConfig object is used to manage the configuration information that is stored in the repository. This object communicates with the WebSphere Application Server configuration service component to make configuration inquires and changes. You can use it to query existing configuration objects, create configuration objects, modify existing objects, and remove configuration objects. In a distributed server environment, the AdminConfig commands are available only if a scripting client is connected to the deployment manager. When connected to a node agent or a managed application server, the AdminConfig commands will not be available because the configuration for these server processes are copies of the master configuration that resides in the deployment manager.
AdminApp: Work on deployed applications
The AdminApp object can update application metadata, map virtual hosts to Web modules, and map servers to modules for applications already installed. Changes to an application, such as specifying a library for the application to use or setting session management configuration properties, are performed using the AdminConfig object.
AdminTask: An alternative way for configuration and running objects.
The AdminTask object is used to access a set of task-oriented administrative commands that provide an alternative way to access the configuration commands and the running object management commands.
Q67
A: From the web servers list, select a particular web server. In the properties view, click Plug-in properties.
Q68
Keyword: Select "Class loaded with local class loader first" on the settings page for the Web modules class loader.
Path to set the class loader policy for a web module:
Applications >> Enterprise Application >> ${applicationName} >> Manage Modules >> ${webModuleName} >> Class loader order
Isolated share library 請參考 Q31
web module, enterprise application, 及 application server 都有自己的 class loader. Shared library 要設在 application server 的層級, 這樣 shared library 中的類別才能給不同的 enterprise application, web module 分享使用.
Ref:
- Java Class loader overview
- IBM WebSphere® Application Server Version: V6.1 Architecture
Q73
Q: What is the most common role that naming plays in WehSphere Application Server?
A: Allows applications to obtain references to objects such as EJB homes.
Q88
A: SIBus messaging engine cannot be managed by fine-grained administration.
Topic: Fine-grained administrative security
Ref: 4th slide in Fine-grained administrative security [52]
Fined-grained administrative security
可以定義每個資源上的各別使用者. Resources 可以是: Cells, node groups, nodes, clusters, servers and applications. 注意 SIBus 不能使用 fine-grained administrative security.
In WebSphere Application Server version 7, administrative security is more fine-grained, allowing more specific configuration options. The administrative roles are now scoped to resource instances instead of the entire cell. Access can be granted to each user per resource instance. For example a user can only be granted configurator access to specific application, an application server or a node. That user cannot access any other resources outside assigned resources. In this release fine-grained security can be configured through the administrative console or using with wsadmin scripts. There is no support offered to use fine-grained security with service integration bus resources.
- Fine-grained administrative security
- WebSphere Application Server V7 provides fine- grained administrative capability
- Users can now be defined with administrative roles on a specific set of resources: Cells, node groups, nodes, clusters, servers and applications
- Supported through the administrative console and a wsadmin scripting interface
- No support for service integration bus resources
Q89
A: Use the Manage Users page in the administrative console and change the primary administrative user's password.
Topic: Administrative security
Ref:
- Administrative Security Overview
- Messaging enhancements [53]
- Security Administration [54]
Q90
A: Map the connection factory;s authentication alias to the bus connector role
Ref:
- Configuring users and groups in the bus connector role
- Messaging enhancements
Version 6.1 also makes it easier for you to create a robust security configuration for your messaging resources. The bus security options in previous versions were relatively limited. New wsadmin tasks and a new “bus security” panel in the administrative console enable you to easily enable or disable security for your messaging resources.
Bus Connector role
Bus security requires administrative security to be enabled, which is the default in this release. You can also use the bus security configuration to select the transport chains that can be used for bus communication, enable client authentication, and assign bus users to authorization roles. By default, external clients will be denied access to a secured bus, even with valid credentials, because they need to be explicitly added to the “bus connector” role to access bus resources.[55]
Users must be authorized to connect to a service integration bus.
On the Configuration pane to add a user or group to the bus connector role, there are three users or groups you can add: Configuring users and groups in the bus connector role
- Group name: Give a specified group the bus connector role.
- User name: Give a specified user the bus connector role.
- Server: The server identity. This represents the identity of a WebSphere® Application Server. Using the server identity for a JMS message-driven bean (MDB) is not supported.
- Everyone: All users connecting in. If this is specified then users are able to connect without authenticating. These users are treated as anonymous users.
- AllAuthenticated: All users that have authenticated to the bus. This results in the group AllAuthenticated being added to the authorization model.
Q91
A: Distributed environment settings in the web container.
Topic: 12.7 Persistent session management
Ref:
* Fig 12-5 in WebSphere Application Server V7 Administration and Configuration Guide* Fig 12-14 in WebSphere Application Server V7 Administration and Configuration Guide
There are two ways to configure session persistence as shown in Figure 12-5:
- Database persistence, supported for the Web container only
- Memory-to-memory session state replication using the data replication
service available in distributed server environments
Q92
A: Dynamic cache replication; HTTP session persistence and failover; Stateful session EJB persistence and failover.
Topic: Data Replication Service (DRS)
Ref: Q10.
Scalability with high availability messaging engine policy
Scalability with high availability messaging engine policy
The scalability with high availability messaging engine policy is a predefined messaging engine policy type that is provided when you use messaging engine policy assistance. It helps you to configure a cluster that is a member of a bus when you require both high availability and scalability in the cluster.
The scalability with high availability configuration ensures that there is a messaging engine for each server in a cluster, and that each messaging engine has a failover location.
The scalability with high availability messaging engine policy creates a single messaging engine for each server in the cluster. Each messaging engine can fail over to one other specified server in the cluster. Each server can host up to two messaging engines, such that there is an ordered circular relationship between the servers. Each messaging engine can fail back, that is, if a messaging engine fails over to another server, and then the original server becomes available again, the messaging engine automatically moves back to that server. [57]
Q102
About SIBuses in a cell:
- A cell may host multiple buses
- Each bus can have servers and clusters as bus members
- A single SIBus cannot span multiple WAS cells
- Bus destinations are associated with one or more bus members, therey by associating it with the corresponding MEs. (ch15-17 in WAS1 Course Material)
Description: ThreadAnalyzer provides analysis for Java thread dumps (or Javacores) such as those from WebSphere Application Server. Thread usage can be analyzed at several different levels, starting with a high-level graphical view, and drilling down to a detailed tally of individual threads. If any deadlocks exist in the thread dump, ThreadAnalyzer will detect and report them.
Ref:
- Diagnosing problems using IBM Support Assistant Tools [60]
- Locating and analyzing heap dumps [61]
Q107
A: using the wasadmin command prompt: 注意, 在 AdminControl.invoke 是使用 dumpThreads, 不是 dumpAllThreads
> jvm = AdminControl.completeObjectName('type=JVM,process=server1,*')
> AdminControl.invoke(jvm, 'dumpThreads')
Ref:
- Dumping threads in server processes using scripting [62]
Q108
A: : set the log detail level to fine, finer, finest or all.
Topic: Diagnoistic; Enable trace at server startup
Ref: Enable trace at server startup [63]
Use the administrative console to enable tracing at a server's startup. You can use trace to assist you in monitoring system performance and diagnosing problems.
The diagnostic trace configuration settings for a server process determines the initial trace state for a server process. The configuration settings are read at server startup and used to configure the trace service. You can also change many of the trace service properties or settings while the server process is running.
Q109
A: Use appropriate settings for log rotation and number of historical logs.
Top: jvm logs gathering.
Limiting the growth of JVM log files using scripting
You can use scripting to configure the size of Java™ virtual machine (JVM) log files. JVM logs record events or information from a running JVM.
Ref: Limiting the growth of JVM log files using scripting [64]
ffdcRun.properties 檔案是用來設定 The first failure data capture (FFDC) log file [65]
Q110
A: Examine the application server SystemErr.log and look for OutOfMemoryError exceptions and stack traces
去看 SystemErr.log 中找 OutOfMemoryError Exceptions, 看看是那一個 application 產生的例外. A heapdump can be automatically or manually generated when memory leaks occur.
javacore dump is also called thread dump.
Topic: ??
A javacore dump, or a thread dump as it is also called, is one of the primary problem determination documents that an application server creates. Also, the performance impact of creating a javacore dump is usually ignorable. Therefore, in most product environments, you should not suppress the creation of a javacore dump. [66]
Q111
A: Memory Dump Diagnostic for java
Topic: memory leak, diagnostic
Ref: Q106
Q112
A: The administrator has not define the jms/CF connection factory at a scope visible to the fourth cluster member.
Topic: JNDI, NameNotFoundException
Ref:
A JMS topic connection factory is used to create connections to the associated messaging provider of JMS topic destinations, for publish and subscribe messaging. [67]
To understand why a naming operation is failing, view the dump of a namespace. You can use the dumpNameSpace tool to dump the contents of a namespace accessed through a name server. The dumpNameSpace tool is based on Java™ Naming and Directory Interface (JNDI). [68]
取自" http://163.17.17.66/mediawiki/index.php/WAS_7_Certification"本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
