- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 深度学习Nginx第四章:Nginx与网络事件以及驱动模型
Nginx是一个事件驱动的,主要事件是指网络事件,Nginx每个网络连接自然对应两个网络事件,一个读事件一个写事件。什么是网络事件:应用层发送get请求,传输层主要做一个事情,打开一个端口,把自己端口和nginx端口记录下来,传输层把我们主机ip和目标主机公网ip记录下来,到达链路层通过以太网到我们加的路由器,路由器主要记录我们所在运营商的ip,通过广域网跳转到服务器b的路由器中,...
2019-08-21 10:03:42 854
原创 IO模式和IO多路复用(阻塞IO、非阻塞IO、同步IO、异步IO等概念)
1 基础知识回顾注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~1.1 用户空间和内核空间现在操作系统都采用虚拟寻址,处理器先产生一个虚拟地址,通过地址翻译成物理地址(内存的地址),再通过总线的传递,最后处理器拿到某个物理地址返回的字节。对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访...
2019-08-18 20:26:05 1641 1
原创 Redis网络架构及单线程模型
问题:1.Redis网络层基础组件主要包括哪几部分?2.什么是Redis的单线程模型?3.Redis怎样接收网络连接?Redis网络基础架构网络编程离不开Socket,网络I/O模型最常用的无非是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞,高性能网络服务器最常见的线程模型也就是基于EventLoop模式的单线程模型。我们看看Redis的网络架构是怎么样的:R...
2019-08-18 20:23:47 2552
原创 一些高并发下web服务器http异常状态码分析
环境说明压测工具:apache/abweb服务器:NGINX/1.8.0 + PHP 5.6.25php脚本:get.php注:nignx 设置超时fastcgi_connect_timeout 60fastcgi_send_timeout 60fastcgi_read_timeout 60php-fpm 设置超时request_terminate_timeo...
2019-08-18 20:23:32 1108
原创 多线程还是多进程的选择及区别
1、鱼还是熊掌:浅谈多进程多线程的选择关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好...
2019-08-18 20:22:57 1567
原创 深度学习Nginx第三章:Nginx请求流程和进程结构
学习这方面知识主要解决问题:Nginx一般部署在内网边缘节点,它处理的流量一般比其他应用服务器流量数倍或者数个流量级别,所以在Nginx处理问题,所有问题都会被放大,所以我们要了解为什么要使用master和worker这种架构模型,并且worker必须要和cpu的核数所匹配,当我们在多个worker进程之间共享数据时,为什么在tls或者说限流、限速这些场景共享方式是有所不同的...
2019-08-13 10:16:49 538
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人