Tags:epoll

  • linux下 C++ 使用 epoll 多路复用 实现高性能的tcpserver

    linux系统中,实现socket多路复用的技术有select 、poll 、epoll 等多种方式。这些不同方式个有优缺点和适用场景,这不是本文讨论的重点,又兴趣的可以自己搜索学习一下。

    2022-02-21
  • linux 多线程或多进程 epoll处理 accept 惊群问题

    但是事件只能被一个进程或线程处理,而其他进程(线程)获取失败,只能重新进入休眠状态,这种现象和性能浪费就叫做惊群。因为在Linux 2.6 版本之后,通过引入一个标记位 WQ_FLAG_EXCLUSIVE,解决掉了 Accept 惊群效应。

    2022-02-18
  • 手写基于epoll与reactor的tcp服务器

    前言此文章记录个人学习epoll网络编程相关的心得了解学习epoll如何使用了解reactor反应堆模型了解各类网络模型 若能对读者有以上两个方面有所帮助,这将是我的荣幸前置知识之前我们已经实现过最简单的tcp服务器:https://www...

    2022-02-16
  • 从源码出发搞懂redis网络,你必须知道的一些事

    因为redis 主要是用tcp在传输数据,所以是四层网络。要想一个客户端访问到服务器首先我们得使用socket 开放一个端口,告诉服务器现在这个端口再监听,当客户端访问该端口的时候,socket对应的文件句柄状态会发生改变。

    2021-12-28
  • epoll 详细使用说明

    在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。

    2021-12-25
  • Nginx:epoll红黑树和双向链表如何做到少量拷贝和轮循实现高并发

    不管是从事前端开发人员还是后端开发人员,他们在部署服务时,第一个想到的就是用Nginx做代理和静态资源缓存,因为Nginx经过千锤百炼,足以应对百万并发。答案就在epoll里面。

    2021-12-06
  • Linux内核epoll实现原理与机制

    一、epoll_create()系统调用epoll_create()会创建一个epoll实例并返回该实例对应的文件描述符fd。在内核中,每个epoll实例会和一个struct eventpoll类型的对象一一对应,该对象是epoll的核心,...

    2021-11-22