自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 Tomcat源码之NioEndpoint

NIO,非堵塞IO,通常适用于I/O读写等方面,一般来讲,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()就会一直等下去,这会影响程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。NIO非堵塞技术实际是采取Reactor模式,或者说是O...

2014-06-23 19:56:58 238

原创 Tomcat源码之AprEndpoint

APR,全称Apache Portable Runtime,使用native server为Tomcat提供更好的伸缩性、更高的性能以及更强的集成能力。APR还是Apache HTTP Server2.x中的核心轻量级库,它可以提供更好的IO功能(如sendfile,epoll和OpenSSL)、OS功能和本地线程管理(共享内存、NT管道和UNIX套接字)。这些都可以使Tomcat变得更通用、更易...

2014-06-23 19:56:28 282

原创 Tomcat源码之JIoEndpoint

Tomcat中提供了多种处理Socket的实现:JIoEndpoint、AprEndpoint和NioEndpoint。其中JIoEndpoint是最常见的一种实现方式。JIOEndpoint中的线程有3部分:Socket侦听线程、监控线程和Executor。Socket侦听线程该线程由内部类Acceptor实现其Runnable接口,使用JDK的ServerSocket类监听某个端口...

2014-06-23 19:55:34 172

原创 common命令备忘

1 comm命令在我们的开发和运营中,特别是对业务进行监控的时候,我们常常需要写一些监控shell脚本,而这些脚本需要求两个文件的共同的记录列表或者只出现在第一个文件但不出现在第二个文件的记录列表的场景,此时,comm命令则是您解决此类问题的利器和助手。 随意man comm下,可以在linux下看到该命令的使用方法:NAME comm - compare t...

2013-05-22 14:49:39 316

原创 reviewboard安装记录

一,安装mysql官网下载:MySQL-server-5.5.31-2.linux2.6.x86_64.rpmMySQL-client-5.5.31-2.linux2.6.x86_64.rpmMySQL-devel-5.5.31-2.linux2.6.x86_64.rpmrpm -ivh ...3999 05/07/13 16:28:06 /usr/bin/m...

2013-05-07 20:11:34 176

原创 MongoDB线上服务器增加节点

项目数据库为MongoDB,分片DB,每个片为一个复制集,每复制集三台DB,现在需给其中一个复制集增加一台DB,先把用到的资料贴上来,等有时间了再整理: Add Members to a Replica Set --Production Notes If you have a backup or snapshot of an existing member, y...

2012-11-22 22:37:30 571

原创 从mongodb移除分片

 MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。 1、执行RemoveShard命令1db.runCommand( { removeshard: "your_shard_name" } )...

2012-11-15 19:43:09 244

原创 nagios监控配置

1. 下载nagios相关包:http://www.nagios.org/download中的core, pluginshttp://www.nagios.org/download/addons/中的nrpe2. apache相关包http://httpd.apache.org/download.cgi#apache24如果出现安装过程中apr包版本不正确的错误,下载:http://apr.apa...

2012-11-15 19:40:01 157

原创 基于maven2打包不同jdk版本的包

转自:http://www.mzone.cc/article/626.html 通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点。1、在项目的pom文件中加入如下配置 <project xmlns="http://maven.apache.org/PO...

2012-09-20 17:03:27 98

原创 MongoDB疑难问题解决

http://grokbase.com/t/gg/mongodb-user/1266hzp11z/slow-query-hang-all-the-replicaHi!I have a mongodb system with 1 master (v1.8.2) and 1 replica (wasv1.8.2 but i've recently upgraded to v2.0.6), ...

2012-08-30 14:23:13 133

原创 NoSQL 建模技术(转载)

 全文译自墙外文章“NoSQL Data Modeling Techniques”,译得不好,还请见谅。这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉。我的感觉是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,但是牺牲了很多别的东西。总体来说,我觉得NoSQL更适合做Cache。下面是正文——NoSQL 数据库经常被用作很多非功能性的地方,如,扩...

2012-07-01 12:01:41 156

原创 Too many open files 问题的解决

在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。    对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many ...

2012-02-24 14:11:24 103

原创 Python-memcached的基本使用

http://www.juziblog.com/?p=35003http://www.cnblogs.com/analyzer/articles/2104109.html

2012-02-10 14:20:36 97

原创 Nginx与sendfile

lighttpd 有一个 X-Sendfile 的特性很有意思。比如传统的做一些需要严格验证的下载之类的功能比如收费下载,需要在程序里验证权限,然后由程序读取文件输出,这样性能不好,占用资源也大,而 web server 本身的功能又不足以提供验证。使用 X-Sendfile 就可以让程序来做验证,而把文件传输交给 web server 来做,各自做各自擅长的事情。本来以为这功能目前就 lig...

2011-11-15 10:04:44 143

原创 (转载)web服务器比较Apache Nginx lighttpd HAProx Litespeed 缓冲原理解析fastcgi性能 ...

由于最近在忙于web server的开发,对于静态部分跟动态部分的交互一直迟迟未定,缓冲区大小也一直很头疼,看了下面的这篇文章觉得不错,我还是这样觉得,简单的就是最好的,但并不意味着所有处理都用一种方式,正如我在静态输出的socket buffer上面一样,我是根据请求内容的大小来决定缓冲区分配的,即使这样作在系统内部会形成一次内存拷贝(socket回去处理),但是相对于网络的延迟速度快多了,所以...

2011-11-15 10:03:23 172

原创 Nginx深入分析

nginx反向代理异步传输模式(原理)参考文章:http://wenku.baidu.com/view/fef7ac6d1eb91a37f1115cb3.html来讲解下传统的代理(apache/squid)的同步传输和nginx的异步传输的差异。看图:squid同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道。在请求发起直到请求完成,这条通道都是...

2011-11-15 10:01:28 318

原创 缓存研究之Xmemcached

1 简介Xmemcached是一个高性能的基于java nio的memcached客户端。在经过三个RC版本后,正式发布1.10-final版本。xmemcached特性一览:1、高性能2、支持完整的memcached文本协议,二进制协议将在1.2版本实现。3、支持JMX,可以通过MBean调整性能参数、动态添加/移除server、查看统计等。4、支持客户端统计5、支持memcached节点的...

2011-11-15 09:37:03 99

原创 缓存研究

参考文章:http://www.doc88.com/p-70821145680.htmlhttp://www.doc88.com/p-18360796408.htmlhttp://www.doc88.com/p-39322208084.htmlhttp://www.doc88.com/p-04069488148.htmlhttp://topmanopensource.iteye...

2011-11-15 09:27:01 88

原创 BitNami Stack之一redmine安装及修改

公司要求在redmine基础上开发FaceProject下载bitnami-redmine-1.2.1-1-linux-installer.bin后安装倒不麻烦,麻烦的是安装成功后如何改成FaceProject,之前在windows 上修改过,现在又要在linux上修改,额滴神,为了下次再做类似的事时不再忘记,特意写到博客上做个备忘。在windows上需要修改的有/BitN...

2011-10-26 17:22:44 457

原创 淘宝网产品分类研究

  选择运动服/运动包/颈环配件,AJAX请求URL:http://api.taobao.com/apitools/ajax_props.do?cid=50011699&act=childCid&restBool=true返回:{"itemcats_get_response":{"item_cats":{"item_cat":[{"cid":50013228,"is_par...

2011-10-11 11:58:25 400

原创 关于Java反射破坏封装的问题

今天看ITEYE,一片关于Java反射破话封装的问题,摘录如下:一般情况下,我们并不能对类的私有字段进行操作,利用反射也不例外,但有的时候,例如要序列化的时候,我们又必须有能力去处理这些字段,这时候,我们就需要调用AccessibleObject上的setAccessible()方法来允许这种访问,而由于反射类中的Field,Method和Constructor继承自AccessibleObj...

2011-09-26 11:54:19 553

原创 eclipse+radrails+bitnami-rubystack+DevKit+rubydebug构建 ruby on rails 开发环境

2011-07-20 15:31目前 ror IDE开发环境有很多,比如netbeans、radrails、rails3、ruby in steel等,个人比较喜欢eclipse,所以介绍下集成环境。首先要准备的几个需要下载的软件有eclipse(http://www.eclipse.org/downloads/packages/eclipse-classic-37/indi...

2011-09-19 17:15:23 147

原创 ruby小记

apache port 8011mysql port 3316

2011-09-19 16:33:03 55

原创 人力资源的一点看法

   “21世界最贵的是什么?”“人才!”相信葛大叔的经典语录大家都听过。具体现实中,我们发现以前的"招工"换成了“诚聘英才”,“人事部”换了个招牌,也叫“人力资源部”了,新闻上也时不时听说“中国的人力成本优势正在下降。”就是说人才贵了啊。   人力资源,其重音在后,说明其重在“资源”二字,而资源一般就隐含着某种稀缺的含义,比如石油资源,水资源,稀土资源等等。企业之间的人才竞争是否真的到了如某些媒...

2011-08-26 11:01:57 111

原创 JAVA Web项目开发乱码问题备忘

每次做中文项目时,必定会遇到的一个问题,就是中文显示乱码问题,每次的解决方式都不太相同。这次将GK项目过程中遇到乱码问题及解决方式记录下来,以备忘。乱码的可以有多个环节,如页面提交到tomcat乱码,tomcat到数据库乱码,数据库提取显示乱码。一、页面提交到tomcat乱码解决方法是在tomcat/conf/server.xml中进行配置,以tomcat6.0.32为例,需将以下代码:&...

2011-07-29 16:25:02 86

原创 64位linux(Redhat5)安装ImageMagick, JMagick过程记录

 检查一些依赖包的安装,通过yum来安装,如果Redhat5无法用yum,参考本人的另一篇文章:RHEL5 利用 CentOS的yum 安装openssl gc++及Nginx1.确保系统已经安装以下包:# yum install libjpeg # yum install libjpeg-devel # yum install libpng # yum install lib...

2011-07-28 17:12:22 113

原创 linux下安装memcached

 1.从http://www.monkey.org/~provos/libevent/下载最新版libevent(libevent-2.0.12-stable.tar.gz)2.安装libevent#tar zxvf libevent-2.0.12-stable.tar#cd libevent-2.0.12-stable#./configure#make#make inst...

2011-07-27 10:49:29 56

原创 tomcat6下布署网站的一点小问题

将原来tomcat5.5.29上的网站部署到tomcat6.0.32是,有时会因为el的jar包冲突导致无法运行:出错信息类似:java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExp...

2011-07-25 12:04:37 69

原创 64位linux(Redhat5)安装Mysql5.5.14过程记录

通过配置将Redhat使用CentOS的yum库。从拖管方那拿到服务器后发现里面已经存在了数据库,但是通过rpm -qa | grep mysql却无法找到已经安装的数据库通过find / -name mysql 发现如下结果:[root@HOHO ~]# find / -name mysql/usr/local/mysql/usr/local/mysql/include/...

2011-07-20 11:45:42 99

原创 RHEL5 利用 CentOS的yum 安装openssl gc++及Nginx

1.确保RHEL5中已经安装了yum[root@xupo~]# rpm -qa |grep yum2.修改源配置文件 #vim /etc/yum.repos.d/CentOS-Base.repo[base]name=CentOS-5-Base#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$...

2011-04-12 16:17:05 171

原创 用URL重写来实现会话管理

通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话。如果浏览器不支持 cookies,或者将浏览器设置为不接受 cookies,我们可以通过 URL 重写来实现会话管理。    实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 serv...

2011-04-11 11:02:26 131

原创 图片服务器分离优化及IE测试结果

 Internet Explorer 浏览器在同一时刻只能从同一域名下载两个文件。至于原因请见 MSDN Blogs:《Internet Explorer and Connection Limits》,如何解除限制请见微软客户帮助与支持主页:《如何将 Internet Explorer 配置为可以同时进行两个以上的下载会话》。百度、新浪、雅虎等网站采用了同一组图片服务器,使用多个二级域名的方式来解...

2011-04-02 15:24:39 102

C3PO Exception - CLOSE BY CLIENT

We are running a standalone application with Spring. We use a MySQL database. The datasource that has been configured is the "com.mchange.v2.c3p0.ComboPooledDataSource" from C3PO At regular interval :...

2011-04-01 17:42:27 167

原创 JAVA实现与Linux通信(通过SSH协议)

使用InputStream和OutputStream来获得命令行运行结果和输入内容是首先需要具备的.然后要解决SSH连接问题.在OpenSource项目里找到了Ganymed SSH-2 for Java .下载后有例子,但是没有找到有关交互命令的例子.所以自己探索了一下在网上看有老外讨论用这个如何改密码,基本上的问题都是因为找不到返回的提示Linux修改密码输入passwd后,...

2011-03-24 14:47:17 362

原创 服务器相关配置备忘

JDK安装配置 1、下载jdk,本例使用jdk-6u18-linux-i586.bin下载页面:http://java.sun.com/javase/downloads/index.jsp 2、使jdk-6u18-linux-i586.bin 具有执行权限chmod +x jdk-6u18-linux-i586.bin 3、安装jdk (根据提示一步步安装)./jdk-6u18-lin...

2011-03-11 10:28:26 87

原创 MySQL数据库表的主键到底是用GUID好,还是INT好?

待补充  两遍对比的文章:http://krow.livejournal.com/497839.html  http://www.mysqlperformanceblog.com/2007/03/13/to-uuid-or-not-to-uuid/ CREATE TABLE Test_Guid(Guid varchar(50) not null,TestId int n...

2011-02-10 15:26:50 1472

原创 Hibernate C3P0 Maven 配置

 pom.xml中增加:<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <versi...

2011-02-10 14:55:32 293

Hibernate连接数据库超时设置autoReconnect=true

 Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 43,369,020 milliseconds ago. The last packet sent successfully to the ser...

2011-02-06 09:56:00 127

原创 MySQL federated引擎试验(转自david_yeung 的BLOG )

如果写的不对的地方,欢迎各位提意见。可以在数据非常大的时候起到分发表或者库到不同的服务器。减少每个服务器的IO。首先看看有没有federated 引擎。mysql> show engines;+------------+----------+----------------------------------------------------------------+| Engine   ...

2011-01-10 15:25:34 80

原创 用blazeDS实现推技术

http://blog.csdn.net/yangyawen/archive/2009/09/19/4570766.aspx http://xianzhideng.iteye.com/blog/524297 http://www.alisdn.com/wordpress/?p=578

2010-11-11 10:37:05 89

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除