- 浏览: 56086 次
- 性别:
- 来自: 深圳
博客专栏
-
架构师的知识与实践
浏览量:56086
最新评论
-
ClyenLiang:
...
disruptor使用示例 -
newboy2004:
这样搞的话,你redis里的数据和数据库里的数据 什么时候做同 ...
redis分布式内存锁:余量扣除示例 -
wh0426:
步骤三:是修改代码了,把com.xx.esi.log.logg ...
linux环境JVM内存死锁问题分析 -
duantonghai:
where is the step3, waitting fo ...
linux环境JVM内存死锁问题分析
文章列表
互联网上讲述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 ...