精华内容
下载资源
问答
  • was线程数
    万次阅读
    2015-05-12 22:38:32

    was即websphere application server的简称,是ibm的一种应用服务器,商业上使用较多。它属于一种中间件,可以通过配置它,可以极大的提高系统的性能和稳定性。
    一般web项目都要放在服务器上,在代码没有极大的漏洞的情况下,可以通过优化was来提供项目系统的性能,或者找出系统的性能瓶颈。
    一般都是配置was的线程池(即最大线程数),数据库的连接池(即数据库连接数),且配置需要遵循漏斗原则,以保证系统的稳定性。

    漏斗原则
    web服务器——》web容器(应用服务器)——》数据库连接池
    数据库连接池,一般小于线程池,线程池一般小于web服务器的最大请求数

    以某些银行项目为例,一般200万的用户,并发数为80,那么线程配50-100,数据库连接配10-50即可。注意,这里要根据实际来,因为该项目的用户同时交易较少,如果是商城(如淘宝)之类,用户同时交易多,可不能这样代表。

    以下为其他网站相关文章的参考网址,能更好的阐述这样的性能配置。
    WebSphere的池配置
    WebSphere中池资源配置

    更多相关内容
  • was_线程池和线程数

    2021-04-22 16:49:14
    wasHome=$(ps-ef|grepjava|grepwebsphere|awk'{print$11}'|awk-F'=''{print$2}'|awk-F'/servers''{print$1}') foriin$wasHome do profileDir=$i/logs/ servers=`ls$profileDir|grepserver` if[-f"${profileDir}/${...

     

     

    wasHome=$(ps -ef | grep java |grep websphere |awk '{print $11}'|awk -F'=' '{print $2}' |awk -F'/servers' '{print $1}')
    for i in $wasHome
    do
            profileDir=$i/logs/
            servers=`ls $profileDir|grep server`
            if [ -f "${profileDir}/${servers}/${servers}.pid" ];
        then
            pid=`cat ${profileDir}/${servers}/${servers}.pid 2>/dev/null`
            if [ -z "$pid" ] || [ "`ps -ef|grep ${pid}|grep -v grep`" = "" ];then
                echo "${profileDir}/${servers} Thread ||NULL"
            else
                srvpro=`ps -ef|grep -v grep|grep ${servers}|grep ${profileDir}|awk '{print $(NF-3)" "$(NF-2)" "$(NF-1)" "$NF}'`
                srva=($srvpro)
                cfg="${srva[0]}/cells/${srva[1]}/nodes/${srva[2]}/servers/${srva[3]}/server.xml"
                cfgthd=`cat $cfg|grep -i name=\"webcontainer\"|awk -F "\"" '{print $6}'`
                thread=`pstree -p $pid|wc -l`
                echo "${pid} Thread || ${thread} \ ${cfgthd}"
            fi
        else
            echo "$${profileDir}/${servers} Thread ||NULL"
        fi
    done

    展开全文
  • WAS性能调优以及对jvm、线程数、ORB大小的配置
  • 针对WAS6.1,对线程数、jvm,日志以及数据库连接进行性能调优
  • was 线程挂起

    千次阅读 2017-01-05 11:40:38
    [15-1-30 16:32:17:797 CST] 00000003 ThreadMonitor W WSVR0605W: 线程“WebContainer : 26”(0000029f)已保持活动状态 685090 毫秒,此线程可能已挂起。在服务器中共有 25 个线程可能处于挂起状态。 at sun....

    [15-1-30 16:32:17:797 CST] 00000003 ThreadMonitor W   WSVR0605W: 线程“WebContainer : 26”(0000029f)已保持活动状态 685090 毫秒,此线程可能已挂起。在服务器中共有 25 个线程可能处于挂起状态。

    at sun.misc.Unsafe.park(Native Method)
    
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:184)
    
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:822)
    
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:853)
    
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1189)
    
    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:197)
    
    at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:273)
    
    at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:66)
    
    at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
    
    at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1275)
    
    at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1269)
    
    at org.apache.activemq.ActiveMQSession.(ActiveMQSession.java:252)
    
    at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:317)
    
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    
    at java.lang.reflect.Method.invoke(Method.java:611)
    
    
    
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
    
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
    
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935)
    
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
    
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
    
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
    
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
    
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
    
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
    
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
    
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
    
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    
    
    
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)

    从日志看,线程挂起在获取数据源连接的地方。问题可能是由于集群环境下获取数据源出现死锁,从而导致资源无法释放,最终线程池被耗尽,线程挂起。 最后只能重启WAS服务。

    这个问题的解决办法是:在数据源里面增加一个参数 useRRASetEquals 设置为 true

    添加路径:

           资源 -> JDBC -> XXX数据源->定制属性 -> 新建

    增加参数: useRRASetEquals ,值为 true , 类型为 java.lang.Boolean

    这个参数应该是WAS7新加的,因为加这个参数有版本要求,必须是 7.0.0.13 之后的版本,否则会报错。

    展开全文
  • 设置Weblogic的线程数有两种方法, 第一种,通过启动参数设置: -Dweblogic.threadpool.MinPoolSize=1000 -Dweblogic.threadpool.MaxPoolSize=1000   可以加在setDomainEnv.sh文件JAVA_OPTIONS下面; 第二种...

    使用Weblogic版本:Weblogic 11g(10.3.6)

    设置Weblogic的线程数有两种方法,

    第一种,通过启动参数设置:

    -Dweblogic.threadpool.MinPoolSize=1000 -Dweblogic.threadpool.MaxPoolSize=1000

     

    可以加在setDomainEnv.sh文件JAVA_OPTIONS下面;

    第二种,通过config.xml配置文件:

     
    1. <server>

    2.     <name>AdminServer</name>

    3.     <self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min>

    4.     <self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max>

    5. </server>

     

     

    Window环境下设置完应该直接重新启动就可以生效,Linux下,有可能会出现以下错误:

     
    1.  
    2. Attempting to allocate 4G bytes

    3.  
    4. There is insufficient native memory for the Java

    5. Runtime Environment to continue.

    6.  
    7. Possible reasons:

    8.   The system is out of physical RAM or swap space

    9.   In 32 bit mode, the process size limit was hit

    10.  
    11. Possible solutions:

    12.   Reduce memory load on the system

    13.   Increase physical memory or swap space

    14.   Check if swap backing store is full

    15.   Use 64 bit Java on a 64 bit OS

    16.   Decrease Java heap size (-Xmx/-Xms)

    17.   Decrease number of Java threads

    18.   Decrease Java thread stack sizes (-Xss)

    19.   Disable compressed references (-XXcompressedRefs=false)

    20.  
    21. java.lang.OutOfMemoryError: Resource temporarily unavailable in tsStartJavaThread (lifecycle.c:1097).

    22.  
    23. Attempting to allocate 4G bytes

    24.  
    25. There is insufficient native memory for the Java

    26. Runtime Environment to continue.

    27.  
    28. Possible reasons:

    29.   The system is out of physical RAM or swap space

    30.   In 32 bit mode, the process size limit was hit

    31.  
    32. Possible solutions:

    33.   Reduce memory load on the system

    34.   Increase physical memory or swap space

    35.   Check if swap backing store is full

    36.   Use 64 bit Java on a 64 bit OS

    37.   Decrease Java heap size (-Xmx/-Xms)

    38.   Decrease number of Java threads

    39.   Decrease Java thread stack sizes (-Xss)

    40.   Disable compressed references (-XXcompressedRefs=false)

     

    出现这个原因的问题可能是因为Linux下系统对用户的默认线程数做了限制,可以通过:

    ulimit -a

     

    命令进行查看:

     
    1. core file size          (blocks, -c) 0

    2. data seg size           (kbytes, -d) unlimited

    3. scheduling priority             (-e) 0

    4. file size               (blocks, -f) unlimited

    5. pending signals                 (-i) 515223

    6. max locked memory       (kbytes, -l) 64

    7. max memory size         (kbytes, -m) unlimited

    8. open files                      (-n) 1024

    9. pipe size            (512 bytes, -p) 8

    10. POSIX message queues     (bytes, -q) 819200

    11. real-time priority              (-r) 0

    12. stack size              (kbytes, -s) 10240

    13. cpu time               (seconds, -t) unlimited

    14. max user processes              (-u) 1024

    15. virtual memory          (kbytes, -v) unlimited

    16. file locks                      (-x) unlimited

     

    其中

    max user processes              (-u) 1024

     

    表示当前系统允许的最大线程数,可以把此参数设大一些。

    ulimit -u 5000

     

    设置当前系统用户最大允许的线程数,只对本次会话有效,如果想要永久生效,可以通过修改:

     
    1. $ cat /etc/security/limits.d/90-nproc.conf 

    2. # Default limit for number of user's processes to prevent

    3. # accidental fork bombs.

    4. # See rhbz #432903 for reasoning.

    5.  
    6. *          soft    nproc    1024

     

    只需要将1024改成你需要的值即可,设置完需要重启系统已生效。

    展开全文
  • WAS IBM java线程堆栈分析工具,jca467.jar
  • 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂。所以,这里力图用简单的例子,让你对多线程有...def music(): for i in range(2): print “I was listening to music. %s” %ctime() s
  • 文章来源:风云社区 ...max_connections:支持的最大并发连接 The maximum permitted number of simultaneous client connections show variables like 'innodb_thread_concurrency' innod...
  • // If the task was previously queued, remove it from the queue if (taskWasPreviouslyQueued) TryDequeue(task); // Try to run the task. return base.TryExecuteTask(task); } /// <summary>...
  • java线程堆栈分析工具jca466.jar;堆内存分析工具Memory Analyzer;分析内存泄露产生的javacore文件,以便于定位blocked线程
  • 设置Weblogic的线程数有两种方法

    千次阅读 2015-09-09 14:02:00
    设置Weblogic的线程数有两种方法, 第一种,通过启动参数设置: 1 -Dweblogic.threadpool.MinPoolSize=1000 -Dweblogic.threadpool.MaxPoolSize=1000 ...
  • 深入浅出 gRPC 03:gRPC 线程模型分析

    千次阅读 2020-02-03 19:36:52
    1. RPC 线程模型 1.1 BIO 线程模型 在 JDK 1.4 推出 Java NIO 之前,基于 Java 的所有 Socket 通信都采用了同步阻塞模式(BIO),这种一请求一应答的通信模型简化了上层的应用开发,但是在性能和可靠性方面却存在...
  • Qt之线程使用问题

    2021-01-07 20:32:39
    使用线程,遇到了一个问题,release模式正常,但debug模式崩溃,报如下错误: ASSERT failure in QCoreApplication::sendEvent: Cannot send events to objects owned by a different thread. Current thread 171107...
  • 实际情况下,对于一个请求/响应模型的服务,并发线程数设置为CPU核数N倍时性能最佳。这个N取决于业务逻辑的执行时间、线程等待时间等因素,N的大致的经验值范围是[2, 10]。 使用异步模型编写微服务,配合异步IO或者...
  • C#Task多线程限制并发数量

    千次阅读 2022-02-09 17:40:23
    C#Task多线程限制并发数量
  • 如果我从主线程启动pyqt,它会阻塞其他所有东西,所以我从另一个线程启动它。好几个月来,它一直运行得很好,但我只是注意到一个警告(不知道我以前是怎么错过的):WARNING: QApplication was not created in the ...
  • 目录基本概念线程模型多对一模型一对一模型多对多模型并发上的区别 参考文章 线程的3种实现方式–内核级线程, 用户级线程和混合型线程 Chapter 2 Multithreading Operating System Concepts 基本概念 用户级...
  • 1. 介绍什么是线程安全 2. 总Java虚拟机运行时数据区的角度看那些数据是线程共享的,那些是线程私有的
  • 最近做多职位简历召回时,使用多线程进行es数据召回,发现每次es召回的时间大概在1000ms,甚至导致RuntimeException。linux机器cpu核数等于8  一、分析原因  1、单线程进行es数据召回,耗时30ms左右,猜猜是由于...
  • Java多线程之 Park和Unpark(十四)

    千次阅读 2021-01-05 23:57:50
    //暂停当前线程 LockSupport.park(); //恢复某个线程 LockSupport.unpark(暂停线程对象); 先 park 再unpark Thread thread = new Thread(() -> { System.out.println("start....."); try { Thread.sleep
  • 线程Future模式使用

    千次阅读 2022-03-21 16:24:36
    上次分享了多线程与自动任务的风花雪月悲惨结局,今天借此继续分享下多线程带返回结果的基本讨论与实现。 一、使用场景 一个业务方法可能执行时间很长,而我们也不急着摇返回结果,那么就可以用多线程去开启一个...
  • macOS多线程限制

    千次阅读 2019-11-20 17:24:22
    macOS下进行python多线程开发有的时候会报错 may have been inprogress inanother thread when fork() was called 2.解决办法 在pycharm中设置 写入: ;OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES ...
  • 【Linux Program】POSIX 线程

    千次阅读 2022-04-16 13:23:38
    POSIX 线程
  • nodejs中使用worker_threads来创建新的线程

    万次阅读 热门讨论 2021-01-21 20:27:05
    之前的文章中提到了,nodejs中有两种线程,一种是event loop用来相应用户的请求和处理各种callback。另一种就是worker pool用来处理各种耗时操作。 nodejs的官网提到了一个能够使用nodejs本地woker pool的lib叫做...
  • EF Core DbContext 线程安全

    千次阅读 2022-04-06 10:21:23
    百度了一圈,说把Startup.cs中AddDbContext 的生命周期改为Transient,改了之后: 还是报类似的错误, An attempt was made to use the context while it is being configured. A DbContext instance cannot be ...
  • 一个线程start多次

    千次阅读 2018-08-15 13:52:50
    一个线程start多次会怎样? 结果:会报错。报错如下: Exception in thread "main" java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:705) at ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,719
精华内容 39,087
关键字:

was线程数

友情链接: NOTFind.rar