1、 was异常时需要查看哪些日志文件
SystemErr.log : 系统出错日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/
SystemOut.log : 系统中所有活动的日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/
其他日志文件:
startServer.log : 启动服务器事件的日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/
stopServer.log : 停止服务器事件的日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/
native_stderr.log : GC垃圾收集日志,这表明了内存管理是否正常。通过一些工具,比如:ISA里的 PMAT (IBM Pattern Modeling andAnalysis Tool for Java Garbage Collector)可以查看GC历史趋势,看有没有内存泄漏的问题,路径:{was_install}/profiles/{profilename}/logs/{servername}/
2、 was性能调优的参数有哪些
一、websphere参数设置及性能调优
1、应用程序服务器 > server1> Web 容器->线程池
Web 容器用来设置最大并发用户,它维护着一个线程池,用来处理接受到的jsp/servlet请求。
2、应用程序服务器 > server1>ORB 服务->线程池
对象请求代理(ORB)可以设置线程池的大小;同时,在这里也可以设置线程池自增长功能,点选“可增长线程池”选项,使得即使设置了最大的线程池大小,当并发的EJB请求过多,线程池的大小还是可以超过预先设置的最大值。
3、应用程序服务器 > server1>ORB 服务
在EJB1.1规范中,要求远程方法一律使用参数值传递方式来调用,如果调用EJB的Servlet或者其它EJB是部署在同一个应用服务器下,那么它们是共享一个JVM的,也就是说可以使得函数调用的方式变为参数引用传递,这样的话,视参数对象的复杂程度而定,可以提高5%-50%的函数调用效率。我们可以通过点击 “按引用传送” 选项来调整ORB的参数传递方式。
4、应用程序服务器 > server1>Web 容器->定制属性
MaxKeepAliveConnections:表示系统同时保存的最大连接个数,超过这一个数时最近最少被使用的连接将被关闭, 整型,缺省值是:300;
MaxKeepAliveRequests:客户端请求被保持到一个请求队列,此属性用于决定请求队列可保持的最大客户端请求数,整型,缺省值是:100;
5、应用程序服务器 > server1>进程定义 >Java 虚拟机->初始堆大小
Java 虚拟机(JVM)堆大小设置将影响 Java 对象的无用数据收集。堆设置过大,会占用过多的内存,使内存资源耗尽,从而会频繁的进行I/O操作来使用虚拟内存。堆设置过小,会使得对象可分配空间变小,从而会频繁的使用垃圾收集机制来释放内存空间,而每次垃圾收集,都会耗用一定的系统资源。请考虑:
(1)选定应用程序服务器的 JVM 堆是否与同一机器上的其它应用程序服务器 JVM 堆共享物理内存。例如,您是以本地方式还是以远程方式运行监视器?
(2)指定 JVM 堆驻留在物理内存中并防止交换到磁盘。
(3)将起始 JVM 堆大小设置为最大 JVM 堆大小的 1/4。
(4)如果机器上只有一个应用程序服务器,则将最大 JVM 堆大小设置为以下值:
128 MB(内存小于 1 GB 的系统)
256 MB(内存 1 - 2 GB 的系统)
512 MB(内存大于 2 GB 的系统)
6、JDBC提供程序> Sybase JDBC Driver >数据源 > 语句高速缓存大小
将预备语句高速缓存大小设置为等于已配置数据源连接最大数目。
7、JDBC提供程序> Sybase JDBC Driver >数据源 > 连接池
最小连接数: 连接池保持的最小备用物理连接数。当连接池中的备用物理连接被分配给客户请求后,连接池中的备用物理连接的实际数量小于此数时,应用服务器将建立新的物理连接到连接池中备用。
最大连接数: 连接池保持的最大备用物理连接数。当应用程序完成对连接的操作,应用程序所使用的物理连接被返回到连接池中作为备用连接,当连接池中的实际备用物理连接的实际数量大于此数时,应用服务器将关闭此物理连接。
8、资源 -> WebSphere JMS 提供程序->WebSphere 队列连接工厂->点击所创建的工厂->配置->连接池
JMS 应用程序通过“队列连接工厂”创建队列连接来与 JMS 提供程序通信。WebSphere Application Server 对这些连接进行池化以提高 JMS 应用程序的性能。连接池避免了与消息传递中间件连接(以及后面的断开连接)时的性能开销。
当应用程序调用QueueConnectionFactory.createQueueConnection() 时,应用服务器将检查连接池中是否有连接到工厂使用的队列管理器的空闲连接可用。如果发现空闲连接,则将其标记为 in use 并返回给应用程序。如果池中所有连接都在使用中,或者createQueueConnection() 方法首次在连接工厂上调用,则会创建一个新的连接并返回给应用程序。连接池将维护此新连接的引用,并将其标记为“in use”。
如果池中总连接数达到最大,则QueueConnectionFactory.createQueueConnection() 方法将等待“inuse”连接变为可用。对于这种情况,该方法等待连接的最大等待时间是由连接池的连接超时属性指定的
9、资源 -> WebSphere JMS 提供程序->WebSphere 队列连接工厂->点击所创建的工厂->配置->会话池
队列会话是使用QueueConnection.createQueueSession() 方法从队列连接创建的。为了提高性能,这些会话也维护在一个池中(会话池)。
每个队列连接都有一个与之相关联的会话池。这意味着,如果在连接池中最多有两个连接,在会话池中最多有四个会话,则对于此队列连接工厂可以有多达八个会话;也意味着,对于此队列连接工厂,每个连接最多只有四个会话。
3、 was中cell、server、node、profile的区别
单元cell:
单元是整个分布式网络中一个或多个节点的逻辑分组。单元是一个配置概念,是管理员将节点间逻辑关联起来的实现方法。管理员根据具体的业务环境,制定对其整体系统集成环境有意义的条件来定义和组织构成单元的节点。就一般情况来说,可以将单元看作是最大的作用域。
在 IBM WAS ND 产品中,管理配置数据都存储在 XML 文件中。单元保留了它每个节点中每台服务器的主配置文件。同时每个节点和服务器也有其自己的本地配置文件。如果服务器已经属于单元,则对于本地节点或服务器配置文件的更改都是临时的,通过在本地提交更改生效时,本地更改覆盖单元配置,但是当执行单元配置文档同步到节点的操作时,在单元级别上对主控服务器和主节点配置文件所作的更改将会替换对该节点所作的任何临时更改。
节点node:
节点是受管服务器(Server)的逻辑分组。节点通常与具有唯一 IP 主机地址的逻辑或物理计算机系统对应,节点不能跨多台计算机。节点分为受管节点与非受管节点。
关于 Node、Profile 与Server:
这三个概念比较容易混淆,我们拿出来对比说明:Node=Profile。Node 是管理上使用的概念,Profile 是实际的概要文件,它们代表同一事物。Server 就是所谓的 Application Server Instance , 这是我们实际要布署 Application 的地方。在IBM WAS ND 产品中受管节点的 Node Agent 目的就是让 Deployment Manager Server 可以透过 Node Agent 来管 Node (Profile) 中的 Application Server Instance,一个 Node(Profile) 中可以有多个 Application Server Instance。
如果是非 ND 版本 , 则属于 Single Server 版本,那么一个 Node (Profile) 中只能有一个 Application ServerInstance,如果你希望在一台机器上有多个 Application Server Instance,那就只能透过创建多个 Profile (Node) 来达成,但这些 Node (Porfile) 彼此独立没有管理上的关系 (RelationShip),只要使用的 TCP/IP Port 不要冲突即可。
4、 was中执行kill的哪个命令能够查看javacore和heapdump
kill -3 进程号