`
songbin0201
  • 浏览: 319898 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Application情况: 大量使用了内存缓存,应用负载量较大,900w/d-1000w/d,对响应速度要求较高,因此gc造成的应用中断现象需要尽量控制在最小范围内。 系统情况: 2个8核的cpu,共2*8=16的处理器(processor),总大小为16G的内存。 调优方式: 1、-Xms -Xmx 设置初始堆最大和最小内存;经过测试,目前tomcat容器可以设置的最大内存为3G -Xms3072M -Xmx3072M,避免gc后jvm重新分配内存,影响性能 2、-Xmn 设置年轻带Young Gen的内存大小,sun官方推荐Young Gen为整个堆内存的3/8,设置过小的Young ...

java nio

从JDK1.4(merlin)开始,java提供了NIO的方式读写文件,处理线程调度。使用NIO主要有以下两个方面的好处 1、用fileChannel+buffer的方式,提高了文件的读写速度      简单对比了一下90+M文件,buffer预分配大小为1024的时候,速度提升大概比传统io提升了3-4倍;而且buffer预分配空间越大,速度提升越高;因为nio按照连续的字节块读写文件,buffer越设置的越大,文件读写越快。 public void copyfileBIO() throws IOException{ BufferedReader br = new BufferedR ...
http://thrift.apache.org/download/ 下载thrift的最新版本,然后解压,安装 tar -xzvf thrift-0.7.0.tar.gz chmod +x configure ./configure ./make make install 但是thrift的安装编译,还需要依赖一些安装包,因此执行上述命令可能尚无法安装,需要等依赖包安装好后,进入解压后的thrift目录,重新执行配置和编译过程 依赖包如下或者参考http://wiki.apache.org/thrift/ThriftRequirements GNU build tools ...
ibatis的文档中,关于动态SQL的举例如下: <statement id="someName" parameterClass="Account" resultMap="account-result" > select * from ACCOUNT <dynamic prepend="where"> <isGreaterThan prepend="and" property="id" compareValue=" ...
ibatis提供四种缓存方案,LRU、FIFO、MEMORY、EHCACHE,通过定义不同的cacheModel,将数据缓存在cache中。 具体写法参考如下 <cacheModel id="cache-name" type="LRU" readOnly="true" serialize="false"> <property name="cache-size" value="1000" /> </cacheModel> ...
    周五调试线上环境的应用,发现某个服务响应时间非常慢,以正常情况衡量,一般每个请求处理时间大概在500ms以内,但是该请求处理时间长达3~5秒     线上应用的大致情况为:该应用为一个运营支撑系统,主要处理运营数据的推送和查询,ORM 采用ibatis框架,日志使用log4j。     针对响应时间较长的请求进行调试(还好日志跟踪比较全面),该请求包含多个业务处理,在某个日志区间,发现处理时间跨度竟然在3-5秒,应该就是这个区间的处理时间长,导致请求响应速度下降。     大致分析了下该区间的处理,基本排除业务处理代码的性能瓶颈,定位是某个数据库查询SQL操作耗时长。但是ibatis在该 ...
当我写下这篇饱含我的经历和磨难所体会到的文章后,势必要得罪很多人,但是就事论事,不是要争个你死我活,只是想单纯的分享个人体会,并与大家讨论进步、吸取更多的想法。 首先,运营主导型的研发,缺乏统一的目的性 其次,运营主导型的研发,工作结果缺乏成就感,容易沦为工具 最后,运营主导型的研发,工作过程容易陷入不断的尝试和修改,对于需求的把握,无法从实际的情况和整体权衡,往往大的需求得做,小的需求得做,最后缺乏突出性和主题感,忽视了用户真正的想法;在需求不断细化的过程中,容易陷入细节,无法把握整理,对研发提出的需求改进意见,无法权衡利弊,最后导致不该做的也做了,效果不好,产生挫折感,提升不信任度。
DateFormat 是日期/时间格式化子类的抽象类,它的实现类提供了很多种日期格式化的方法对日期解析和格式化。 TimeZone 表示时区偏移量,接受时区ID,例如:Asia/Shanghai或者GMT+8,根据时区ID获取时区偏移量 DateFormat提供一个方法,setTimeZone(TimeZone zone),接受时区偏移量作为传入参数,为DateFormat日历设置时区,默认情况使用Locale.getDefault()中的本地时区。 SimpleDateFormat timeZoneFormat = new SimpleDateFormat("yyyy-MM-d ...
First:下载安装 cx_Oracle http://cx-oracle.sourceforge.net/ 注意对应你的oracle客户端版本和python版本 Second:拷贝文件 从{oracleInstall}/BIN目录下拷贝OCI.DLL文件到{pythonInstall}\Lib\site-packages目录下 Third:调试代码 打开python编译器,输入如下代码,测试oracle是否能正常连接 import cx_Oracle db = cx_Oracle.connect('username', 'pwd', 'TNS_NAME') 如果没有 ...
1、GWT - Google Web Toolkit 参考:http://code.google.com/intl/zh-CN/webtoolkit/overview.html 2、安装 eclipse gwt 插件 http://code.google.com/intl/zh-CN/webtoolkit/tools/download-gwtdesigner.html 按照页面的提示,安装Plugin for Eclipse、Speed Tracer(option)、GWT Designer、GWT SDK 安装完成之后,按照get started 介绍开始gwt之旅
ibatis在进行对象关系映射时,我们往往习惯这么定义 <resultMap id="userPush" class="com.util.ibatis.test.UserPush"> <result property="uid" column="USPU_UID_FK" /> <result property="pushDate" column="USPU_PUSHDATE" jdbcType="DATE" ...
移动白名单 白名单是一个服务器列表,待遇如同梦网wap网站可以得到用户的ua和手机号 通常情况下,通过cmwap访问wap网站,移动不会传送手机号码和ua,如果wap网站在白名单里,移动会给这个wap网站加上用户手机号码和ua等信息。 cmwap 和 cmnet的区别: 1、cmwap和cmnet是移动人为的对GPRS的接入方式划分的两个接入点APN 2、cmwap主要是为手机浏览wap网站服务,cmnet为PC、笔记本电脑、PDA等利用GPRS上网服务 3、cmwap是通过移动的wap网关(10.0.0.172)代理访问服务,只能访问GPRS网络内的IP(10.*.*.*)      c ...
一、根据余数计算分布  Hash() mod n 就是“根据服务器台数的余数进行分散”。求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。 根据余数计算分散的缺点 余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器,从而影响缓存的命中率。 二、一致性哈希算法 把每台server分成v个虚拟节点,再把所有虚拟节点(n*v)随机分配到一致性哈希的圆环上,这样所有的用户从自己圆环上的位置顺时针往下取到第一个vnode就是自己所属节点。当此节点存在 ...
redis支持master-slave模式,可以设置一个master,多个slave;采用读写分离的策略,master负责写数据,多个slave负责读数据,slave的数据是复制master上的,所以多个slave之间的数据是可以保持一致的,即便down了之后,也会通过加载dump数据的方式,重新加载会原来的缓存数据。 Fail-Tolerance 当前项目需要保证一个client连接到slave服务上读取数据,如果slave down 了之后,可以在不影响应用的情况下,自动切换到另外一个可用的slave 因为jredis不支持设置多个slave服务器,所以写了一个小工具类,目的是为了探测如 ...
1、redis-benchmark redis基准信息,redis服务器性能检测 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 [root@Architect redis-1.2.6]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000 ====== PING ====== 10001 requests completed in 0.41 seconds ...
Global site tag (gtag.js) - Google Analytics