• Php7 install event extension


    Libevent is a lightweight open-source high-performance I / O framework written in C language, which supports a variety of I / O multiplexing technologies: epoll, poll, dev / poll, select and kqueue; supports I / O, timer and signal events; registers event priority. PHP provides the corresponding extension libevent and event. Compared with libevent ext, […]

  • [business learning] analysis of the way to improve the performance of server concurrent IO — from the basis of network programming to epoll


    baiyan From the basic concept of network programming We often use HTTP protocol to transmit data of various formats. In fact, the bottom layer of HTTP application layer protocol is based on TCP protocol of transmission layer. TCP only treats these data as a series of meaningless data streams. Therefore, we can say:The client and […]

  • Deep analysis of source code for building native network model with go netpol I / O multiplexing


    original text Deep analysis of source code for building native network model with go netpol I / O multiplexing introduction Go builds a simple and high performance native network model based on I / O multiplexing and goroutine (I / O multiplexing based on gonetpoll), providesgoroutine-per-connectionSuch a simple network programming mode. In this mode, developers […]

  • Use of epoll


    # There are many applications of epoll. Nginx, tornado and even Ctrip all have something to do with it. So take advantage of the boring event of unemployment, learn from the basics, and understand the usage of epoll Epoll’s API in Python Python includes an API to access the Linux epoll library. This article uses […]

  • IOLoop for tornado source code parsing


    0. introduction Tornado is a web server and web application framework written in Python language. It is used by FriendFeed Company in its own website FriendFeed. After being acquired by Facebook, the framework is open to the public in the form of open source software. Tonado’s biggest feature is its support for asynchronous IO, so […]

  • Using sigprocmask and sigpending to capture and process signals in the program body


    Recently trying to useepollWrite a similarlibeventThe library. So, how to add the observation of signal events in event loop like libevent?I checked the information. One possible way is to use it.sigprocmask()And related functions have been realized. But please note that this method is defective. Please look out to the officials.After further research, the individual does […]

  • Using io_uring instead of epoll to realize high-speed polling


    As mentioned in the previous articleio_uringIt’s the latest native asynchronous I/O implementation in Linux, in factio_uringIt also supports polling and is a good alternative to epoll. API Useio_uringIt’s easy to poll an fd. First initialize io_uring object (io_uring_queue_init) and get SQE (io_uring_get_sqe) as allio_uringOperations are necessary, as described above, there is no much explanation here. […]

  • Epoll, Level Triggered and Edge Triggered


    I am ignorant and have never understood these concepts. Today, I heard from my colleagues, so I searched online. First isepollFrom the Linux mailing list, you can find this article: sys_epoll-making poll fast Then it’s aboutEdge-TriggeredIntroduction and Questions: Edge-triggered interfaces are too difficult? epollAt first only Edge Triggered API (ET API) was available, because it […]

  • In-depth analysis of epoll


    Deficiencies of select In IO multiplexing, select (poll) has many limitations. Many people say that the disadvantage of select is that in the Linux kernel, the FD_SET used by select is limited (there is a parameter in the kernel _FD_SETSIZE that defines the number of handles per FD_SET). But the more important shortcomings can not […]