Linux之(tomcat)服务之服务调优】的更多相关文章

本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题.我个人特别喜欢这种实战类的内容,经原作者的授权同意,将文章分享于此.原文链接:Java服务GC参数调优案例,下面为转载此文的内容,备注部分为本人添加,主要起到说明的作用. 背景以及遇到的问题 我们的Java HTTP服务属于OLTP类型,对成功率和响应时间的要求比较高,在生产环境中出现偶现的成功率突…
前言 一个项目在经历开发.测试.上线后,当时的用户规模还比较小,所以刚刚上线的项目一般会表现稳定.但是随着时间的推移,用户数量的增加,qps的增加等因素会造成项目慢慢表现出网页半天无响应的状况.在之前的工作中也恰巧遇到这个过程,当时对项目进行了很多性能测试和调优,今天借助博客园,将这次性能调优的过程进行整理后写成随笔,希望给广大Java后端开发的工程师提供帮助,也借此机会,对性能调优进行一些总结工作,达到备忘的目的. 测试工具与环境 性能测试工具 Loadrunner:一种预测系统行为和性能的负…
一.内存调优 内核关于内存的选项都在/proc/sys/vm目录下.   1.pdflush,用于回写内存中的脏数据到硬盘.可以通过 /proc/sys/vm/vm.dirty_background_ratio调整.   首先查看这个值默认应该是10.   [root@server-mysql ~]# cat /proc/sys/vm/dirty_background_ratio 这个值是一个阀值,说明如果内存中的脏数据达到系统总内存的10%时,那么pdflush进程就会启动,将内存中的脏数据写…
作者:vivo 互联网服务器团队- Chen Dongxing.Li Haoxuan.Chen Jinxia 随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课.性能优化从何着手?如何从问题表象定位到性能瓶颈?如何验证优化措施是否有效?本文将介绍分享 vivo push 推荐项目中的性能调优实践,希望给大家提供一些借鉴和参考. 一.背景介绍 在 Push 推荐中,线上服务从 Kafka 接收需要触达用户的事件,之后为这些目标用户选出最合适的文章进行推送.服务由 Java 开发,CPU 密…
Linux系统随机端口 默认Linux系统开启的随机端口范围为 32768 ~ 65535.客户端连接服务监听端口需要使用到随机端口连接. Linux系统随机端口调优 1.添加内核配置参数:/etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65535 2.生效内核参数 sysctl -p /etc/sysctl.conf…
文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ apache-tomcat-7.0.86 ls LICENSE RUNNING.txt lib webapps NOTICE bin logs work RELEASE-NOTES conf temp bin ➜ apache-tomcat-7.0.86 cd bin ➜ bin ls bootst…
TCP并发请求溺出 调优:系统开启某个监听端口后,当多个TCP请求连接监听端后,会把多个请求交给backlog的默认监听队列由socket server一并处理,backlog有自己的队列长度默认128,当机器处理能力较慢且并发请求值较高时就要考虑对backlog队列进行调优. 注:backlog就是socket的监听队列,当一个请求尚未被处理或建立时,他会进入backlog. 注:socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中.当server…
文章目录 概述 **JVM管理的内存段可分为两大类:线程共享内存和线程私有内存** Java Heap SIze Options The memory structure of a JVM process 摘录 常见配置汇总 调优总结 垃圾回收的瓶颈 概述 JVM主要是对象的创建回收等,而其他方面的调优主要应该是由java程序员来实现,所以常见的java调优,无非就是调整jvm进程所能够使用的内存空间. JVM运行时由classloader装载类,装载之后开始在内存中部署并运行真正的执行过程是由…
内存是计算机中重要的部件之中的一个.它是与CPU进行沟通的桥梁. 计算机中全部程序的执行都是在内存中进行的.因此内存的性能对计算机的影响很大.内存作用是用于临时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据.仅仅要计算机在执行中.CPU就会把须要运算的数据调到内存中进行运算.当运算完毕后CPU再将结果传送出来.内存的执行也决定了计算机的稳定执行.对于整个操作系统来说,内存可能是最麻烦的的设备.而其性能的好坏直接影响着整个操作系统. 我们知道CPU是不能与硬盘打交道的.仅仅有数据被加载到…
1.tomcat组成介绍 1.1 目录组成介绍 1.2 启动tomcat中遇到的问题 a.启动过程中出现很多异常:因为端口被占用了 解决方式1:修改Tomcat\conf\server.xml中的默认端口 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 解决方式2:关掉占用8080…
前言: 在之前交换平台的开发中,FTP的各种操作算是核心功能点. 在FTP的开发中,遇到了不少坑. 如FTP需要设置被动模式,否则10M以上的包可能会上传失败. 如FTP需要设置囚牢模式,否则访问的文件夹可能会调到根目录去,不在配置的目录中,可能导致访问错误.权限不够等问题. 以下为正确的打开方法,以后linux下安装FTP,轻轻松松. 同事们找你优化FTP,也能得心应手. 1.1 FTP安装 我的本机环境是centOs7. 可以使用uname -a查看你的系统信息 uname -a    得到…
文章目录 tomcat调优 tomcat监控 tomcat调优 vi catalina.sh # ----------------------------------------------------------------------------- # Control Script for the CATALINA Server # # Environment Variable Prerequisites # # Do not set the variables in this script…
Tomcat性能调优: 找到Tomcat根目录下的conf目录,修改server.xml文件的内容.对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细解释一下吧: 1.URIEncoding=”UTF-8″ :设置Tomcat的字符集.这种配置我们一般是不会设置的,因为关于乱码的转换我们会在具体项目中具体处理,直接修改Tomcat的字符集未免过于…
前几天看见一篇介绍性能调优文章,觉得不错.特此收藏(http://blog.csdn.net/lifetragedy/article/details/7708724)…
系统最大线程数说明 系统可开启的最大线程数,可根据系统本身负载配置进行调优. 查看系统最大线程数 1.查看系统开启的最大线程数. ulimit -u [root@izbp1brwu1w35r1dmj8ykcz html]# ulimit -u 31215 输出结果 2.查系统支持的最大线程数,一般会很大,相当于理论值. cat /proc/sys/kernel/pid_max [root@izbp1brwu1w35r1dmj8ykcz html]# cat /proc/sys/kernel/pi…
Windows环境: catalina.bat文件修改 set JAVA_OPTS=-server -Xms4096m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=1024m Linux环境: catalina.sh文件修改 JAVA_OPTS="-Xms512m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"…
文章目录 LNMT nginx+tomcat LAMT apache+tomcat 基于mod_proxy 单节点 配置基于mod_proxy的负载均衡 基于mod_jk(需要编译安装) 单节点 配置基于mod_jk的负载均衡 session会话保持 Tomcat会话管理 session复制 session服务器 附 如果是php的话,如何将会话保存到memcached中 不错的站点(外面)推荐 LNMT nginx+tomcat 因为nginx处理请求的能力优于tomcat 有一个前端节点 两…
1. springboot内置tomcat容器的参数配置 server: port: 12021 # server端的socket超时间(毫秒),使用值-1表示没有(即无限)超时,默认值为60000(即60秒) # Tomcat附带的标准server.xml将此值设置为20000(即20秒),除非disableUploadTimeout设置为false,否则在读取请求正文(如果有)时也会使用此超时 connection-timeout: 80000 tomcat: # URL统一编码 uri-e…
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is java.lang.OutOfMemoryError: unable to create new native thread 看到这个异常有点发慌,毕竟并发程序写的少,突然来这么一个确实有点找不着背.但不管怎么样还是先搜索一下是啥原因吧. 这个错误是因为无法再创建新线程导致的,原因可能是没有更多的空…
文章目录 Tomcat前世今生 安装 配置文件详细说明 tomcat应用程序部署 webapp 体系结构 tomcat运行方式 Tomcat前世今生 java体系: 1 java程序设计语言 2 java API(类库) 3 java class文件格式 4 java vm(虚拟机) JDK:java development kit (java api .jvm)java开发工具 Java SE:JDK + 额外类库,面向桌面级应用 Java EE:Java SE+企业级类库 servlet.j…
最近部署的tomcat,里面放了一个apk提供给测试人员测试,而有一天压测的时候,他们一致反馈下载不了,结果查看日志才发现如下错误: [html] view plain copy INFO: Maximum number of threads () created 才惊醒这个tomcat根本知识解压就使用的,配置都没动过,肯定不能支持高并发了.所以这里给出一个高并发的配置,当然百度一下也会发现很多类似的配置文章,其他的就不去管吧,反正这歌配置是本人亲测,特别是压力测试下是没问题的: [html]…
1.性能监控 方式1: /usr/local/tomcat7/conf/tomcat-users.xml 添加如下: <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> &l…
主要是这三个选项的调整需要根据主机的内存配置 以及业务量的使用情况调节 -Xmx4g -Xms4g -Xmn2g xmx 与xms一般设置为一样 xmn大致设置为xmx xms的三分之一   可以使用jstat -gcutil  (pid)  1000  来检查java内存是否需要调整 是否使用快满了!   metaq  vim /usr/local/taobao/metamorphosis-server-wrapper/bin/env.sh   BROKER_JVM_ARGS="-server…
一.常见的Java内存溢出有以下三种: 1. Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出 解释说明:JVM在启动的时候会自动设置JVM Heap的值,JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.其初始空间默认是物理内存的1/64,最大空间不可超过物理内存.JVM提供-Xmn -Xms -Xmx等选项来进行设置. 出错场景:在JVM中,如果98%的时间是用于GC,且可用的Heap size不足2%时…
JDK(1.6版本以上)自带有个jvisualvm工具.该工具是用来监控java运行程序的cpu.内存.线程等的使用情况.并且使用图表的方式监控java程序.还具有远程监控能力. 界面如下: 1.JDK安装路径,bin文件夹下找到jvisualvm.exe,双击打开 2.远程---->添加远程主机 3.选择远程主机--->添加JMX连接…
一.根据性能指标找工具 二.根据工具查性能 三.内存优化策略 常见的优化思路有这么几种: 1)最好禁止 Swap.如果必须开启 Swap,降低 swappiness 的值,减少内存回收时 Swap 的使用倾向. 2)减少内存的动态分配.比如,可以使用内存池.大页(HugePage)等. 3)尽量使用缓存和缓冲区来访问数据.比如,可以使用堆栈明确声明内存空间,来存储需要缓存的数据:或者用Redis 这类的外部缓存组件,优化数据的访问. 4)使用 cgroups 等方式限制进程的内存使用情况.这样,…
Tomcat自身的调优是针对conf/server.xml中的几个参数的调优设置.首先是对这几个参数的含义要有深刻而清楚的理解.以tomcat8.5为例,讲解参数. 同时也得认识到一点,tomcat调优也受制于linux内核.linux内核对tcp连接也有几个参数可以调优. 因此我们可以将tomcat调优分为linux内核优化.java虚拟机调优和tomcat自身的优化. 一.Tomcat自身优化 1. maxThreads :tomcat创建的最大线程数,也就是同时处理的请求最大并发数.默认值…
大纲: 1. 培养独自解决问题的能力 2. 学习第二阶段Linux服务管理的方法 3. 安装sshd服务 4. sshd服务的使用 5. sshd服务调优 6. 初步介绍sshd配置文件 ###################################### 1. 培养独自解决问题的能力 遇到问题的解决方法: 1. 先仔细回看上课笔记 2. 如果上课笔记没有,在查阅互联网资料,书籍等 3. 如果以上都没找到,在发消息给老师求助 4. 关键是:不要怕失败,多动手,多实验,多敲代码!!! 学会…
一.操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU的频率,保证文件系统的读写速率等.经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快.. [适用场景] 任何项目. 二.Java虚拟机调优 应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进. JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%. 因此对性能要求较…