`
wh0426
  • 浏览: 55077 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
Group-logo
架构师的知识与实践
浏览量:55072
社区版块
存档分类
最新评论
文章列表
互联网上讲述nginx高并发配置的比较多,主要是nginx+php。本博讲述nginx java web应用配置,实现高并发。配置关键点,见下文配置cpu核数[code="plain"]worker_processes  10;[code="plain"]worker_rlimit_nofile102400;配置epoll ...
无可致疑,netty是java的网络通讯框架,支持高并发。本文扫描使用netty完成简单的http的能力,不涉及安全,业务过滤等内容。 片段1 /** * 启动http服务器 * @throws InterruptedException */ private void runHttpServer(final EventProducer evtProducer) throws InterruptedException { // 配置TCP服务器. EventLoopGroup bossGroup = new NioEventLoopGroup(S ...
余量扣除,即在高并发,大用户下,每个用户的余量数据频繁发生变化。例如:12306的某车次票的余量,商品库存,短信余量账本等。 针对,此类频繁发生修改的原子类余量对象,采用mysql,oracle等数据,一定会存在操作瓶颈。本文拟采用内存的办法实现,使用redis+Redisson客户端完成。当然,或许可以采用mangodb这类no-sql数据库。 Redisson客户端 https://github.com/mrniko/redisson/wiki 实现redis分布锁的客户端开源项目,redission支持4中连接redis方式,分别为单机,主从, Sentinel , Clust ...
LMAX 开源了一个高性能并发编程框架。可以理解为消费者-生产者的消息发布订阅模式。本文下载了官方示例代码,进行实验。 longEvent事件数据   public class LongEvent { private long value; public void set(long value) { this.value ...
tomcat7增强了数据库连接池功能,连接池配置如下:     <Resource name="jdbc/ecp" auth="Container" type="javax.sql.DataSource" maxActive="300" maxIdle="100" maxWait="10000" username="xm_db_portal" factory="org.apache.tomcat.jdbc.poo ...
最新一应用 ,发现有2G以上的内存不释放. 代码问题点:   Cipher ci = Cipher.getInstance("RSA", new BouncyCastleProvider()); 代码修改正点:     public static synchronized BouncyCastleProvider getInstance() { if (bouncyCastleProvider == nul ...
mule的jmx监控端口,和普通jvm的方式有些不同。 mule-config.xml配置方式如下:   <management:jmx-server> <management:connector-server url="service:jmx:rmi:///jndi/rmi://[主机IP]:9998/mule" rebind="false" /> </management:jmx-server>   监控地址是service:jmx:rmi:/ ...
最近,在一项目上,发现后端mule es cpu耗用高。经过jstat -gcutil jvm进程号 1000 10分析,发现FGC次数,较多。 根据gc观察,O老生代,经过达到80% 以上。而新生代survior s1,s2内存空间比较小。判断有新生代对象没经过几次gc,就进入 ...
最近在一次压力测试问题分析中,发现运行在tomcat的应用,不管上多少个vuser模拟请求压力,只会耗用200%的cpu,测出应用的tps很低,近10次每秒。经过分析,不是网卡的瓶颈,于是怀疑是内存锁的问题,于是就以下操作与分析。   步骤一:在linux环境上执行jstack -l 线程号 >线程号.log   步骤二:从.log发现如下问题0x0000000751968760 的内存变量一个锁住,另一个在获取锁。出现死锁问题。 "http-apr-8090-exec-3898" daemon prio=10 tid=0x00007fa47e67b800 ...
  下载安装包 wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gzwget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gzwget http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.33/source/tomcat-native-1.1.33-src.tar.gz第一步:tar -zxvf apr-1.5.2.tar.gzcd apr-1.5.2./configure --p ...
  tomcat7 BIO 配置 <Connector port="8080" protocol="HTTP/1.1" <pre name="code" class="html"><span style="font-size:18px;"> connectionTimeout="60000" redirectPort="8443" URIEncoding=& ...
1.kafka安装 tar -xzf kafka_2.10-0.8.2.1.tgzcd kafka_2.10-0.8.2.1   2.启动 主机环境 top - 11:32:15 up 118 days, 8:18, 4 users, load average: 1.97, 3.45, 4.45Tasks: 152 total, 1 running, 151 sleeping, 0 stopped, 0 zombieCpu0 : 15.0%us, 13.0%sy, 0.0%ni, 68.0%id, 3.0%wa, 0.0%hi, 1.0%si, 0.0%stCpu1 : 26.2% ...
本篇实验dubbo的去中心化服务治理能力 dubbo介绍 服务治理开源项目,具备服务自动伸缩能力。当有部分dubbo服务实例不可用时,其通过注册中心(本实验是zookeeper注册中心),将不可用的服务在客户端调用层删除。   实验主机   localhostdubbo 服务实例 localhost casdemo web示例,允当dubbo服务消费者 localhost zookeeper实例 zookeeper启动 ./zkServer.sh start   可以配置多个zookeeper实例 服务端 发布demoService.sayHello()服务 & ...
通过jstatd 远程监控JVM内存 默认情况下visualvm工具的内存采样工具sampler是不用的,只有开启Jstatd进程才能使用。以下为开启jstatd的配置与命令   vi pstat.policy   grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; 启动jstatd进程jstatd -J-Djava.security.policy=pstat.policy -J-Djava.rmi.server ...
本篇继续上篇内容   iostat   rxpck/s:每秒钟接收的数据包txpck/s:每秒钟发送的数据包rxbyt/s:每秒钟接收的字节数txbyt/s:每秒钟发送的字节数rxcmp/s:每秒钟接收的压缩数据包txcmp/s:每秒钟发送的压缩数据包rxmcst/s:每秒钟接收的多播数据包     jstatd 远程调试 jstatd -J-Djava.security.policy=pstat.policy -J-Djava.rmi.server.logCalls=true   more pstat.policygrant codebase "file:/ho ...
Global site tag (gtag.js) - Google Analytics