精华内容
下载资源
问答
  • 基于粒子群算法的区域资源优化配置研究.pdf
  • 根据水资源价值、边际机会成本、最优化数学等理论,基于水资源净效益最大化的水资源优化配置思想,以水资源承载力、用水部门生存条件、用水公平性及可持续发展约束等水资源开发利用约束为准则,建立了基于水资源净...
  • 运用可持续发展的水资源优化配置理论,以区域经济发展与水环境保护相协调为目标,建立地下水开采漏斗区水资源多目标优化配置模型。采用多目标遗传算法对漏斗区水资源进行合理配置。优化配置结果表明:基本解决了漏斗...
  • 论文研究-面向可持续发展的区域资源优化配置研究.pdf, 系统分析了面向可持续发展的区域资源优化配置的内涵与原则 ,建立了其优化配置模型 ,给出了其实用可行的求解...
  • 为了构建可持续发展视角下的区域资源优化配置模型,针对水资源优化配置表现出的主从递阶决策、多目标决策、多阶段决策等特点,构建了优化配置模型,采用逻辑集成多种算法的求解思路。集成引入了多目标满意度计算、...
  • 在MARKAL模型的基础上,建立了体现区域...结果表明:利用三元区间数规划得到的弱最优解,一定程度上决策者可以根据主观偏好及区域的实际情况,灵活调整决策变量值,得到满意的方案,为区域煤炭资源优化配置决策提供技术支持。
  • 研究以推进蓝区城镇化进程中土地资源优化配置为主旨,将经济地理学中的区位理论、城市经济学的空间结构理论等与城镇土地利用和城镇化的现状紧密结合,洞悉土地资源利用与城镇化发展的互动机制,将理论与具体研究相结合,...
  • 基于改进遗传算法的区域科技资源配置优化
  • 基于MATLAB的文山州区域资源线性多目标优化配置研究.pdf
  • “三明模式”对优化区域内医疗资源配置借鉴意义.rar
  • “三明模式”对优化区域内医疗资源配置借鉴意义.pdf
  • 基于混合遗传算法的红兴隆分局水资源优化配置,刘姣,刘东,针对区域水资源开发利用模式不合理、传统优化算法运行效率不高问题,以红兴隆分局为例,对其水资源优化配置模型进行研究。基于大
  • 资源优化配置作为解决水资源短缺的重要手段,对于区域社会经济的可持续发展具有重要的意义。水资源优化配置模型是一个结构复杂的综合系统,传统的优化方法难以求得模型的全局最优解。第二代非支配排序遗传算法...
  • 流域是一个自然形成的空间范围,往往涉及多个不同的行政区域,流域水资源分配牵涉到流域内不同利益主体,公平有效地进行流域水资源配置以达到水资源的可持续利用已经成为流域经济发展和社会稳定的重要因素。
  • 方法 通过构建区域经济发展与水资源利用和水环境质量改善之间的协调度,结合效益系数及费用系数计算作为约束,借以完善水资源协调优化配置模型。结果 利用水资源协调优化配置模型,完成了对凌源市近期规划水平年...
  • 线性规划法在区域供水优化配置中的应用——以崂山区为例,刘艳玲,,崂山区位于青岛市区东部,2000年人均水资源占有量为603 m3,是我国及世界人均水资源占有量的1/4和1/16。针对水资源短缺的现状,崂山区�
  • 本文不仅对多行政区域国家的反污染政策及其经济-环境影响进行了理论分析,还提出了能源、反污染策略在多个行政区域间的最优配置执行方案,为我国实现能源资源可持续开发利用战略提供有效决策支持.
  • 城市区域电动汽车充电设施配置优化.pdf
  • 针对朗讯CDMA核心网资源配置不平衡的问题,提出了一种基于基站区域重划分与5ESS硬件资源配置相结合的优化方案,利用系统统计数据对基站区域重新划分,从而减少基站的越区切换,并通过硬件槽位变动使得新区域获得必备...
  • 论文研究-资源与活动多对多关系下面向成本的业务过程资源配置优化.pdf, 资源配置优化是业务过程管理的一个重要内容和目标,可以有效地提高业务过程的执行效率. 采用基于...
  • 大型科学仪器设备是重要的科技基础条件资源,从价值区间、购置时期、产地、经费来源、仪器类型、区域集中度、运行情况和...最后提出了目标导向、全方位共同推进和优势带动等优化配置大型科学仪器设备资源的政策建议。
  • 分析了制造资源在区域网络化配置中的特点,研究了区域网络化资源优化配置对其资源模型的要求。采用面向对象的统一建模语言方法建立了面向区域网络化资源优化配置的装备资源两级模型,为区域网络化资源优化配置提供了...
  • Tomcat配置参数优化

    千次阅读 2016-10-04 10:42:52
    摘要: Tomcat在使用的过程中会遇到很多报错,有些是程序的报错,但还有一部分是tomcat本身的报错,我们可以通过优化tomcat的初始配置来提高tomcat的性能。Tomcat的优化主要体现在两方面:内存、并发连接数。 1、...

    摘要: Tomcat在使用的过程中会遇到很多报错,有些是程序的报错,但还有一部分是tomcat本身的报错,我们可以通过优化tomcat的初始配置来提高tomcat的性能。Tomcat的优化主要体现在两方面:内存、并发连接数。 1、内存优化: 优化内存,主要是在bin/catalina.bat/sh 配置文...

    Tomcat在使用的过程中会遇到很多报错,有些是程序的报错,但还有一部分是tomcat本身的报错,我们可以通过优化tomcat的初始配置来提高tomcat的性能。Tomcat的优化主要体现在两方面:内存、并发连接数。

    Tomcat7优化配置Tomcat7优化配置

    1、内存优化:

    优化内存,主要是在bin/catalina.bat/sh 配置文件中进行。linux上,在catalina.sh中添加:

    JAVA_OPTS="-server -Xms1G -Xmx2G -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxPermSize=256m -XX:PermSize=128M -XX:MaxPermSize=256M"

    其中:

    • -server:启用jdk的server版本。
    • -Xms:虚拟机初始化时的最小堆内存。
    • -Xmx:虚拟机可使用的最大堆内存。 #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
    • -XX:PermSize:设置非堆内存初始值,默认是物理内存的1/64。
    • -XX:MaxNewSize:新生代占整个堆内存的最大值。
    • -XX:MaxPermSize:Perm(俗称方法区)占整个堆内存的最大值,也称内存最大永久保留区域。

    1)错误提示:java.lang.OutOfMemoryError:Java heap space

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Outof Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的-Xms和-Xmx即可解决问题,通常将-Xms和-Xmx设置成一样,堆的最大值设置为物理可用内存的最大值的80%。

    set JAVA_OPTS=-Xms512m-Xmx512m

    2)错误提示:java.lang.OutOfMemoryError: PermGenspace

    PermGenspace的全称是Permanent Generationspace,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGenspace进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行precompile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法:

    setJAVA_OPTS=-XX:PermSize=128M

    3)在使用-Xms和-Xmx调整tomcat的堆大小时,还需要考虑垃圾回收机制。如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。

    2、连接数优化:

    #优化连接数,主要是在conf/server.xml配置文件中进行修改。

    2.1、优化线程数

    找到Connectorport="8080" protocol="HTTP/1.1",增加maxThreads和acceptCount属性(使acceptCount大于等于maxThreads),如下:

    <Connectorport="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443"acceptCount="500" maxThreads="400" />

    其中:

    • maxThreads:tomcat可用于请求处理的最大线程数,默认是200
    • minSpareThreads:tomcat初始线程数,即最小空闲线程数
    • maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭
    • acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理.默认100
    2.2、使用线程池

    在server.xml中增加executor节点,然后配置connector的executor属性,如下:

    <Executorname="tomcatThreadPool" namePrefix="req-exec-"maxThreads="1000" minSpareThreads="50"maxIdleTime="60000"/>
    <Connectorport="8080" protocol="HTTP/1.1"executor="tomcatThreadPool"/>

    其中:

    • namePrefix:线程池中线程的命名前缀
    • maxThreads:线程池的最大线程数
    • minSpareThreads:线程池的最小空闲线程数
    • maxIdleTime:超过最小空闲线程数时,多的线程会等待这个时间长度,然后关闭
    • threadPriority:线程优先级

    注:当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄,这时会报java.net.SocketException:Too many open files错误。可使用下面步骤检查:

    • ps -ef |grep tomcat 查看tomcat的进程ID,记录ID号,假设进程ID为10001
    • lsof -p 10001|wc -l 查看当前进程id为10001的 文件操作数
    • 使用命令:ulimit -a 查看每个用户允许打开的最大文件数
    3、Tomcat Connector三种运行模式(BIO, NIO, APR)
    3.1、三种模式比较:

    1)BIO:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下在Linux系统中默认使用这种方式。

    2)NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7必须修改Connector配置来启动(conf/server.xml配置文件):

    <Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000"redirectPort="8443"/>

    3)APR(Apache Portable Runtime):从操作系统层面解决io阻塞问题。Linux如果安装了apr和native,Tomcat直接启动就支持apr。

    3.2、apr模式

    安装apr以及tomcat-native

    yum -y install apr apr-devel

    进入tomcat/bin目录,比如:

    cd /opt/local/tomcat/bin/
    tar xzfv tomcat-native.tar.gz
    cd tomcat-native-1.1.32-src/jni/native
    ./configure --with-apr=/usr/bin/apr-1-config
    make && make install

    #注意最新版本的tomcat自带tomcat-native.war.gz,不过其版本相对于yum安装的apr过高,configure的时候会报错。

    解决:yum remove apr apr-devel –y,卸载yum安装的apr和apr-devel,下载最新版本的apr源码包,编译安装;或者下载低版本的tomcat-native编译安装

    安装成功后还需要对tomcat设置环境变量,方法是在catalina.sh文件中增加1行:

    CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

    #apr下载地址:http://apr.apache.org/download.cgi

    #tomcat-native下载地址:http://tomcat.apache.org/download-native.cgi

    修改8080端对应的conf/server.xml

    protocol="org.apache.coyote.http11.Http11AprProtocol"

    <Connector executor="tomcatThreadPool"
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    connectionTimeout="20000"
    enableLookups="false"
    redirectPort="8443"
    URIEncoding="UTF-8" />

    PS:启动以后查看日志 显示如下表示开启 apr 模式

    Sep 19, 2016 3:46:21 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-apr-8081"]
    展开全文
  • Tomcat7优化配置

    千次阅读 2016-10-02 19:01:24
    Tomcat在使用的过程中会遇到很多报错,有些是程序的报错,但还有一部分是tomcat本身的报错,我们可以通过优化tomcat的初始配置来提高tomcat的性能。Tomcat的优化主要体现在两方面:内存、并发连接数。

    导读Tomcat在使用的过程中会遇到很多报错,有些是程序的报错,但还有一部分是tomcat本身的报错,我们可以通过优化tomcat的初始配置来提高tomcat的性能。Tomcat的优化主要体现在两方面:内存、并发连接数。

    Tomcat7优化配置Tomcat7优化配置

    1、内存优化:

    优化内存,主要是在bin/catalina.bat或bin/catalina.sh 配置文件中进行。linux上,在catalina.sh中添加:

    JAVA_OPTS="-server -Xms1G -Xmx2G -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxPermSize=256m -XX:PermSize=128M -XX:MaxPermSize=256M"

    其中:

    • -server:启用jdk的server版本。
    • -Xms:虚拟机初始化时的最小堆内存。
    • -Xmx:虚拟机可使用的最大堆内存。 #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
    • -XX:PermSize:设置非堆内存初始值,默认是物理内存的1/64。
    • -XX:MaxNewSize:新生代占整个堆内存的最大值。
    • -XX:MaxPermSize:Perm(俗称方法区)占整个堆内存的最大值,也称内存最大永久保留区域。

    1)错误提示:java.lang.OutOfMemoryError:Java heap space

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Outof Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的-Xms和-Xmx即可解决问题,通常将-Xms和-Xmx设置成一样,堆的最大值设置为物理可用内存的最大值的80%。

    set JAVA_OPTS=-Xms512m-Xmx512m

    2)错误提示:java.lang.OutOfMemoryError: PermGenspace

    PermGenspace的全称是Permanent Generationspace,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGenspace进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行precompile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法:

    setJAVA_OPTS=-XX:PermSize=128M

    3)在使用-Xms和-Xmx调整tomcat的堆大小时,还需要考虑垃圾回收机制。如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。

    2、连接数优化:

    #优化连接数,主要是在conf/server.xml配置文件中进行修改。

    2.1、优化线程数

    找到Connectorport="8080" protocol="HTTP/1.1",增加maxThreads和acceptCount属性(使acceptCount大于等于maxThreads),如下:

    <Connectorport="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443"acceptCount="500" maxThreads="400" />

    其中:

    • maxThreads:tomcat可用于请求处理的最大线程数,默认是200
    • minSpareThreads:tomcat初始线程数,即最小空闲线程数
    • maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭
    • acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理.默认100
    2.2、使用线程池

    在server.xml中增加executor节点,然后配置connector的executor属性,如下:

    <Executorname="tomcatThreadPool" namePrefix="req-exec-"maxThreads="1000" minSpareThreads="50"maxIdleTime="60000"/>
    <Connectorport="8080" protocol="HTTP/1.1"executor="tomcatThreadPool"/>

    其中:

    • namePrefix:线程池中线程的命名前缀
    • maxThreads:线程池的最大线程数
    • minSpareThreads:线程池的最小空闲线程数
    • maxIdleTime:超过最小空闲线程数时,多的线程会等待这个时间长度,然后关闭
    • threadPriority:线程优先级

    注:当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄,这时会报java.net.SocketException:Too many open files错误。可使用下面步骤检查:

    • ps -ef |grep tomcat 查看tomcat的进程ID,记录ID号,假设进程ID为10001
    • lsof -p 10001|wc -l 查看当前进程id为10001的 文件操作数
    • 使用命令:ulimit -a 查看每个用户允许打开的最大文件数
    3、Tomcat Connector三种运行模式(BIO, NIO, APR)
    3.1、三种模式比较:

    1)BIO:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下在Linux系统中默认使用这种方式。

    2)NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7必须修改Connector配置来启动(conf/server.xml配置文件):

    <Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000"redirectPort="8443"/>

    3)APR(Apache Portable Runtime):从操作系统层面解决io阻塞问题。Linux如果安装了apr和native,Tomcat直接启动就支持apr。

    3.2、apr模式

    安装apr以及tomcat-native

    yum -y install apr apr-devel

    进入tomcat/bin目录,比如:

    cd /opt/local/tomcat/bin/
    tar xzfv tomcat-native.tar.gz
    cd tomcat-native-1.1.32-src/jni/native
    ./configure --with-apr=/usr/bin/apr-1-config
    make && make install

    #注意最新版本的tomcat自带tomcat-native.war.gz,不过其版本相对于yum安装的apr过高,configure的时候会报错。

    解决:yum remove apr apr-devel –y,卸载yum安装的apr和apr-devel,下载最新版本的apr源码包,编译安装;或者下载低版本的tomcat-native编译安装

    安装成功后还需要对tomcat设置环境变量,方法是在catalina.sh文件中增加1行:

    CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

    #apr下载地址:http://apr.apache.org/download.cgi

    #tomcat-native下载地址:http://tomcat.apache.org/download-native.cgi

    修改8080端对应的conf/server.xml

    protocol="org.apache.coyote.http11.Http11AprProtocol"

    <Connector executor="tomcatThreadPool"
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    connectionTimeout="20000"
    enableLookups="false"
    redirectPort="8443"
    URIEncoding="UTF-8" />

    PS:启动以后查看日志 显示如下表示开启 apr 模式

    Sep 19, 2016 3:46:21 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-apr-8081"]



    本文原创地址:http://www.linuxprobe.com/tomcat7-configure-optimize.html ‎

    免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/thread


    展开全文
  • tomcat优化配置参数

    千次阅读 2016-09-21 14:02:10
    优化内存,主要是在bin/catalina.bat/sh 配置文件中进行。linux上,在catalina.sh中添加: JAVA_OPTS="-server -Xms1G -Xmx2G -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxPermSize=256...

    1、内存优化:

    优化内存,主要是在bin/catalina.bat/sh 配置文件中进行。linux上,在catalina.sh中添加:

    JAVA_OPTS="-server -Xms1G -Xmx2G -Xss256K -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:MaxPermSize=256m -XX:PermSize=128M -XX:MaxPermSize=256M"

    其中:

    • -server:启用jdk的server版本。
    • -Xms:虚拟机初始化时的最小堆内存。
    • -Xmx:虚拟机可使用的最大堆内存。 #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落
    • -XX:PermSize:设置非堆内存初始值,默认是物理内存的1/64。
    • -XX:MaxNewSize:新生代占整个堆内存的最大值。
    • -XX:MaxPermSize:Perm(俗称方法区)占整个堆内存的最大值,也称内存最大永久保留区域。

    1)错误提示:java.lang.OutOfMemoryError:Java heap space

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Outof Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的-Xms和-Xmx即可解决问题,通常将-Xms和-Xmx设置成一样,堆的最大值设置为物理可用内存的最大值的80%。

    set JAVA_OPTS=-Xms512m-Xmx512m

    2)错误提示:java.lang.OutOfMemoryError: PermGenspace

    PermGenspace的全称是Permanent Generationspace,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGenspace中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGenspace进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行precompile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法:

    setJAVA_OPTS=-XX:PermSize=128M

    3)在使用-Xms和-Xmx调整tomcat的堆大小时,还需要考虑垃圾回收机制。如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5 秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的 80% 作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。

    2、连接数优化:

    #优化连接数,主要是在conf/server.xml配置文件中进行修改。

    2.1、优化线程数

    找到Connectorport="8080" protocol="HTTP/1.1",增加maxThreads和acceptCount属性(使acceptCount大于等于maxThreads),如下:

    <Connectorport="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443"acceptCount="500" maxThreads="400" />

    其中:

    • maxThreads:tomcat可用于请求处理的最大线程数,默认是200
    • minSpareThreads:tomcat初始线程数,即最小空闲线程数
    • maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭
    • acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理.默认100

    2.2、使用线程池

    在server.xml中增加executor节点,然后配置connector的executor属性,如下:

    <Executorname="tomcatThreadPool" namePrefix="req-exec-"maxThreads="1000" minSpareThreads="50"maxIdleTime="60000"/>
    <Connectorport="8080" protocol="HTTP/1.1"executor="tomcatThreadPool"/>

    其中:

    • namePrefix:线程池中线程的命名前缀
    • maxThreads:线程池的最大线程数
    • minSpareThreads:线程池的最小空闲线程数
    • maxIdleTime:超过最小空闲线程数时,多的线程会等待这个时间长度,然后关闭
    • threadPriority:线程优先级

    注:当tomcat并发用户量大的时候,单个jvm进程确实可能打开过多的文件句柄,这时会报java.net.SocketException:Too many open files错误。可使用下面步骤检查:

    • ps -ef |grep tomcat 查看tomcat的进程ID,记录ID号,假设进程ID为10001
    • lsof -p 10001|wc -l 查看当前进程id为10001的 文件操作数
    • 使用命令:ulimit -a 查看每个用户允许打开的最大文件数

    3、Tomcat Connector三种运行模式(BIO, NIO, APR)

    3.1、三种模式比较:

    1)BIO:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。Tomcat7或以下在Linux系统中默认使用这种方式。

    2)NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7必须修改Connector配置来启动(conf/server.xml配置文件):

    <Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000"redirectPort="8443"/>

    3)APR(Apache Portable Runtime):从操作系统层面解决io阻塞问题。Linux如果安装了apr和native,Tomcat直接启动就支持apr。

    3.2、apr模式

    安装apr以及tomcat-native

    yum -y install apr apr-devel

    进入tomcat/bin目录,比如:

    cd /opt/local/tomcat/bin/
    tar xzfv tomcat-native.tar.gz
    cd tomcat-native-1.1.32-src/jni/native
    ./configure --with-apr=/usr/bin/apr-1-config
    make && make install

    #注意最新版本的tomcat自带tomcat-native.war.gz,不过其版本相对于yum安装的apr过高,configure的时候会报错。

    解决:yum remove apr apr-devel –y,卸载yum安装的apr和apr-devel,下载最新版本的apr源码包,编译安装;或者下载低版本的tomcat-native编译安装

    安装成功后还需要对tomcat设置环境变量,方法是在catalina.sh文件中增加1行:

    CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

    #apr下载地址:http://apr.apache.org/download.cgi

    #tomcat-native下载地址:http://tomcat.apache.org/download-native.cgi

    修改8080端对应的conf/server.xml

    protocol="org.apache.coyote.http11.Http11AprProtocol"

    <Connector executor="tomcatThreadPool"
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    connectionTimeout="20000"
    enableLookups="false"
    redirectPort="8443"
    URIEncoding="UTF-8" />

    PS:启动以后查看日志 显示如下表示开启 apr 模式

    Sep 19, 2016 3:46:21 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-apr-8081"]
    展开全文
  • Intellij IDEA 2019 最新优化配置

    万次阅读 多人点赞 2019-04-05 14:58:27
    之前在CSDN上写了一点关于IDEA的优化配置之类的文章,有些图片失效了,很多人都希望会有继续更新,于是有了这篇文章 前言 好吧工欲善其事必先利其器,我平时比较喜欢使用IDEA,这个软件可以很大程度上提高...

    转发自Dimple’s Blog


    摘要: 之前在CSDN上写了一点关于IDEA的优化配置之类的文章,有些图片失效了,很多人都希望会有继续更新,于是有了这篇文章

    前言

    好吧工欲善其事必先利其器,我平时比较喜欢使用IDEA,这个软件可以很大程度上提高工作效率。IDEA全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。 一直都有想过写一篇关于IDEA的设置优化的博文,因为确实网上的不是很适合我的风格。且网上的优化教程不是很多,自己摸索出来一下,希望能够帮到大家。

    本文呢,会分为一下三部分进行说明: 

    1. IDEA设置优化 

    2. IDEA的插件优化 

    路径:Setting ——> Editor ——> Code Completion ——> Match case3. IDEA的快捷键优化 

    其中呢,会针对个别插件进行说明。

    一、IDEA设置优化

    IDEA破解方法:使用的是最新版的IDEA,破解方法是采用http://idea.lanyus.com/的方法。另外提供破解补丁的方法:JetBrains全系列破解补丁v1.0: https://www.ghpym.com/jetbrainspath.html

    1.1、代码提示

    IDEA默认是不区分大小写的,晚上很多教程都是使用的2017版本的IDEA,事实上,从2018版本开始,IDEA的设置中心已经进行稍微调整;

    路径:Setting ——> Editor ——>General ——> Code Completion ——> Match case

    取消 Match Case 前的选择即可;

    图如下:

    1.2、自动导包

    我需要在使用某个类的时候自动导入需要的包,默认的方式是要手动进行导包;

    路径:Setting ——> Editor ——> General ——> Auto Import 


    Add Unambiguous inports on the fly: 在写代码的时候会自动的优化; optimize imports on the fly:在写代码的时候会自动导包;

    我的设置如下:(注意,因为optimize imports on the fly这个设置是只针对当前项目的,所以如果需要,请在每创建一个项目的时候都来设置下)

    1.3、取消启动时自动进入上一次工程

    IDEA默认是启动的时候进入到上一次打开的项目中,这个设置可能会在我们想换一个项目打开的时候出现一些画蛇添足。

    路径:Setting ——> Appearance & Behavior ——> System Setting 

    取消勾选Reopen last project on startup;

    设置截图如下:



    1.4、鼠标滑轮调整编辑区域字体大小 

    写代码的时候眼睛酸痛,需要临时的放大或者缩小编辑区的代码字体大小;

    路径:Setting ——> Editor ——> General 

    在Mouse中勾选"change font size (Zoom ) with Ctrl + Mouse Wheel"

    截图如下:

    1.5、自动保存

    自动保存与其他软件的自动保存不一样,其他软件的自动保存会丢失自己的修改记录,Ctrl+Z就回不去了,而IDEA不一样;自动保存是IDEA默认开启的,如果需要关闭的话可以参照以下方式:

    路径:Setting ——> Appearance&Behaior ——> System Settings 

    勾选或取消"Synchronize files on frame or editor table activation "以及"Save files on frame deactivation";

    截图如下:


    1.6、设置自带的Terminal为Git Bash

    Windows环境下的Terminal是CMD的,如果电脑上有git的话,我更加喜欢将Terminal改为Git Bash,修改方式如下:

    路径:Setting ——> Tools ——> Terminal 

    修改Shell path 为git的bash.exe的路径即可;

    截图如下:

    修改后的Terminal如果内容里面有中文是会显示乱码的,解决方式:在Git的安装目录的etc目录下,如:D:\Program Files\Git\etc,找到bash.bashrc文件在其最后面添加以下代码,然后重新启动IDEA即可;

    # 解决中文乱码
    export LANG="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"

    1.7、设置模板

    请参考以下博文:

    https://blog.csdn.net/u013412790/article/details/52807102

    二、插件篇

    2.1、Lombok plugin

    开发神器,可以简化你的实体类,让你i不再写get/set方法,还能快速的实现builder模式,以及链式调用方法,总之就是为了简化实体类而生的插件。


    2.2、GsonFormat

    一键根据json文本生成java类  非常方便


    2.3、Rainbow Brackets

    彩虹颜色的括号  看着很舒服 敲代码效率变高。可以很清楚明白的区分各个括号的范围


    2.4、Translation

    一款翻译插件,多翻译引擎:Google翻译、有道翻译、百度翻译、多语言互译、语音朗读、自动选词、自动单词拆分等功能

    2.5、GrepConsole

    Idea console输出日志一大推,想要快速找到自己想要的类型日志,使用此插件可以快速定位到自己关注的类型日志,比如error,warn,自己也可以配置自己喜欢的颜色~

    自己喜欢的一套配色:

    Type        Color
    verbose:    #BBB
    debug:      #33B5E5
    info:       #9C0
    assert:     #A6C
    error:      #F44
    warning:    #FB3

    2.6、FindBugs-IDEA

    完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug


    2.7、其他

    还有一些很优秀的插件,不完全列举如下:

    CodeGlance 右侧文档结构图

    .ignore git 文件提交过滤

    Maven Helper maven插件,打开该pom文件的Dependency Analyzer视图

    三、快捷键

    3.1、自动代码

    Ctrl+Alt+O 优化导入的类和包 
    Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) 
    fori/sout/psvm + Tab 
    Ctrl+Alt+T 生成try catch 或者 Alt+enter 
    CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里 
    Ctrl + O 重写方法 
    Ctrl + I 实现方法 
    Ctr+shift+U 大小写转化 
    ALT+回车 导入包,自动修正 
    ALT+/ 代码提示 
    CTRL+J 自动代码 
    Ctrl+Shift+J,整合两行为一行 
    CTRL+空格 代码提示 
    CTRL+SHIFT+SPACE 自动补全代码 
    CTRL+ALT+L 格式化代码 
    CTRL+ALT+I 自动缩进 
    CTRL+ALT+O 优化导入的类和包 
    ALT+INSERT 生成代码(如GET,SET方法,构造函数等) 
    CTRL+E 最近更改的代码 
    CTRL+ALT+SPACE 类名或接口名提示 
    CTRL+P 方法参数提示 
    CTRL+Q,可以看到当前方法的声明
    Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等) 
    Ctrl+Alt+V 提取变量
    

    3.2、查询快捷键

    Ctrl+Shift+Backspace可以跳转到上次编辑的地 
    CTRL+ALT+ left/right 前后导航编辑过的地方 
    ALT+7 靠左窗口显示当前文件的结构 
    Ctrl+F12 浮动显示当前文件的结构 
    ALT+F7 找到你的函数或者变量或者类的所有引用到的地方 
    CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
    Ctrl+Shift+Alt+N 查找类中的方法或变量 
    双击SHIFT 在项目的所有目录查找文件 
    Ctrl+N 查找类 
    Ctrl+Shift+N 查找文件 
    CTRL+G 定位行 
    CTRL+F 在当前窗口查找文本 
    CTRL+SHIFT+F 在指定窗口查找文本 
    CTRL+R 在 当前窗口替换文本 
    CTRL+SHIFT+R 在指定窗口替换文本 
    ALT+SHIFT+C 查找修改的文件 
    CTRL+E 最近打开的文件 
    F3 向下查找关键字出现位置 
    SHIFT+F3 向上一个关键字出现位置 
    选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本 
    F4 查找变量来源
    CTRL+SHIFT+O 弹出显示查找内容
    Ctrl+W 选中代码,连续按会有其他效果 
    F2 或Shift+F2 高亮错误或警告快速定位 
    Ctrl+Up/Down 光标跳转到第一行或最后一行下
    Ctrl+B 快速打开光标处的类或方法 
    CTRL+ALT+B 找所有的子类 
    CTRL+SHIFT+B 找变量的类
    Ctrl+Shift+上下键 上下移动代码 
    Ctrl+Alt+ left/right 返回至上次浏览的位置 
    Ctrl+X 删除行 
    Ctrl+D 复制行 
    Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )
    Ctrl+H 显示类结构图 
    Ctrl+Q 显示注释文档
    Alt+F1 查找代码所在位置 
    Alt+1 快速打开或隐藏工程面板
    Alt+ left/right 切换代码视图 
    ALT+ ↑/↓ 在方法间快速移动定位 
    CTRL+ALT+ left/right 前后导航编辑过的地方 
    Ctrl+Shift+Backspace可以跳转到上次编辑的地 
    Alt+6 查找TODO
    

    3.3、其他快捷键

    SHIFT+ENTER 另起一行 
    CTRL+Z 倒退(撤销) 
    CTRL+SHIFT+Z 向前(取消撤销) 
    CTRL+ALT+F12 资源管理器打开文件夹 
    ALT+F1 查找文件所在目录位置 
    SHIFT+ALT+INSERT 竖编辑模式 
    CTRL+F4 关闭当前窗口 
    Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义 
    Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单

    3.4、调试快捷键

    alt+F8 debug时选中查看值 
    Alt+Shift+F9,选择 Debug 
    Alt+Shift+F10,选择 Run 
    Ctrl+Shift+F9,编译 
    Ctrl+Shift+F8,查看断点
    F7,步入 
    Shift+F7,智能步入 
    Alt+Shift+F7,强制步入 
    F8,步过 
    Shift+F8,步出 
    Alt+Shift+F8,强制步过
    Alt+F9,运行至光标处 
    Ctrl+Alt+F9,强制运行至光标处 
    F9,恢复程序 
    Alt+F10,定位到断点

    3.5、重构

    Ctrl+Alt+Shift+T,弹出重构菜单 
    Shift+F6,重命名 
    F6,移动 
    F5,复制 
    Alt+Delete,安全删除 
    Ctrl+Alt+N,内联





    展开全文
  • 一、Tomcat并发优化tomcat并发量与其配置息息相关,一般的机器几百的并发量足矣,如果设置太高可能引发各种问题,内存、网络等问题也能在高并发下暴露出来,因此,配置参数的设置非常重要。(1) tomcat并发参数...
  • 区域和多区域OSPF协议配置,OSPFV2和OSPFV3,DR和BDR的选举关系。包含了详细配置,详细文档和每一部分的pkt文档(4个pkt文档和一个word文档)。(用于学习的很好资源
  • 为了优化区域通道内交通网络资源配置,建立了区域运输通道布局优化三层规划模型。在一定建设投资费用及环境承载力...以京津冀区域为例,进行了验证结果表明:该模型对区域交通网络资源优化配置具有较好的辅助决策支持。
  • mysql性能优化配置优化

    千次阅读 2016-11-16 17:20:34
    通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。   2、服务器参数: 32G内存、4个CPU,每个CPU 8核。 3、MySQL目前安装状况。  MySQL目前...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,960
精华内容 34,384
关键字:

区域经济资源优化配置