`
文章列表
为什么用MAT   之前的观点,我认为使用实时profiling/monitoring之类的工具,用一种非常实时的方式来分析哪里存在内存泄漏是很正确的。年初使用了某profiler工具测试消息中间件中存在的内存泄漏,发现在吞吐量很高的时候profiler工具自己也无法响应,这让人很头痛。后来了解到这样的工具本身就要消耗性能,且在某些条件下还发现不了泄漏。所以,分析离线数据就非常重要了,MAT正是这样一款工具。   为何会内存溢出
1、在项目中加入: <dependency>      <groupId>org.testng</groupId>      <artifactId>testng</artifactId>      <version>6.4</version>      <scope>test</scope> </dependency> 2、建立测试类,并添加测试方法: @Test(invocationCount = 100, threadPoolSize = 50) public voi ...
1.什么是内存泄露 看到网上有很多人都在问内存泄露与内存溢出的区别(CSDN上),而且后面还有一大堆的跟帖在用不同形式的语言予以解答,我看了以后思绪万千啊。内存泄露是导致内存溢出的原因之一,说他们的区别纯属无稽之谈。要解释什么是内存泄露还真是个费事的活,我用一个例子来解释下: public class Test { public static void main(String[] args) { List<String> list = new ArrayList<String>(); while (true) { String test ...
用Netty实现的一个简单的HTTP服务器,可以处理静态文件,例子中的注释也比较全。主要是对HTTP的理解,接下来的文章中我也会更新一些HTTP相关的文章以及对例子的进一步完善,由浅到深,记录一些我的学习过程! public class HttpServer { public static void main(String[] args) { ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), ...
1.缓存的优点 1) 缓存减少了冗余的数据传输,节省了网络费用。 2) 缓存缓解了网络瓶颈的问题,不需要更多的网络带宽就能更快的加载页面。 3) 缓存降低了对原始服务器的要求,服务器可以更快的响应。 2.缓存分类 1 ...
1.JMeter介绍 JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。 2.启动JMeter 进入JMeter的bin目录,然后执行: 1 sudo ./jmeter.sh 3.原始的测试方法 在没有使用JMeter前, ...
文章是关于网站性能优化体验的,性能优化是一个复杂的话题,牵涉的东西非常多,我只是按照我的理解列出了性能优化整个过程中需要考虑的种种因素。点到为止,包含的内容以浅显的介绍为主,如果你有见解能告知我那再好不过了。无论如何,希望阅读它的你有所收获。   我眼中的网站性能问题都反映了一个网站的“Availability”(中文叫做可用性,但是这个翻译也不足够达意),以往我的认识是,这个网站如果全部或者部分不可用,那是功能问题,但是如果响应慢、负载差,这才是性能问题;可是后来我逐渐意识到,性能问题涵盖的范围更广,我还没法给出一个准确定义,但是许多非业务逻辑错误引起的网站问题都可能可以算做性能问题, ...
  致命错误出现的时候,JVM生成了hs_err_pid<pid>.log这样的文件,其中往往包含了虚拟机崩溃原因的重要信息。因为经常遇到,在这篇文章里,我挑选了一个,并且逐段分析它包含的内容(文件可以在文章最后下载)。默认情况下文件是创建在工作目录下的(如果没权限创建的话JVM会尝试把文件写到/tmp这样的临时目录下面去),当然,文件格式和路径也可以通过参数指定,比如: 1 java -XX:ErrorFile=/var/log/java/java_error%p.log 这个文件将包括: 触发致命错误的操作异常 ...
简介 考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点。但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝。客户总是期望它们的应用应该有更好的性能。如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能。感谢ITWorld article给本文提供资源。经过沉思我已经知道了和早期版本相比最新的Tomcat提供更好的性能和稳定性。所以一直使用最新的Tomcat版本。现在本文使用下面几步来提高Tomcat服务器的性能。 增加JVM堆内存大小 修复JRE内存泄漏 线程池设置 压缩 数据库 ...
实验条件 数据库服务器 操作系统信息 SYSTEM : Linux flume5 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 GNU/Linux 硬件配置信息 CPU : 4CPU  Intel(R) Xeon(R) CPU  X5650  @ 2.67GHz  Cache size : 12288 KB MEMORY : 4G 数据库服务器信息 MySql版本:Server ver ...
1.内存设置(VM参数调优) (1). Windows环境下,是tomcat解压版(执行startup.bat启动tomcat) ,解决办法: 修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置: set JAVA_OPTS=-Xms512m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m ...
java 环境配置: export JAVA_OPTS="-server -Xms8g -Xmx8g -Xss128k -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8-XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31"   sysctl.conf 的配置:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_max_tw_buckets = 180000ne ...
一、操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。 【适用场 ...
    1、查看apache当前并发访问数:  www.2cto.com     netstat -an | grep ESTABLISHED | wc -l   对比httpd.conf中MaxClients的数字差距多少。   2、查看有多少个进程数:   ps aux|grep httpd|wc -l   3、可以使用如下参数查看数据   server-status?auto   #ps -ef|grep httpd|wc -l   1388   统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。   表示Apache能够处理1388个并发 ...
  来看一个最简单的annotation package com.cts.elt.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; importjava.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.TY ...
Global site tag (gtag.js) - Google Analytics