当前位置: 首页 > news >正文

有限公司有哪些博山网站seo

有限公司有哪些,博山网站seo,焦作网站建设公司哪家好,网络营销外包推广系统1、集成apache 虽然Tomcat也可以作web服务器#xff0c;但是处理静态html的速度比不上apache#xff0c;且其作为web服务器的功能远不如Apache#xff0c;因此把apache和tomcat集成起来#xff0c;讲html和jsp功能部分进行明确的分工#xff0c;让tomcat只处理jsp部分但是处理静态html的速度比不上apache且其作为web服务器的功能远不如Apache因此把apache和tomcat集成起来讲html和jsp功能部分进行明确的分工让tomcat只处理jsp部分其他的由apache、IIS等web服务器去处理因此大大提供tomcat的运行效率。 部署方式 安装apache服务器部署tomcat将mod_jk.so拷贝到modules目录下面修改httpd.conf和mod_jk.conf使用场景大量使用静态页面的应用系统   2、apachetomcat集群      对于并发要求很高的系统需要采取负载均衡的方式来分担tomcat服务器的压力。 负载均衡实现的四种方式 1通过DNS但只能简单的实现轮流分配不能处理故障。 2基于MS IIS、Windows 2003 Server本身自带的负载均衡服务。 3硬件方式通过交换机功能或专门的负载均衡设备来实现。 4通过一台负载均衡服务器实现上面安装软件。     使用apache http server做负载均衡器、集群节点使用tomcat来实现上述的第4种方式即apachetomcat集群来实现负载均衡。该方式可以最大程度的发挥服务器的性能可以在配置较高的服务器上部署多个tomcat也可以在多台服务器上分别部署tomcatapache和tomcat整合的方式使用JK的方式。经验证系统对大用户量使用的响应方面apache3tomcat集群apache2tomcat集群apache集成tomcat单个tomcat并且采用多个tomcat时如果一个tomcat宕机系统可以继续使用所以硬件系统性能足够优越的情况下需要尽量发挥软件的性能可以采用增加tomcat集群的方式。 apachetomcat集群使用的配置文件 httpd.confmod_jk.conf对jk信息的配置包括jk的路径等workers.properties对tomcat服务器的连接定义文件apache需要调整的运行参数 1设置mpm参数 ThreadPerChild---用于设置每个进程的线程数在windows环境下默认是64最大值是1920建议值100~500MaxRequestPerChild---每个子进程能够处理的最大请求数很大程度上取决于服务器的内存建议值30002关闭DNS和名字解析 HostnameLookup  off3打开UseCanonicalName模块 UseCanonicalName on4关闭多余模块一般来说不需要加载的模块有mod_include.so、mod_autoindex.so、mod_access.so、mod_auth.so 5打开KeepAlive支持      KeepAlive on     KeepAliveTimeout 15     MaxKeepAliveRequests 1000部署方式 安装apache服务器部署tomcat集群将mod_jk.so拷贝到modules目录下面修改相关配置文件使用场景并发用户数高的系统   3、JVM调优 1JDK版本选择      在满足项目需要的前提下尽量选用版本较高的JVM一般来说高版本产品在速度和效率上比低版本会有改进。 JDK1.4比JDK1.3性能提高了近10%-20%JDK1.5比JDK1.4性能提高25%-75%。 2JVM版本选择       SUN的JVM动态库有client和server两个版本分别针对桌面应用和服务器应用做了相应的优化client版本加载速度较快server版本加载速度较慢但运行起来较快。在命令行输入 java -version 可以看到jvm目前配置的是哪个版本。如果要修改jvm的版本可更改默认java.exe调用的jvm.dll,这个由jvm.cfg决定。编辑%JAVA_HOME%/jre/lib/i386/jvm.cfg文件里面第一行写的是-client默认就是client版本把第二行的-server KNOWN 放到第一行 如下所示 -server KNOWN -client KNOWN -hotspot ALIASED_TO -client -classic WARN -native ERROR -green ERROR 然后重启tomcat在命令行下输入java -version 就可以看到类似如下的信息 java version 1.6.0_13 Java(TM) SE Runtime Environment (build 1.6.0_13-b03 ) Java HotSpot(TM) Server VM (build 11.3-b02 , mixed mode)      表明Tomcat已经修改为使用Server版本的JVM可进行对比测试对比一下Client版本的JVM和Server版本的性能差异从而决定采用哪个版本的JVM。另外也可以考虑更换其它厂商的JVM例如Oracle的JRockit等。 3JVM参数调优 JVM启动参数配置例子export JAVA_OPTS-server -Xms1400M -Xmx1400M -Xss512k -XX:AggressiveOpts -XX:UseBiasedLocking -XX:PermSize128M -XX:MaxPermSize256M -XX:DisableExplicitGC -XX:MaxTenuringThreshold31 -XX:UseConcMarkSweepGC -XX:UseParNewGC -XX:CMSParallelRemarkEnabled -XX:UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes128m -XX:UseFastAccessorMethods -XX:UseCMSInitiatingOccupancyOnly -Djava.awt.headlesstrue “   4、tomcat容器本身调优 1禁用DNS查询     消除因DNS查询所消耗的时间可以在tomcat种关闭DNS查询     enableLookupsfalse   ---server.xml文件中2调整线程数       Tomcat使用线程池加速响应速度来处理请求。在Java中线程是程序运行时的路径是在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出CPU最大利用率的高效程序使空闲时间保持最低从而接受更多的请求。       Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。        这些值在安装后就已经设定为默认值并且是足够使用的但是随着站点的扩容而改大这些值。minProcessors服务器启动时创建的处理请求的线程数应该足够处理一个小量的负载。也就是说如果一天内每秒仅发生5次单击事件并且个每请求任务处理需要1秒钟那么预先设置线程数为5就足够了。但在你的站点访问量较大时就需要设置更大的线程数指定为参数maxProcessors的值。maxProcessors的值也是有上限的应防止流量不可控制或者恶意的服务攻击从而导致超出了虚拟机使用内存的大小。如果要加大并发连接数应同时加大这两个参数但别忘了web server允许的最大连接数还受制于操作系统的内核参数设置。   Tomcat5对这些参数server.xml中进行了调整 maxThreadsTomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。acceptCount指定当所有可以使用的处理请求的线程数都被使用时可以放到处理队列中的请求数超过这个数的请求将不予处理。connnectionTimeout网络连接超时单位毫秒。设置为0表示永不超时这样设置有隐患的。通常可设置为30000毫秒。minSpareThreadsTomcat初始化时创建的线程数。maxSpareThreads一旦创建的线程超过这个值Tomcat就会关闭不再需要的socket线程。    最好的方式是多设置几次并且进行测试观察响应时间和内存使用情况。在不同的机器、操作系统或虚拟机组合的情况下可能会不同而且并不是所有人的web站点的流量都是一样的因此没有一刀切的方案来确定线程数的值。   5、ARP库      所谓的Apache Tomcat Native library其实叫APR全称为Apache Portable Runtime and Tomcat。Apache Tomcat Native library是Apache为了提升Tomcat的性能开发的一套本地化Socket、Thread、IO组件也就是说它有高级IO功能, 操作系统级别的功能调用, 以及本地进程处理等等, 这些都能使Tomcat更像一个Web Server(像Apache那样), 而不是只能用来解释JSP, 也就是说提升单独的Tomcat作为服务器的吞吐性能。       Tomcat中使用APR库其实就是在Tomcat中使用JNI(Java Native Interface的缩写中文为JAVA本地调用)的方式来读取文件以及进行网络传输。可以大大提升Tomcat对静态文件的处理性能同时如果你使用了HTTPS方式传输的话也可以提升SSL的处理性能。一般在Windows下可以直接下载编译好的二进制版本的dll库文件来使Tomcat启用APR一般建议拷贝库文件tcnative-1.dll到Tomcat的bin目录下。而在Linux下可以直接解压和安装bin目录下的tomcat_native.tar.gz文件。 怎么才能判断Tomcat是否已经启用了APR库呢方法是通过看Tomcat的启动日志catalina.out 如果没有启用APR则启动日志一般有这么一条 org.apache.coyote.http11.Http11Protocol start  如果启用了APR则这条日志就会变成 org.apache.coyote.http11.Http11AprProtocol start      APR资料参考http://tomcat.apache.org/tomcat-5.5-doc/apr.html   安装部署APR 1. Windows下安装APR    用于Windows的APR是一个名称为tcnative-1.dll的文件。可到下面网址下载匹配版本的tcnative-1.dll把下载的tcnative-1.dll文件放到$JAVA_HOME/bin目录下启动Tomcat就可以看到Tomcat已经加载部署了APRLoaded APR based Apache Tomcat Native library 1.1.20 2. Linux下安装APR1安装APR到http://apr.apache.org下载apr-1.2.12.tar.gz然后用以下命令安装tar -xvf apr-1.2.12.tar.gzcd apr-1.2.12./configure --prefix/tomcat/aprmakemake install 2安装APR-UTIL到http://apr.apache.org下载apr-util-1.2.12.tar.gz然后用以下命令安装tar -xvf apr-util-1.2.12.tar.gzcd apr-util-1.2.12./configure --prefix/tomcat/apr --with-apr/tomcat/aprmakemake install 3安装tomcat native librarycd /usr/local/tomcat/bintar zxvf tomcat-native.tar.gzcd tomcat-native-1.1.10-src/jni/native./configure --prefix/tomcat/apr -- with-apr/tomcat/apr –with-java-home/usr/jdkmakemake install 4编辑tomcat/bin/catalina.sh将JAVA_OPTS$CATALINA_OPTS -Djava.library.path tomcat/apr/lib加在# ----- Execute The Requested Command -----------------------------------------前面 5添加环境变量# vi /etc/profile添加export LD_LIBRARY_PATH/usr/local/apr/lib 6重启Tomcat后查看Tomcat输出日志可见APR成功加载了# vim /usr/local/tomcat/logs/catalina.out 信息: Loaded Apache Tomcat Native library 1.1.10.2008-7-8 10:20:27 org.apache.catalina.core.AprLifecycleListener init信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].2008-7-8 10:20:27 org.apache.coyote.http11.Http11AprProtocol init   6、Compression压缩      HTTP压缩可以大大提高浏览网站的速度它的原理是在客户端请求网页后从服务器端将网页文件压缩再下载到客户端由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML,CSS,JS, Text可以节省40%左右的流量。更为重要的是它可以对动态生成的包括CGI、PHP, JSP, ASP, Servlet, SHTML等输出的网页也能进行压缩压缩效率惊人。 compressionon 打开压缩功能compressionMinSize2048 启用压缩的输出内容大小这里面默认为2KBnoCompressionUserAgentsgozilla, traviata 对于以下的浏览器不启用压缩compressableMimeTypetext/html,text/xml 压缩类型server.xml中配置以后是这样的 Connector port8088 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443compressionon compressionMinSize12048 noCompressionUserAgentsgozilla, traviata compressableMimeTypetext/html,text/xml,text/javascript,text/css,text/plain/   Tomcat调优综述      根据以上分析如果想要Tomcat达到最优的效果首先要争取使得操作系统以及网络资源达到最优并且最好使用高版本的JDK。对于有大量静态页面的系统采用Apache集成Tomcat的方式把静态页面交由Apache处理动态部分交由Tomcat处理能极大解放Tomcat的处理能力。使用ARP库也能极大的提高Tomcat对静态文件的处理能力。对于并发要求较高的系统采用Apache加Tomcat集群的方式将负载分别分担到多个Tomcat上能很大的提高系统的性能充分利用硬件资源。同时需要对Tomcat自身进行优化包括增大内存、调节并发线程数等。   重要参数说明 1maxThreads - 连接线程数监控与调整      maxThreads是最大并发线程数如果同时的并发请求量超过这个值Tomcat也不会再增加线程这时并发请求将进入队列。增加maxThreads的值可以加大Tomcat的并发处理能力但是设置过高的maxThreads值也会对性能带来影响占有过多的系统资源甚至造成Tomcat崩溃。线程数可在Tomcat的Manager状态页面进行监控。 针对Tomcat7进行试验以说明maxThreads对于Tomcat服务器性能的影响 Tomcat堆内存设置为256M用LoadRunner启动50个虚拟用户测试JpetStore主页面http://192.168.1.101:8080/jpetstore/shop/index.shtml可得到以下测试结果1、默认配置maxThreads200平均事务响应时间0.3902、maxThreads5平均事务响应时间0.3553、maxThreads50平均事务响应时间0.3694、maxThreads3平均事务响应时间0.559可以看到当maxThreads设置比较小时Tomcat处理请求的速度有所下降。如果我们在测试脚本中设置严格的并发插入集合点lr_Rendezvous函数可得到以下结果1、maxThreads3平均事务响应时间2.6092、maxThreads50平均事务响应时间0.597可以看到在高强度的并发情况下如果Tomcat的maxThreads值设置比较小会严重影响性能一般需要设置大于最大同时并发请求数。注意一般Web服务器允许的最大连接数还受限制于操作系统的内核参数设置通常Windows是2000个左右Linux是1000个左右。在CentOS 中可以用以下命令查看Socket最大连接数ulimit -a其中的open files是允许打开的最大文件数CentOS默认是1024。这个数值可通过修改vi /etc/security/limits.conf文件来设置例如修改为32768可在文件后添加* soft nofile 32768* hard nofile 32768保存重启系统后就生效了。 为了证明这个Linux系统参数对Socket连接的影响我们可以进行对比试验修改/etc/security/limits.conf* soft nofile 200* hard nofile 200在LoadRunner中启动200个VU并发设置集合点在Controller的Connection和Connection per Second图中看到连接数偏少相比起默认设置的1024: 1、参数设置为200平均事务响应时间:19.664Connections:177.376Connections per Second-New Connection28.082Connections per Second-Connection Shutdown28.082 2、参数设置为1024默认设置平均事务响应时间:2.712Connections:315.136Connections per Second-New Connection114.000Connections per Second-Connection Shutdown114.000 在Socket连接建立受到限制的情况下Tomcat的并发处理能力也受到明显的影响平均事务响应时间急剧上升。   2connectionTimeout – 连接超时的设置     connectionTimeout是Connector从接受连接到提交URI的等待的时间单位是毫秒默认设置为60000即60秒。connectionTimeout如果设置得比较小的话可能造成大量用户访问网站时出现“502”异常。 telnet试验直接用telnet连上tomcat如果不保持持续地输入则连接很快会断开如果connectionTimeout时间设置得比较小的话如果一直不停输入连接会被继续保持。 关于该项的详细解释和配置可参考tomcat帮助文档http://tomcat.apache.org/tomcat-5.5-doc/config/http.html     3acceptCount - 最大排队数的设置      acceptCount是指当所有线程都已经被用于处理请求时允许多少新的连接请求进入排队队列等候处理当队列满的时候任何新的请求都将被拒绝。默认设置值为100。配置例子如下 Connector port8080 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443 maxThreads800 acceptCount1000/ 其中maxThreads是Tomcat启动的最大线程数默认值为200acceptCount是当Tomcat起动的线程数达到最大时接受排队的请求个数默认值为100这两个值一起工作可能出现下面三种情况 情况1接受一个请求此时Tomcat启动的线程数还没有到达maxThreads设置的个数Tomcat会启动一个线程来处理此请求。情况2接受一个请求此时Tomcat启动的线程数已经到达maxThreads设置的个数Tomcat会把此请求放入等待队列等待空闲线程可用。情况3接受一个请求此时Tomcat启动的线程数已经到达maxThreads设置的个数而且等待队列中的请求个数也达到了acceptCount设置的个数此时Tomcat会直接拒绝此次请求返回connection refused的错误。    关于Sun’s HotSpot JVM的其它与性能相关的调整参数参考 http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning  转载于:https://www.cnblogs.com/hllnj2008/p/3993592.html
http://www.sadfv.cn/news/2040/

相关文章: