Nginx("engine x")是俄罗斯人Igor Sysoev(伊戈尔·塞索耶夫)编写的一款高性能的HTTP和反向代理服务器。Nginx能够选择高效的epoll(Linux2.6内核)、kqueue(FreeBSD)、eventport(Solaris 10)作为网络I/O)模型,在高连接并发的 ...
分类:
其他好文 时间:
2016-12-23 00:48:45
阅读次数:
197
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输。本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法。 几周前,我们在《https大势已来?看腾讯专家如何在高并发压测中支持https》中介绍了腾讯WeTest在基于epoll的高并发 ...
分类:
移动开发 时间:
2016-12-21 20:54:07
阅读次数:
318
1配置nginx工作进程的数量(nginxworker)进程数nginx_processesauto;2开启nginx利用多核couworker_cpu_affinityauto;3更改worker进程可打开的文件最大数worker_rlimit_nofile65535events模块1使用epoll模型useepoll2设置每个worker进程并发处理的最大连接数worker_connections6..
分类:
其他好文 时间:
2016-12-20 21:18:30
阅读次数:
138
1、同步阻塞迭代模型
同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd);
listen(srvfd);
for(;;)
{
clifd = accept(srv...
分类:
其他好文 时间:
2016-12-17 14:32:39
阅读次数:
225
nginxNginx(engineX)是一个高性能的HTTP服务器和反向代理服务器,这款软件开发的目的是为了解决C10k问题。Nginx的架构利用了许多现代操作系统的特性,以实现一个高性能的HTTP服务器。例如在Linux系统上,Nginx使用了epoll,sendfile,FileAIO,DIRECTIO等机制,使得Nginx不仅性..
分类:
其他好文 时间:
2016-12-10 23:16:05
阅读次数:
287
WeTest 导读 用epoll编写一个高并发网络程序是很常见的任务,但在epoll中加入ssl层的支持则是一个不常见的场景。腾讯WeTest服务器压力测产品,在用户反馈中收到了不少支持https协议的请求。基于此,本文介绍了在基于epoll的高并发机器人框架中加入openssl,实现对https支 ...
分类:
Web程序 时间:
2016-12-06 20:08:54
阅读次数:
233
??
1、基本知识
epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述...
分类:
其他好文 时间:
2016-12-06 14:39:46
阅读次数:
228
上一篇文章中,谈了一些网络编程的基本概念。在现实使用中,用的最多的就是I/O复用了,无非就是select,poll,epoll 很多人提到网络就说epoll,认为epoll效率是最高的。单纯的这么认为,其实有失偏颇。epoll固然高效,可是它是怎么做到高效的,它到底比select或poll优异在哪儿 ...
分类:
其他好文 时间:
2016-12-01 01:41:44
阅读次数:
184
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/异步主要针对C端: 同步: 所谓同步,就是在c端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下 ...
分类:
其他好文 时间:
2016-11-28 23:40:06
阅读次数:
253
1. 内核中提高I/O性能的新方法epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。要使用epoll只需要这三个系统调 用:epoll_create(2), epoll_ctl(2), epoll_wait(2)。当然,这不是2.6内核才有的,它是在 2.5 ...
分类:
其他好文 时间:
2016-11-24 14:08:24
阅读次数:
226