- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 传统io&mmap&直接io&sendfile零拷贝 对比
传统io 步骤:硬盘(dma)》内核缓冲(cpu)》用户缓冲(cpu)》socket缓冲(dma)》协议层 1、四次上下文切换。 2、四次copy Mmap(内存映射): 步骤:硬盘(dma)》内核缓冲(share用户缓冲)(cpu)》socket缓冲(dma)》协议层 优点 较缓存io,因为系统内核缓存和用户缓存共享,通过mmap访问硬盘数据减少了一次系统缓存至应用缓存之间的copy,提升了性能。 实现用户区域与系统内核之间的高效交互。 提供进程间共享内存间的相互通信方式。(如k8.
2021-05-09 01:04:59
698
原创 virualvm 监控 jvm应用
今天打开jvm本来想监控一下本机jvm应用的性能,突然发现一年前帮一个广告平台做性能优化的配置居然还能看到相关应用信息,该平台一天单表数据量大概500w左右,忙时上千万数据,采取mysql分库每天定期分表; 很多时候我们要对这种高并发的应用都要进行实时监控,一方面可以监控性能差的程序,另一方面及时发现程序运行异常信息; 使用jmx监控,jvm配置如下: -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=47.106.108.196 -Dcom
2020-06-01 19:50:24
261
shell脚本新增或修改hadoop的xml配置文件
shell自动化部署组件的时候对文件字符串处理配置文件的需求比较大,部署hadoop处理如下格式xml的量是非常多的: [code="java"] yarn.resourcemanager.ha.rm-ids rm1,rm2 [/code] 以下是新增或者修改yarn.resourcemanager.ha.rm-ids节点的值 [code="java"]#!/bin/bash f...
2016-05-11 23:14:13
764
原创 shell脚本部署无密码访问
为了实现一些组件的自动化部署,可能要设置服务器的免密访问比较方便,最后实现了自动化部署密码脚本,以下为实现代码逻辑。代码比较庞大,不能一一道出了。 #!/bin/bash ips=( '10.100.112.79' '10.100.112.203' '10.100.112.204' '10.100.112.205' '10.100.112.95' '10.100.112.125' ) //...
2016-05-11 22:56:54
259
原创 sshd_config无密访问的处理
#!/bin/bash ip=$1 currpath=$2 hostip=$3 //本机ip if [ -z "$hostip" ] || [ "$ip" != "$hostip" ];then ssh ${ip} $currpath/base/annotationCol.sh "/etc/ssh/sshd_config" "AuthorizedKeysFile\ " ssh ${i...
2016-05-10 18:04:28
392
原创 sed给行前面加入‘#’号
#!/bin/bash filename=$1 key=$2 #sed -i '2,5s/'"$key"'.*/#/' $filename sed -i 's/^'"$key"'/#&/' $filename
2016-05-10 18:00:21
2929
原创 shell新增用户
#!/bin/bash gname=$1 uname=$2 password=$3 echo "==========$gname,$uname,$password======" #userdel $uname isUserExist=` cat /etc/passwd|grep $uname|wc -l ` isGroupExist=` cat /etc/group|grep $gn...
2016-05-10 17:49:17
319
原创 expect执行ssh-copy-id
#!/bin/bash ip=$1 uname=$2 password=$3 filepath=/usr/$uname/.ssh/id_rsa.pub if [ $uname = "root" ];then filepath=/root/.ssh/id_rsa.pub fi echo "===========resrsa====================" expect...
2016-05-10 17:47:36
347
原创 expect执行ssh-keygen
#!/bin/bash echo "===========genrsa====================" expect
2016-05-10 17:47:15
768
原创 解决sch远程命令找不到JAVA_HOME的问题
最近在做一套自动化脚本,有时候需要远端触发java程序的执行。 但是通过ssh登陆之后会发现找不到JAVA_HOME 我的JAVA_HOME是定义在/etc/profile 里面的 略做研究之后发现结果如下: /etc/profile: 当用户登录时,该文件被执行. /etc/bashrc: 当bash shell被打开时,该文件被执行. ssh作为non-login方式进入,...
2015-08-09 22:45:42
761
mongodb shard集群的shell程序启动
#!/bin/bash processExist=`ps aux|grep mongo|grep -v "grep" ` MONGODB_PATH="/opt/mongodb/mongos" MONGODB_DATA="/opt/mongodb" mongod_lock=$MONGODB_DATA/data/configsvr/mongod.lock shard1_lock=$MON...
2015-08-08 17:44:44
473
原创 java多线程消息队列的实现
1、定义一个队列缓存池: [code="java"]private static List queueCache = new LinkedList();[/code] 2、定义队列缓冲池最大消息数,如果达到该值,那么队列检入将等待检出低于该值时继续进行。 [code="java"]private Integer offerMaxQueue = 2000;[/code] 3、定义...
2014-10-12 23:38:10
1110
原创 redis队列测试
做了一个测试,redis队列,在2000个线程同时并发处理四万个简单消息时,推入队列会报错; redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 从队列里面拿消息时,完全没问题,不报错;(可能是消息内容比较简单) 如果消息检入或者检出出错,做setn...
2014-07-25 02:31:20
342
原创 程序获取spring加载属性文件
import java.util.HashSet; import java.util.Properties; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org....
2014-06-13 23:50:29
171
原创 struts2错误'There is no Action mapped for namespace'
最近开了一个新项目,想用全注解式开发,在整合框架的时候遇到struts2.0 采用注解配置的时候action死活进不去, 报这错: There is no Action mapped for namespace [/login] and action name [login] associated with context path [/toJsp]. - [unknown location]...
2014-04-18 01:54:40
253
关于jedispool大并发时遇到JedisConnectionException的解决方案
每次遇到JedisConnectionException这个异常,jedispool就崩溃了,总结问题:有可能是阿里云的服务器老是会掉线,掉线这个问题不止一次遇见了,但也有可能是其它问题;这个问题很严重;为了系统有更好的容灾性,然后就有下面的歪招了; 下面是源码 import org.apache.log4j.Logger; import redis.clients.jedis....
2014-04-11 00:42:08
904
zookeeper 分布式任务
网上说了一大堆关于zookeeper选举,参差不齐,貌似没有啥代码可以copy,把自己也给绕进去了,这里结合一些网上的看法,自己写了代码,关于zookeeper的。 思路大概是这样: 1、每个节点进来查询是否有任务发布路径,如果没有,创建任务发布路径,自己成为领导;这个过程加锁,所以集群只有一个领导。 2、每个应用都可以发布任务。把命令写在发布路径的data里;所有应用监听到发布路径修改,...
2014-03-01 12:42:47
334
原创 zookeeper 共享锁代码的实现
zookeeper存储是树状结构,如/path1/path2(这里path1必须是PERSISTENT,否则path2不能创建), 节点有三种状态: 1、EPHEMERAL临时节点,server删除后该节点也会删除,但是我测试的时候,如果将server强制删除,EPHEMERAL节点会延迟删除; 2、PERSISTENT节点,这个是持久保存的节点。 3、SEQUENTIAL节点,自动标号的...
2014-02-27 00:48:23
217
原创 自己强化的vanadium.js验证框架
1、支持同个页面多个form表单验证 2、支持两种验证提示方式。 在form 标签添加vanadiumType='multi'||vanadiumType='default'||vanadiumType='alert' 3、支持js提交验证 if(Vanadium.validForm("a_form")){ form.submit(); } 需要验证的标签只需要在input标...
2013-03-16 14:09:01
289
原创 用row_number() over 优化分页查询
SELECT * FROM ( SELECT t.*,row_number() over(ORDER BY n_count DESC) r FROM t_51xit t ORDER BY t.n_count DESC ) t WHERE r BETWEEN 4 AND 6 当查询大表时,特别是当查询结果再写查询语句时,这种写法比下面这种快n倍 SELECT * FROM ( ...
2011-11-07 01:08:10
1012
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1