经典项目案例分析
胖墩的IT
一步一个脚印走下去,相信自己能成功,
学习的3W原则:who,what,which
生活的3W原则:who,what,why
展开
-
高性能硬件上的程序部署策略(一)
这些案例也是来自于<<深入理解java虚拟机,JVM高级特性与最佳实践>>第二版,来了解实际项目中的具有代表性的问题高性能硬件上的程序部署策略前景介绍: 一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个cpu,16GB物理内存,操作系统为64位CentOS 5.4s,Resin作为Web服务器,整个服务器暂时没有部署别的应用,所有的硬件资源...原创 2019-09-11 17:44:03 · 530 阅读 · 1 评论 -
集群间同步导致的内存溢出(二)
现在网络发展这么迅速,传统的程序架构已经不适合这个高速发展的时代了,现在基本上都是分布式,微服务,它们之间的端点都是用集群来搭建的,有的消息队列,像kafka,注册中心,像zookeeper都是集群化,更别说缓存(redis),MySQL了,更得集群化啊,其实前面那篇文章用Nginx也与集群化相识,比如Tomcat当服务器,那它就是集群化的Tomcat1、案例介绍:有一个基于B/S的MIS系...原创 2019-09-11 20:40:13 · 608 阅读 · 0 评论 -
堆外内存导致的溢出错误(三)
案例介绍:一个学校的小型项目:基于B/S的电子考试系统,为了实现客户端能实时地从原创 2019-09-12 13:53:52 · 1398 阅读 · 0 评论 -
外部命令导致系统缓慢(四)
1、案例介绍运行在一台4个CPU的Solaris 10操作系统上,中间件GlassFish服务器,系统在做大并发压力测试的时候,发现请求响应时间比较慢,通过操作系统的mystat工具发现CPU使用率很高,并且系统占用绝大多数的CPU资源的程序并不是应用系统本身,这是一个不正常的现象,通常情况下用户应用的CPU占用率应该占主导第五位,才能说明系统工作正常2、查看出问题的地方通过Solaris ...原创 2019-09-13 13:52:19 · 209 阅读 · 0 评论 -
服务器JVM进程崩溃(五)
1、案例介绍:一个基于B/S的MIS系统,硬件为2个CPU,8GB内存的HP系统,服务器是WebLogic 9.2(其实就是前面那个集群间同步导致内存溢出的那篇),正常运行一段时间后,最近发现在运行期间频繁出现集群节点的虚拟机进程自动关闭的现象,从系统日志中发现,在虚拟机进程崩溃之前都发生了大量相同的异常,如下面:java.net.SocketException:Connection res...原创 2019-09-13 16:31:05 · 529 阅读 · 0 评论 -
不恰当的树数据结构导致内存占用过大(六)
1、案例介绍:有一个后台PRC服务器,使用64为虚拟机,内存配置为:-Xms4g(设定程序启动时占用内存大小)-Xmx8g(设定程序运行期间最大可占用的内存大小)-Xmn1g(设置年轻代大小为1G)整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小下面这个公式没有加上持久代xmx=xmn+老年代大小使用ParNew+CMS的垃圾回收器组合2、出现的问题平时对外...原创 2019-09-13 18:01:25 · 649 阅读 · 2 评论 -
由Windows虚拟内存导致的长时间停顿(七)
案例介绍: 一个带心跳检测功能的GUI桌面程序,每15秒发送一次心跳检测信号,如果对方30秒以内都没有信号返回,那就认为对方断开连接。程序上线后发现有误报的概率,查询日志发现误报的原因是程序会偶尔出现间隔约1分钟左右的时间完全无日志输出,处于停顿状态因为是左面程序,内存不大(-Xmx256m),所以并没有想是GC导致的程序停顿,但是加入参数-XX:+PrintGCApplicationStopp...原创 2019-09-13 20:02:42 · 357 阅读 · 0 评论