首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BestSync同步软件 同步 VM 虚拟机里的Linux系统下Tomcat webapps里的项目

    首先,这篇文章也不知道对别人有没有用,源于我在虚拟机安装Linux,部署Tomcat项目时,为了避免当项目发生改变时,一次次重复的上传项目,因此我想可不可以把本地Tomcat 的 webapps 目录跟 虚拟机 tomcat webapps 目录 同步一下,这样当我更新本地 svn 后,把webapps用软件同步 到 linux (软件只同步改动的文件),这样做可以避免把整个项目上传到 linux (我这有好几个项目,因为你更新svn了,如果只是自己改动了,可以仅把自己的拷到 linux,但是其他人改了什么你并不知道,或者说还要一个个找,只能把整个项目传到 虚拟机),然后我就在网上找了下 同步软件,发现 BestSync 这个同步软件很好用,下面就说一下具体用法。

    02

    Tomcat性能调优

    考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点。但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝。客户总是期望它们的应用应该有更好的性能。如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能。感谢ITWorld article给本文提供资源。经过沉思我已经知道了和早期版本相比最新的Tomcat提供更好的性能和稳定性。所以一直使用最新的Tomcat版本。现在本文使用下面几步来提高Tomcat服务器的性能。 增加JVM堆内存大小 修复JRE内存泄漏 线程池设置 压缩 数据库性能调优 Tomcat本地库 其它选项 第一步 – 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是“内存溢出”. 通常情况下,这种问题出现在实际的生产环境中.产生这种问题的原因是tomcat使用较少的内存给进程,通过配置TOmcat的配置文件(Windows 下的catalina.bat或Linux下的catalina.sh)可以解决这种问题.这种解决方法是通过增加JVM的栈内存实现的.也就是说,JVM通常不去调用垃圾回收器,所以服务器可以更多关注处理web请求,并要求尽快完成。要更改文件(catalina.sh) 位于"\tomcat server folder\bin\catalina.sh",下面,给出这个文件的配置信息, [plain] view plain copy JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" -Xms – 指定初始化时化的栈内存 -Xms – 指定初始化时化的栈内存 -Xmx – 指定最大栈内存 在重启你的Tomcat服务器之后,这些配置的更改才会有效。下面将介绍如何处理JRE内存泄漏. 第二步 – 解决JRE内存泄露 性能表现不佳的另一个主要原因是内存泄漏,正如我之前说过:始终使用最新的tomcat服务器以获得更好的性能和可伸缩性。现在,这句话变成真的。如果我们使用最新的tomcat版本6.0.26及以上就可以解决这个错误,因为它包含了一个监听器来处理JRE和PermGen的内存泄漏。使用的监听器是, [html] view plain copy <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 你可以在server.xml文件中找到这个监听器的配置,server.xml位置在“tomcat project folder/conf/server.xml”。接下来,我们将看看如何调整连接属性“maxThreads”。 第三步 – 线程池设置 线程池指定Web请求负载的数量,因此,为获得更好的性能这部分应小心处理。可以通过调整连接器属性“maxThreads”完成设置。maxThreads的值应该根据流量的大小,如果值过低,将有没有足够的线程来处理所有的请求,请求将进入等待状态,只有当一个的处理线程释放后才被处理;如果设置的太大,Tomcat的启动将花费更多时间。因此它取决于我们给maxThreads设置一个正确的值。 [html] view plain copy <Connector port="8080" address="localhost" 2 maxThreads="250" maxHttpHeaderSize="8192" 3 emptySessionPath="true" protocol="HTTP/1.1" 4 enableLookups="false" redirectPort="8181" acceptCount="100" 5 connectionTimeout="20000" disableUploadTimeout="true" /> 在上述配置中,maxThreads值设定为“250”,这指定可以由服务器处理的并发请求的最大数量。如果没有指定,这个属性的默认值为“200”。任何多出的并发请求将收到“拒绝连接”的错误提示,直到另一个处理请求进程被释放。错误看起来如下, [java] view plain copy org.apache.tomcat.util.threads.ThreadPool logFull SEVERE: All t

    02

    从SocketTimeoutException到全连接队列和半连接队列

    大概在一年半之前的时候,我们的应用的某个业务开始间歇报SocketTimeoutException, 不是前端调用我们发生SocketTimeoutException,而是我们用 HTTP Client中台拉取数据的时候,会偶尔报SocketTimeException, 这个偶尔可能是一个月报一次,也可能是两个月报一次,可能一个星期报两次,频率不固定,次数也不固定,当我第一次看到这个异常的时候,我的第一个反应就是用这个异常信息去搜索引擎上搜索解决方案,我并不理解这个异常说明了什么,但是按照我以往的经验来说,一般都有解决方案,对搜索引擎的方案一般都是延长超时时间,于是我延长了超时时间,但这并没有根本上解决问题,还是会出问题。延长超时时间不管用之后,我就扩容,但是扩容依然也不管用,我当时在尝试复现这个异常的时候,也忽略了一些东西,然后导致我在测试无法复现,能够复现的问题都是好问题,我之前面试的时候也背过三次握手,也学过Java 的原生Socket 编程,Netty,我背过Tomcat的acceptCount参数,但是碰到这个问题,这些知识仍然没有帮我解决问题,原因当时我网络的知识没有连接起来,他们孤零零的,向孤零零的神经元一样,没建立起来连接,最后这个问题开始让这些知识开始建立连接,成体系的发展。连接才是有价值的。

    03

    搭建一个高可用负载均衡的集群架构(二)

    二、lnmp+tomcat环境搭建 2 搭建lnmp、tomcat+jdk环境 3 三个站点分别为:discuz论坛、dedecms企业网站以及zrlog博客 4 由于机器有限,尽可能地把三个站点放到同一台服务器上,然后做负载均衡集群,要求所有站点域名解析到一个ip上,也就是说只有一个出口ip 5 需要共享静态文件,比如discuz需要共享的目录是 data/attachment,dedecms需要共享upload(具体目录,你可以先上传一个图片,查看图片所在目录) 6 设计合理的目录、文件权限,比如discuz的data目录需要给php-fpm进程用户可写权限,其他目录不用写的就不要给写权限(目录755,文件644,属主属组root) 9 php-fpm服务要求设置慢执行日志,超时时间为2s,并做日志切割,日志保留一月 10 所有站点都需要配置访问日志,并做日志切割,要求静态文件日志不做记录,日志保留一月 18 给三个站点的后台做二次认证,增加安全性

    01

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券