join tables, but can be used only when one destination instance relates to a given source instance.
"Managing Persistent Component State" in the EAServer Programmer's Guide
Using EJB-QL
EJB 2.0 entity beans can use EJB Query Language (EJB-QL) in the EJB-JAR deployment descriptor. EAServer translates EJB-QL to SQL at runtime. You can configure additional EAServer query mapping properties to enable caching of the query results for improved performance.
"Configure finder- and ejbSelect-method queries" in EAServer Programmer's Guide
Session Bean Pooling
Unlike stateful session beans, stateless session beans can be pooled by the server, improving overall application performance.
"Stateless session beans" in EAServer Programmer's Guide
Web Components (JSPs / Servlets)
This section contains suggestions applicable to Servlets, JSPs, and Web Applications.
Category
Performance Considerations
More Information
Dynamic Page Caching
To improve the performance of Servlet and JSP requests, you can use the page caching feature. When page caching is enabled for a Servlet or JSP Web component, EAServer checks the cache before invoking the Web component. If an appropriate response is found in the cache, EAServer returns the contents of the cache, instead of calling the Servlet
Page caching is not enabled for any JSPs or Servlets by default. It must be enabled on page by page basis as caching requirements might be different for each jsp/Servlet See:
com.sybase.jaguar.servlet.cache=CtsComponents/PageCache
com.sybase.jaguar.servlet.cache.timeout
"Page caching" in EAServer Programmer's Guide
Threading
If possible, Servlets should be coded to be thread-safe so the service method can be called concurrently from multiple threads. This threading model is the default for Servlets running in EAServer, and in most cases, offers the best performance
"Threading" in EAServer Programmer's Guide
JSP / Servlet Performance Advantages over CGI, ISAPI, and NSAPI
JSPs and Servlets provide superior performance and scalability because they can be compiled, loaded into memory, and reused by multiple clients while running in a single thread, and they can take advantage of connection caching or pooling.
Additionally, they overcome many of the deficiencies of CGI, ISAPI, and NSAPI. Although the CGI-BIN interface is not platform-specific, code has to be recompiled for different platforms, and performance is poor for large-scale applications because each new CGI request requires a new server process. Similar platform-specific interfaces such as ISAPI and NSAPI improve performance, but at the cost of even less portability.
"About Java Servlets" in EAServer Programmer's Guide
Tune the check interval
The com.sybase.jaguar.webapplicaton.jspc-interval property value indicates if and when the JSP runtime checks whether a JSP is current.
- If set to a negative number, the JSP runtime never checks.
- If set to 0, the JSP runtime always checks.
- To specify the number of seconds before the next check, set the value to a number greater than 0. If a request comes in before the time expires, the JSP is not checked.
"Page caching" in EAServer Programmer's Guide
Tracing
Ensure the com.sybase.jaguar.server.servlet.trace property is set to false.
"Repository Properties Reference" in EAServer System Administration Guide
Timeouts
You can set initialization and destroy timeouts for Web Applications, and override most of the settings at the individual Servlet level. See these properties for more information:
com.sybase.jaguar.servlet.init.timeout
com.sybase.jaguar.servlet.session.timeout
com.sybase.jaguar.webapplication.init-timeout
com.sybase.jaguar.servlet.destroy.wait-time
com.sybase.jaguar.webapplication.destroy-wait-time
"Repository Properties Reference" in EAServer System Administration Guide
"Server properties for Servlets" in EAServer Programmer's Guide
Load On Startup
You can decrease the amount of time it takes to serve up the first request to a Servlet by loading it on server startup with the com.sybase.jaguar.servlet.load-on-startup property.
"Repository Properties Reference" in EAServer System Administration Guide
C++ Components
Category
Performance Considerations
More Information
External Components
If you configure a C++ component to execute within a dedicated external process, be aware the component will not utilize EAServer transactions or connection caches.
"Running C++ components externally" in EAServer Programmer's Guide
Maximum Active Instances
The com.sybase.jaguar.component.objects specifies the maximum number of component instances that can exist at once. For a C++ component that runs as an external process, it specifies the maximum number of simultaneously running external processes.
If a request arrives when the maximum number of instances exist and are all busy, the request blocks, with blocking time constrained by the Maximum Wait setting.
"Repository Properties Reference" in in EAServer Programmer's Guide
C Components
Category
Performance Considerations
More Information
Shared variables
After a method finishes all operations on a collection, release the reference and all shared variable references. This helps to prevent memory leaks. Releasing collection and shared variable references does not release the shared variable values.
"Release shared variable and collection references" in EAServer Programmer's Guide
ActiveX Components
Category
Performance Considerations
More Information
Design issues
You can define get and set methods that control runtime properties for your component. However, using get and set methods to access properties over a network decreases performance
"ActiveX datatype support" in EAServer Programmer's Guide
PowerBuilder Components
In addition to good design and coding practices you would follow for any PowerBuilder applications, follow these suggestions for PowerBuilder components deployed to EAServer.
Category
Performance Considerations
More Information
DataStore footprint
There are a number of steps you can take to reduce the memory footprints of DataStores. Documentation includes an explanation of system resource utilization, monitoring tips, and suggestions.
Operating System Constraints Affecting the Scalability of PowerBuilder DataStores in EAServer
Component Memory Management
A technique for sharing class group loaders can be used to reduce the memory requirements -- sometimes dramatically -- of EAServer when running multiple PowerBuilder components.
Reducing Memory Requirements When Using PowerBuilder Components in EAServer
DataWindow Memory Management
For large retrievals or imports into a DataWindow object, set the datawindow.storagepagesize property to large. Setting this property allows the DataWindow to most efficiently use the available virtual memory. While the setting LARGE is recommended, a setting of MEDIUM is also available.
PowerBuilder 7.0.3 readme Will be added to 8.0 and 7.0.3 online help as well.
Garbage Collection
To remove unused objects from memory, you can call the GarbageCollect() function to force garbage collection to occur immediately.
Forcing the Garbage Collection Process in PowerBuilder
Bind Thread property
Setting the Bind Thread property to false can improve performance. However, you can only set this property to false for a PB component that either:
- does not declare a DataStore as an instance or global variable, or
- is deployed to a UNIX server
If the Bind Thread property is set to true, be sure to utilize Named Instance Pools, which is d 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 [SyBase]用Sybase EAServer建立电子影院售票系统 [SyBase]Index & Performance [SyBase]Optimizing SQL Anywhere performance over a WAN [ORACLE]ORACLE PERFORMANCE SQL TUNING [ORACLE]Oracle Tuning (Oracle 性能调整)的一些总结
|