`
xupo
  • 浏览: 211863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
NIO,非堵塞IO,通常适用于I/O读写等方面,一般来讲,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()就会一直等下去,这会影响程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。 NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 NioEndpoint就是使用Java中的NIO ...
APR,全称Apache Portable Runtime,使用native server为Tomcat提供更好的伸缩性、更高的性能以及更强的集成能力。APR还是Apache HTTP Server2.x中的核心轻量级库,它可以提供更好的IO功能(如sendfile,epoll和OpenSSL)、OS功能和本地线程管理(共享内存、NT管道和UNIX套接字)。这些都可以使Tomcat变得更通用、更易扩展。 APR运行需要以下3个组件:APR Library、JNI Wapper for APR和OpenSSL Libary。如果以上功能已经安装,Tomcat在启动时会自动使用APR Connect ...
Tomcat中提供了多种处理Socket的实现:JIoEndpoint、AprEndpoint和NioEndpoint。其中JIoEndpoint是最常见的一种实现方式。 JIOEndpoint中的线程有3部分:Socket侦听线程、监控线程和Executor。 Socket侦听线程 该线程由内部类Acceptor实现其Runnable接口,使用JDK的ServerSocket类监听某个端口,当socket连接进来时,构建一个task,交给Executor来处理。 监控线程 该线程由AsyncTimeout实现其Runnable接口,不断遍历Request队列,为Timeout的Request构 ...
1  comm命令 在我们的开发和运营中,特别是对业务进行监控的时候,我们常常需要写一些监控shell脚本,而这些脚本需要求两个文件的共同的记录列表或者只出现在第一个文件但不出现在第二个文件的记录列表的场景,此时,comm ...
一,安装mysql 官网下载: MySQL-server-5.5.31-2.linux2.6.x86_64.rpm MySQL-client-5.5.31-2.linux2.6.x86_64.rpm MySQL-devel-5.5.31-2.linux2.6.x86_64.rpm rpm -ivh ... 3999  05/07/13 16:28:06 /usr/bin/mysqladmin -u root password 'xupo' 4000  05/07/13 16:28:30 /etc/init.d/mysql start 4001  05/07/13 16:28:37 ps ...
项目数据库为MongoDB,分片DB,每个片为一个复制集,每复制集三台DB, 现在需给其中一个复制集增加一台DB,先把用到的资料贴上来,等有时间了再 整理:   Add Members to a Replica Set --Production Notes   If you have a backup or snapshot of an existing member, you can move the data files (i.e. /data/db or dbpath) to a new system and use them to quickly init ...
  MongoDB的Shard集群来说,添加一个分片很简单,AddShard就可以了。 但是缩减集群(删除分片)这种一般很少用到。由于曙光的某服务器又挂了,所以我们送修之前必须把它上面的数据自动迁移到其他Shard上。   1、执行RemoveShard命令 1 db.runCommand( { removeshard: "your_shard_name" } ) 2 3 { msg : "draining started successfully" , state: "st ...
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.apache.org/download.cgi之后如果还有类似问题,请参照文章:http://apr.apache.org/download.cgi并安装如果出现,没有权限访问http:/ip/nagios的 ...
转自:http://www.mzone.cc/article/626.html   通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点。 1、在项目的pom文件中加入如下配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc ...
http://grokbase.com/t/gg/mongodb-user/1266hzp11z/slow-query-hang-all-the-replica Hi! I have a mongodb system with 1 master (v1.8.2) and 1 replica (was v1.8.2 but i've recently upgraded to v2.0.6), both Linux with 4GB RAM, with 1 database with 16 tables but only one is big (442k documents) and is ...
  全文译自墙外文章“NoSQL Data Modeling Techniques”,译得不好,还请见谅。这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉。我的感觉是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,但是 ...
在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。     对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处 ...
http://www.juziblog.com/?p=35003 http://www.cnblogs.com/analyzer/articles/2104109.html
lighttpd 有一个 X-Sendfile 的特性很有意思。比如传统的做一些需要严格验证的下载之类的功能比如收费下载,需要在程序里验证权限,然后由程序读取文件输出,这样性能不好,占用资源也大,而 web server 本身的功能又不足以提供验证。使用 X-Sendfile 就可以让程序来做验证,而把文件传输交给 web server 来做,各自做各自擅长的事情。 本来以为这功能目前就 lighttpd 有,今天发现原来 nginx 也有这能力,apache 也可以通过第三方模块来实现。 nginx 上这个功能叫做 X-Accel-Redirect 。 假设下载文件的路径在 /path/ ...
由于最近在忙于web server的开发,对于静态部分跟动态部分的交互一直迟迟未定,缓冲区大小也一直很头疼,看了下面的这篇文章觉得不错,我还是这样觉得,简单的就是最好的,但并不意味着所有处理都用一种方式,正如我在静态输出的socket buffer上面一样,我是根据请求内容的大小来决定缓冲区分配的,即使这样作在系统内部会形成一次内存拷贝(socket回去处理),但是相对于网络的延迟速度快多了,所以我觉得还是根据不同的内容和大小决定缓冲区大小,既不是lighttpd的照单全收,也不是nginx等的8K绣花,对于接收,首先分配一个2k-8K的缓冲区去收,西一头部接收完毕了就可以知道剩下的conten ...
Global site tag (gtag.js) - Google Analytics