Nodejs有几个特性:异步IO,事件驱动,单线程,跨平台 异步IO可以保证在CPU计算的同时,异步的加载IO,加快了应用的访问。不像传统的服务器是使用什么阻塞IO啊、轮训IO等等,它相当于在发送处理请求时,直接传一个回调函数,当异步的IO结束后,会自动的执行回调。 事件驱动,则是把粒度降低到事件级 ...
分类:
其他好文 时间:
2017-07-27 20:04:53
阅读次数:
122
参考答案:1.gzip压缩优化2.expires缓存优化3.网络IO事件模型优化4.隐藏软件名称和版本号5.防盗链优化6.禁止恶意域名解析7.禁止通过IP地址访问网站。8.HTTP请求方法优化。9.防DOS攻击单IP并发连接的控制,与连接速率控制。10.严格设置Web站点目录的权限。11.将Nginx进程以及站..
分类:
其他好文 时间:
2017-07-07 10:30:26
阅读次数:
327
网络编程的模式分为3种: 1. nginx的全异步方式,使用epoll处理网络数据。对于请求的处理也全然是异步的。不论什么一个请求的处理假设花费了较长时间,那么nginx进程就会被处理操作堵塞,导致无法处理IO事件 2. 简单的一个连接一个线程方案。这样的方案无法处理大量并发的连接。适用mysql这 ...
分类:
其他好文 时间:
2017-04-26 10:11:00
阅读次数:
117
摘要: 在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件。最常见的IO事件即读写事件,那么这个时候就会涉及到IO线程对数据的读写问题,具体到NIO方面即从内核 ...
分类:
Web程序 时间:
2017-04-08 13:32:17
阅读次数:
267
原创,请注明出处:http://www.cnblogs.com/stonehat/p/6286235.html Libevent 是一个事件驱动框架, 不能仅说他是一个网络库。 notejs就是采用与libevent类似的libev来做核心驱动的。 Libevent支持三种事件:io事件、信号事件、 ...
分类:
其他好文 时间:
2017-01-14 22:57:56
阅读次数:
202
常用的几个库: libevent : 名气最大,应用最广泛,历史悠久的跨平台事件库; libev : 较libevent而言,设计更简练,性能更好,但对Windows支持不够好; libuv : 开发node的过程中需要一个跨平台的事件库,他们首选了libev,但又要支持Windows,故重新封装了 ...
分类:
其他好文 时间:
2016-12-08 18:12:22
阅读次数:
222
epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操 ...
分类:
其他好文 时间:
2016-11-04 23:42:04
阅读次数:
335
何为异步IO? (1)几乎可以认为:异步IO就是操作系统用软件实现的一套中断响应系统。(2)异步IO的工作方法是:我们当前进程注册一个异步IO事件(使用signal注册一个信号 SIGIO的处理函数),然后当前进程可以正常处理自己的事情,当异步事件发生后当前进 程会收到一个SIGIO信号从而执行绑定 ...
分类:
其他好文 时间:
2016-10-24 20:25:53
阅读次数:
371
非阻塞服务器模型最重要的一个特点是,在调用读取或写入接口后立即返回,而不会进入阻塞状态。在探讨单线程非阻塞IO模型前必须要先了解非阻塞情况下Socket事件的检测机制,因为对于非阻塞模式最重要的事情是...
分类:
编程语言 时间:
2016-09-18 18:11:56
阅读次数:
152