线程池大小设置,如何修改weblogic默认线程池大小

碾子山网站建设公司创新互联公司,碾子山网站设计制作,有大型网站制作公司丰富经验。已为碾子山成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的碾子山做网站的公司定做!

本文目录一览

1,如何修改weblogic默认线程池大小

weblogic 9开始使用了线程自调优技术。通过以下方法设置,可以指定默认线程的最大最小值。方法一:修改启动脚本参数在启动脚本中,增加如下参数%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=500 %PROXY_SETTINGS% %SERVER_CLASS% 方法二:修改config.xml在config.xml中,增加如下参数AdminServer 100 500 7923 经过测试,以上两种方法适合weblogic9,10,11g

1)修改启动脚本参数在启动脚本中,增加如下参数%java_home%\bin\java %java_vm% %mem_args% %java_options% -dweblogic.name=%server_name% -djava.security.policy=%wl_home%\server\lib\weblogic.policy -dweblogic.threadpool.minpoolsize=100 -dweblogic.threadpool.maxpoolsize=500 %proxy_settings% %server_class% 2)修改config.xml在config.xml中,增加如下参数adminserver 100 500 7923

2,如何修改elasticsearch默认线程池大小

打开es里面的config -》 elasticsearch.yml 文件 这个就是修改线程池的配置文件添加threadpool.index.queue_size: 500之类的配置 注意:这个配置不一定是你需要的那个。具体查阅其他博客

1)修改启动脚本参数在启动脚本中,增加如下参数%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=500 %PROXY_SETTINGS% %SERVER_CLASS% 2)修改config.xml在config.xml中,增加如下参数 AdminServer 100 500 7923

1)修改启动脚本参数 在启动脚本中,增加如下参数 %java_home%\bin\java %java_vm% %mem_args% %java_options% -dweblogic.name=%server_name% -djava.security.policy=%wl_home%\server\lib\weblogic.policy -dweblogic.threadpool.minpoolsize=100 -dweblogic.threadpool.maxpoolsize=500 %proxy_settings% %server_class% 2)修改config.xml 在config.xml中,增加如下参数 adminserver 100 500 7923

3,如何合理地估算线程池大小

只要您遵循几条简单的准则,线程池可以成为构建服务器应用程序的极其有效的方法:不要对那些同步等待其它任务结果的任务排队。这可能会导致上面所描述的那种形式的死锁,在那种死锁中,所有线程都被一些任务所占用,这些任务依次等待排队任务的结果,而这些任务又无法执行,因为所有的线程都很忙。在为时间可能很长的操作使用合用的线程时要小心。如果程序必须等待诸如 i/o 完成这样的某个资源,那么请指定最长的等待时间,以及随后是失效还是将任务重新排队以便稍后执行。这样做保证了:通过将某个线程释放给某个可能成功完成的任务,从而将最终取得某些进展。理解任务要有效地调整线程池大小,您需要理解正在排队的任务以及它们正在做什么。它们是 cpu 限制的(cpu-bound)吗?它们是 i/o 限制的(i/o-bound)吗?您的答案将影响您如何调整应用程序。如果您有不同的任务类,这些类有着截然不同的特征,那么为不同任务类设置多个工作队列可能会有意义,这样可以相应地调整每个池。调整池的大小调整线程池的大小基本上就是避免两类错误:线程太少或线程太多。幸运的是,对于大多数应用程序来说,太多和太少之间的余地相当宽。请回忆:在应用程序中使用线程有两个主要优点,尽管在等待诸如 i/o 的慢操作,但允许继续进行处理,并且可以利用多处理器。在运行于具有 n 个处理器机器上的计算限制的应用程序中,在线程数目接近 n 时添加额外的线程可能会改善总处理能力,而在线程数目超过 n 时添加额外的线程将不起作用。事实上,太多的线程甚至会降低性能,因为它会导致额外的环境切换开销。线程池的最佳大小取决于可用处理器的数目以及工作队列中的任务的性质。若在一个具有 n 个处理器的系统上只有一个工作队列,其中全部是计算性质的任务,在线程池具有 n 或 n+1 个线程时一般会获得最大的 cpu 利用率。对于那些可能需要等待 i/o 完成的任务(例如,从套接字读取 http 请求的任务),需要让池的大小超过可用处理器的数目,因为并不是所有线程都一直在工作。通过使用概要分析,您可以估计某个典型请求的等待时间(wt)与服务时间(st)之间的比例。如果我们将这一比例称之为 wt/st,那么对于一个具有 n 个处理器的系统,需要设置大约 n*(1+wt/st) 个线程来保持处理器得到充分利用。处理器利用率不是调整线程池大小过程中的唯一考虑事项。随着线程池的增长,您可能会碰到调度程序、可用内存方面的限制,或者其它系统资源方面的限制,例如套接字、打开的文件句柄或数据库连接等的数目。

最简单的可以利用java.util.concurrent.Executors 调用Executors.newCachedThreadPool()获取缓冲式线程池 Executors.newFixedThreadPool(int nThreads)获取固定大小的线程池


网站名称:线程池大小设置,如何修改weblogic默认线程池大小
转载来于:http://pwwzsj.com/article/ehojpi.html