- 博客(67)
- 收藏
- 关注
原创 再谈应用环境下的TIME_WAIT和CLOSE_WAIT
昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。在服务器
2011-07-21 10:50:45 54093 14
原创 UCloud数据方舟评测报告
UCloud数据方舟评测报告 一、测试环境: ucloud云主机CentOS6.5 2C4G 一台 二、测试对象: ucloud数据方舟 三、测试公司及部门: 广州云移信息科技有限公司研发中心云平台I部运维组(蒋川) 四、测试内容: 数据方舟的数据备份及恢复 五、测试过程及结果: 1.对数据方舟的基本操作进行了测试; 创建主机(udata_test),创建时间
2015-11-27 10:14:10 4091 1
原创 日志流汇集工具Log.io安装过程
https://github.com/NarrativeScience/Log.io 需要使用root用户安装1.安装node.jsnode.js安装包获取,请搜索。tar zxvf node-v0.12.7.tar.gzcd node-v0.12.7./configure make && make install2.安装np
2015-09-10 19:17:17 5258
原创 PHP没有数据库连接池怎么破?PHP环境下使用Nginx ngx_http_limit_req_module模块的高负载解决方案
线上运行了一套辅助系统是利用了开源的PHP改的,之前也没怎么玩过PHP,没想到这玩意儿还是有不少坑的。突然某一天一个用户做线上活动推广,然后短时间内涌进来了上万的请求,然后数据库连接耗尽,短时间内几乎拖垮了整个系统。导致系统奔溃的有多方面原因,今天主要针对PHP没有数据库连接池的原因来分析。在PHP里,数据库连接在请求到达时建立,请求结束时释放。如果同时几千个请求到达,那就同时会建立几千个数据库连接
2015-07-09 10:56:11 5400 3
原创 Linux平台Java环境中文编码研究
09年在原来公司做的一篇文章,现在共享出来。此次研究主要针对Linux操作系统中Java环境下可能产生的中文乱码问题展开一些试验,目的在于寻求一套无乱码的解决方案。此文档目的在于详细介绍《2 过程记录文档》中得出的相关结论,以及描述建立一个统一编码环境的具体过程。 一、 准备知识1. 字节、字符、编码从计算机对多国语言的支持角度看,大致可以分为三个阶段:
2015-05-12 17:14:14 9046 1
原创 【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
Emoji表情字符现在在APP已经广泛支持了。但是Mysql的UTF8编码对Emoji字符的支持却不是那么好。所以我们经常会遇到这样的异常:Incorrect string value: '\xF0\x90\x8D\x83...' for column原因是Mysql里UTF8编码最多只能支持3个字节,而Emoji表情字符使用的UTF8编码,很多都是4个字节,有些甚至是6个字节。
2015-04-03 11:09:36 33523 4
转载 Nginx做前端Proxy时TIME_WAIT过多的问题
今天线上遇到了TIME_WAIT过多的报警。查看TIME_WAIT端口发现,大部分是来自我们的管理后台Web请求,其他服务基本正常。而这部分请求正好是经过Nginx代理的。所以猜想Nginx的代理导致了这一现象。经过Google得知Nginx作为Proxy确实存在此问题。转载下文,分析得很好我就不再罗嗦了,感谢作者。原文地址:http://www.cnblogs.com/QLeelul
2015-03-11 15:50:52 6307
原创 基于Zepto的Alert提示框开源框架Tiny-Alert
项目主页:http://shootyou.github.io/Tiny-Alert/什么是Tiny-Alert?这是一个基于Zepto的提示框插件,在移动端使用会有更好的效果。它被设计成是移动端原生alert和confirm提示框的更美观替代品。同时它还实现了一个loading效果。它的核心代码参考了rDailog,在它基础上适配了zepto,去掉了移动端用不到的特性,另外让它看上
2014-08-01 17:22:39 21764 2
原创 异常处理:Eclipse下解决Plugin execution not covered by lifecycle configuration异常
异常描述:今天尝试导入Apache Vysper源码,使用eclipse juno+m2e插件,发现如下错误:Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:properties-maven-plugin:1.0-alpha-1:write-project-properties (exec
2013-01-06 10:59:52 59870 1
原创 Windows 64位系统中安装Android SDK“系统找不到指定的文件Java.exe”解决方法
首先请看这里:http://blog.galois21.com/computer/galois21/2012_11_03/348如果按照上面的步骤还无法解决。那么进入你自己的C:\Windows\System32目录下,看看是不是有java.exe、javac.exe等等,有的话全部删掉。然后再执行上面的步骤。问题解决。
2012-12-28 22:23:11 10994 2
原创 CentOS 6 下升级安装Mysql 5.5 完整步骤
使用系统CentOS 6.2本来已经系统自带安装了mysql 5.1,但是奈何5.1不支持utf8mb4字符集(详见:http://blog.csdn.net/shootyou/article/details/8236024),只能想办法将Mysql升级到5.5。这果然是一次蛋疼的升级过程。完整步骤:1.首先备份数据,虽说成功的升级数据不会丢失,但是保险起见备份下。
2012-11-29 01:29:37 16560 5
原创 异常处理:使用UTF-8编码Mysql仍然抛出Incorrect string value异常
之前还以为从上至下统一用上UTF-8就高枕无忧了,哪知道今天在抓取新浪微博的数据的时候还是遇到字符的异常。从新浪微博抓到的数据在入库的时候抛出异常:Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' 发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是万能的么?
2012-11-28 20:23:04 27619 5
原创 【简短笔记】MyBatis 3 使用内部缓存
在面对查询多而且修改少的运用场景之下,可以开启MyBatis的内部缓存。开启非常方便,但是要注意缓存刷新的逻辑。开启二级缓存,你只需要在 SQL 映射文件中加入简单的一行:这句简单的语句的作用如下:1.所有在映射文件里的 select 语句都将被缓存。2.所有在映射文件里 insert,update 和 delete 语句会清空缓存。3.缓存使用“最近很少使
2012-11-28 16:30:09 3037
原创 【简短笔记】Spring+Quartz的版本问题
使用Spring配置管理Quartz的时候会遇到下面的异常:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
2012-11-12 19:21:14 10124 2
原创 【简短笔记】mysql内存表使用注意事项
1.设置内存表大小my.cnf的配置会影响内存表大小:max_heap_table_size = 16M这个配置是影响单个表的大小。基本上这个默认值是远远不够用的,测试过一个五列的表,插入15000左右的数据就报异常了:1114 - The table 'XXX' is full根据自己的需要改成想要的大小。
2012-11-08 17:26:30 1570
原创 警告处理 A C3P0Registry mbean is already registered. This probably means that an application using c3p.
遇到完整的警告信息如下:WARN 2010-11-06 19:04:37,270 A C3P0Registry mbean is already registered. This probably means that an application using c3p0 was undeployed, but not all PooledDataSources were closed prio
2012-10-30 19:58:20 9759
转载 Linux 目录个数和文件个数限制
今天在服务器上遇到一个问题,目录下无法创建子目录,异常:mkdir: 无法创建目录 “...”: 过多的连接原来之前的理解是错误的,linux对目录下的文件数目基本无限制(受限于inode基本可以忽略),但是对于目录下的子目录数确实有限制的,最多为31998个。以下内容转载自:http://www.51testing.com/?uid-225738-action-vie
2012-01-31 15:50:52 3926
原创 毕业两年以此为纪念
去年6月份的一篇未完成的日志,一直躺在草稿箱里头,怕忘了,先把他发出来吧,一晃眼,马上就要毕业三年了。========================格机格机格机格机==============================一直在CSDN上写一些技术性的文章,一个目的是做为记录,另一个目的是希望能够无意的帮助到别人,这次是第一次有冲动把自己工作几年的感悟写到上面来。不求关注,纯属自勉
2012-01-30 17:20:35 1986 2
原创 从form的enctype属性到Content-Type再到request.getInputStream()
还是一个异常引发的故事:需要实现一个手机客户端行为分析的需求,手机客户端需要上传一些数据文件。手机客户端通过http协议post方式上传数据文件的时候,我们发现在服务器端无法通过request.getInputStream()获取到相应的数据,调用request.getInputStream()读取数据里头啥都木有。经过各种尝试我们注意到如下的情况:1.在不做任何修改的情况下,
2012-01-07 13:49:20 18916 1
原创 Linux SSH使用公钥私钥实现免登陆 以及 登陆失败、公钥失效的处理
写shell免不了要远程执行shell命令,自然就要实现免登陆。免登陆的原理: 首先说明一下处理机制: 1.非对称密钥就是一对密钥-公钥和私钥。 2.私钥由系统中没个人自己持有,一般保存在自己的电脑里或u盘里。 3.公钥则在网络上传递,就是可以传递给通信中的对方,也就意味这可以被黑客截获。 4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用
2011-11-01 15:41:54 11546
原创 Linux WEB服务器CMWAP访问缓慢问题备忘
WAP页面访问速度慢的问题已经基本解决,目前WAP页面访问速度已经正常。原因是经过优化后的Linux内核参数在CMWAP访问时会出现问题。 影响CMWAP访问的两个参数是:net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv
2011-10-31 10:53:00 1786
原创 Linux下实现秒级定时任务的两种方案(crontab 每秒运行)
第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。while true ;docommandsleep XX //间隔秒数done第二种方案,使用crontab。我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。以下方法将每20秒执行一次crontab -
2011-10-30 12:53:50 40239
原创 linux下普通用户如何使用80端口启动程序
大家都知道默认情况下linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常。解决办法有两种:1.使用非80端口
2011-09-05 16:44:13 12401
原创 HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有不慎都会是毁灭级别的啊。这里有之前因为route配置不当导致服务器异常的一个处理:http://blog.csdn.net/shootyou/article/details/6415248里面的Htt
2011-07-18 20:11:15 168223 19
原创 tomcat环境下服务器文件句柄耗尽(Too Many Open Files)的问题排查
转载注明出处,谢谢~http://blog.csdn.net/shootyou 前段时间帮助公司解决了一次tomcat环境服务器的异常,今天有时间过来总结一下。 问题的表现:tomcat服务在重启之后,短时间内会承受大量访问,由于这个时候缓存还没建立,每次访问都将消耗一定资源(数据库连接或者文件IO),并发量在2000左右的时候tomcat服务开始抛出大量T
2011-07-01 11:48:00 39400 2
原创 使用Gem install安装starling出错 ERROR: http://gems.rubyforge.org/ does not appear to be a rep
starling是一个ruby写的开源的消息队列服务器,具体介绍和安装可以参见:http://www.ooso.net/archives/506 今天为服务器安装starling的时候出现了下面的异常。简单说下解决方法。 执行gem install memcache-client starling的时候出现了:ERROR: http://gems.rubyforge.org
2011-06-08 13:01:00 3879
原创 异常处理:Page directive has invalid attribute: trimDirectiveWhitespaces
我们经常会在JSP页面上使用:这个命令可以使jsp输出的html时去除多余的空行(jsp上使用EL和tag会产生大量的空格和空行)。但是这个命令是从JSP2.1规范以后才得到支持。所以在tomcat 6.0之前的版本上如果使用这个命令就会抛出异常:Page directive has invalid attribute: trimDirectiveWhitespaces解决方法是:1.升级tomcat至6.0以上版本2.Tomcat 5.5.x+,不要使用trimDirectiveWhitespaces,改
2011-05-21 11:36:00 12119 2
原创 HttpClient4.X 升级 入门 + http连接池使用
转载请注明出处,谢谢~http://blog.csdn.net/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection
2011-05-12 17:09:00 76504 23
原创 使用Nginx转发真实头信息
<br />使用Nginx作为反向代理服务器的时候会发生这种情况。<br /> <br />客户端请求 -> Nginx转发 -> tomcat服务器<br /> <br /> <br />默认配置的情况下,tomcat服务器拿到的头信息都会变成Nginx服务器代理之后的头信息,例如Host将会变为Nginx服务器的IP。<br /> <br />那么tomcat服务器在分析服务器日志的时候就拿不到真实客户端的ip了。所以需要在nginx配置如下信息。<br /> <br />server_name www
2011-04-20 10:35:00 10934 1
原创 tomcat集群环境下,JSP页面更新同步,页面展示未更新 的问题排查
背景:企业环境下使用域名轮询 + 多台tomcat 来平衡负载,tomcat之间共享数据库,因为没用到session所以并没有做tomcat集群的配置。多个tomcat之间会使用rsync文件同步来同步工程文件,举例说来就是,用一台服务器作为主服务器,一旦主服务器上的jsp文件更新那么会定时同步到其他服务器上去。问题描述:主服务器上jsp页面更新,主服务器访问页面更新生效,从服务器访问页面没有更新。问题猜想1:更新没有生效首先就怀疑页面文件同步出了问题。问题排查1:主从服务器上取下页面文件进行对比,发现页面
2011-04-08 18:41:00 3796
原创 JSP自定义标签的页面解析生命周期及线程安全
问题描述:使用JSP自定义标签时,发现标签内的私有变量在页面第一次请求之后就不会发生变化了。而且不同的页面同样的标签变量值不一样。问题猜想:原以为JSP自定义标签在JSP编译的时候会被new出来,但是看样子JSP在编译的时候用了缓存池来存放解析后的标签的对象。并且这个缓存池针对同一个页面是共享的。问题原因跟踪:查看JSP编译成的servlet代码,发现标签的实例果然不是new出来的,而是这么创建的:com.xxx.tag.XXTag _jspx_th_xxx_005fxx_005f0 = (com.xxx.
2011-03-16 19:37:00 2969
转载 转帖:MySQL锁表机制分析
<br /><br />为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。<br />一、概述<br />MySQL有三种锁的级别:页级、表级、行级。<br />MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level<br />locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁。<br
2011-03-10 16:22:00 1904
原创 MYSQL异常处理日志:主从库同步延迟时间过长的分析
问题描述:程序上表现为对 主库 更新操作之后,从 从库 查询数据没发生改变。怀疑是主从库同步延迟导致。上从库查看主从同步状态,发现Seconds_Behind_Master时间长达一千多秒。正常情况下主从库延时个十几秒还可以容忍,一千多秒显然就有问题了么。。。问题分析:我们在一个MYSQL实例上创建了四五个Database,其中一个Database数据量和压力都比较大,从 从库的processlist可以看到从库在处理日志时经常发生lock的状况,但是lock只是压力大database为何会影响到其他dat
2011-03-10 16:18:00 9830
原创 MYSQL远程访问速度缓慢的解决和分析
<br />问题发生的场景:<br />MYSQL安装在Linux下,本地和远程都有应用访问MYSQL,本地访问MYSQL很流畅,但是远程访问非常之缓慢,基本上到了几分钟才响应的地步。SSH连接稳定,ping了下发现无丢包,排除网络问题。那么可能就是MYSQL的设置问题了。<br /> <br />查阅资料发现可以这么配置:<br /> <br />[mysqld] <br />skip-name-resolve <br /><br />该选项用于禁用DNS解析,连接速度会快很多。不过,这样的话就不能在My
2011-01-25 16:39:00 3910
原创 Tomcat 中响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding 之种种
转帖注明出处谢谢~先说说原理:客户端(PC浏览器或者手机浏览器)在接受到Tomcat的响应的时候,头信息通常都会带上Content-Length ,一般情况下客户端会在接受完Content-Length长度的数据之后才会开始解析。而在Tomcat上,页面处理过程中会将需要out.print的数据都放在缓存中,然后一次性的返回给客户端。另外一种情况就是头信息中不存在Content-Length ,取而代之的是Tansfer-Encoding:chunked ,这个头信息的的意思是response的内容会被To
2011-01-13 17:15:00 24061 2
原创 最全面 Nginx 入门教程 + 常用配置解析
个人整理资料,转帖注明出处,谢谢~Nginx介绍和安装一个简单的配置文件模块介绍常用场景配置进阶内容参考资料== Nginx介绍和安装 ==Nginx是一个自由、开源、高性能及轻量级的HTTP服务器及反转代理服务器,其性能与IMAP/POP3代理服务器相当。Nginx以其高性能、稳定、功能丰富、配置简单及占用系统资源少而著称。Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多.*基础功能 处理静态文件,索引文件以及自动索引; 反向代理加速(无缓
2010-12-23 10:49:00 124034 15
原创 Python Django 第一步:安装配置 windows环境
最近学习Python的开发,先收藏三篇安装入门,有时间补上心得。http://www.ibm.com/developerworks/cn/linux/l-django/http://hi.baidu.com/yobin/blog/item/3c7a39f3f466e555342acc05.htmlhttp://canbeatle.javaeye.com/blog/204739
2010-12-19 13:33:00 1475
转载 MySQL 主从同步操作文档
<br /><br />MySQL 主从同步操作文档<br /> <br />取自 NSOP-WIKI<br /> <br />目录<br /> <br />1 同步原理说明<br />2 同步设置基本步骤(以下设置均涉及my.cnf文件的修改)<br />2.1 设置主服务器:启用bin-log日志、同步帐号<br />2.2 设置从服务器:设置需要同步的内容<br />2.3 拷贝主服务器数据到从服务器<br />2.3.1 方式1:停止主服务器或其中一台从服务器并拷贝数据<br />2.3.2 方式2
2010-11-22 14:52:00 2750
原创 MYSQL 主从库同步 异常处理汇总
经常处理MYSQL的主从库同步异常,现在做个总结。主从库同步失效的原因各种各样,一般都是在从库上不小心执行了写操作,也有可能从库服务器意外重启等等。进入从库执行show slave status/G看到下面两行:Slave_IO_Running: YesSlave_SQL_Run
2010-11-22 14:50:00 2945
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人