`
文章列表
对于Tomcat的处理耗时较长的问题主要有当时的并发量、session数、内存及内存的回收等几个方面造成的。出现问题之后就要进行分析了。 1.关于Tomcat的session数目 这个可以直接从Tomcat的web管理界面去查看即可 或者借助于第三方工具Lambda Probe来查看,它相对于Tomcat自带的管理稍微多了点功能,但也不多 2.监视Tomcat的内存使用情况 使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载的类的总量等 JDK自带的jvisualvm可以下载插件(如GC等),可以查看更丰富的信息。如果是分析本地的Tomcat的话,还可以进 ...
单个Tomcat的处理性能是有限的,当并发量较大的时候,就需要有部署多套来进行负载均衡了。 集群的关键点有以下几点: 1.引入负载端 软负载可以使用nginx或者apache来进行,主要是使用一个分发的功能 参考: http://ajita.iteye.com/blog/1715312(nginx负载) http://ajita.iteye.com/blog/1717121(apache负载) 2.共享session处理 目前的处理方式有如下几种: 1).使用Tomcat本身的Session复制功能 参考http://ajita.iteye.com/blog/1715312(Session复 ...
Tomcat本身还是运行在JVM上的,通过对JVM参数的调整我们可以使Tomcat拥有更好的性能。针对JVM的优化目前主要在两个方面: 1.内存调优 内存方式的设置是在catalina.sh中,调整一下JAVA_OPTS变量即可,因为后面的启动参数会把JAVA_OPTS作 ...
Tomcat的Connector是Tomcat接收HTTP请求的关键模块,我们可以配置它来指定IO模式,以及处理通过这个Connector接受到的请求的处理线程数以及其它一些常用的HTTP策略。其主要配置参数如下: 1.指定使用NIO模型来接受HTTP请求 protocol="org.apache.coyote.http11.Http11NioProtocol" 指定使用NIO模型来接受HTTP请求。默认是BlockingIO,配置为protocol="HTTP/1.1" acceptorThreadCount="2" 使用NIO ...
堆内存设置示例:java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。-Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。-Xss128k:设置每个线程的堆栈大小。J ...

win7实用小操作

1. win7 telnet不是内部或外部命令 Win7默认没有安装telnet功能,所以直接用telnet命令是用不了的;可以去“控制面板”--》“程序”(在左下角)---》“打开或关闭Windows功能”,勾上“telnet客户端”,确定就可以正常使用telnet命令了。   2.win7右下角的小三角 开始菜单--控制面板--控制面板右上角的查看方式选择大图标--找到通知区域图标--右下角的始终在任务栏显示所有图标和通知,打上勾确定就可以了  
集群原理Web集群分成两个方面:负载分发一方面是水平扩展,通过接入代理进行负载分发,分发到后台多个实际的业务处理逻辑单元上。这种接入代理可以是nginx,Apache等软件负载,也可以是类似F5等硬件负载。具体方式参见nginx负载或Apache负载等。Session处理另一方面就是多个业务逻辑单元之间的Session处理,处理方式有两种,一种是Session sticky模式,另外一种是Session共享模式。 Session处理方式 Session Sticky Session共享 处理逻辑 把同一个用户的Session一直发送到同一 ...
应用场景: 主要用在分布式查询的存储过程或执行插入更新等连库与操作语句中 1.创建链接服务器 sp_addlinkedserver exec sp_addlinkedserver @server= 'SQLSvr136', @srvproduct= '', @provider='SQLNCLI', @datasrc = '192.168.85.136' 2.登录链接服务器 sp_addlinkedsrvlogin exec sp_addlinkedsrvlogin @rmtsrvname = 'SQLSvr136',@useself = 'false ', @locallogin = nul ...
        Java的垃圾回收器要负责完成3件任务:分配内存、确保被引用的对象的内存不被错误回收以及回收不再被引用的对象的内存空间。垃圾回收是一个复杂 而且耗时的操作。如果JVM花费过多的时间在垃圾回收上,则势必会 ...
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server ...
[root@localhost ~]# chkconfig --list     显示开机可以自动启动的服务 [root@localhost ~]# chkconfig --add *** 添加开机自动启动***服务 [root@localhost ~]# chkconfig --del ***   删除开机自动启动***服务 [root@localhost ~]# setup     可以在shell图形终端里面配置的命令,去service里选择 [root@localhost ~]# ntsysv    在shell终端图形配置开机启动服务命令,选项没上面那个多 setup 、rc.lo ...
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。 启动第二步--读取MBR 硬盘上第0磁道第一个扇区被称为MBR,也 ...
查看聚集集合基本信息  1、 查看帮助 db.yourColl.help(); 2、 查询当前集合的数据条数 db.yourColl.count(); 3、 查看数据空间大小 db.userInfo.dataSize(); 4、 得到当前聚集集合所在的db db.userInfo.getDB(); 5、 得到当前聚集的状态 db.userInfo.stats(); 6、 得到聚集集合总大小 db.userInfo.totalSize(); 7、 聚集集合储存空间大小 db.userInfo.storageSize(); 8、 Shard版本信息 db.userInf ...
DB shell数据库操作     shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。 数据库 1、 Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、 切换/创建数据 ...
搭建步骤: 准备3个环境,至少3个,因为2个的话有一个挂了另外一个不能投票了! 1. 准备3个环境,包括程序及数据库文件存放目录 2. 启动3个数据库 mongod --dbpath D:\MongoDb\data_rep1 --port 27107 --replSet myrepl mongod --dbpath D:\MongoDb\data_rep2 --port 27108 --replSet myrepl mongod --dbpath D:\MongoDb\data_rep3 --port 27109 --replSet myrepl 3. 配置副本集集群 登录其中一个Mongo ...
Global site tag (gtag.js) - Google Analytics