📜 ⬆️ ⬇️

About network software performance



The final lecture of the course “Network Programming in UNIX”, which was prepared by SkyDNS and Aydeko , turned out to be multifaceted.

The lecture covered two main topics. Mark Korenberg (“Aydeko”) and Alexander Patrakov (SkyDNS) told how simple modifications can speed up the work of the event processing cycle and explain how to use the EPOLLET flag.
')
Students learned how to choose between models based on blocking sockets and on the event loop. They also got an idea of ​​the “hybrid” model, which allows you to “eat” more than 100% of the processor time and at the same time not spend a lot of memory, processing many parallel connections.

This concludes our series of posts on the UNIX Network Programming course. Unfortunately, during the course, not all the planned topics were covered, although the students showed interest in them. Such topics as the organization of transparent proxies, authorization issues, work with SSL, "raw" sockets have remained unread.

With these topics you can familiarize yourself. Alexander recommends reading the following books:

Unix Network Programming: The Sockets Networking Api, Volume 1
Authors: W. Richard Stevens, Bill Fenner, Andrew M. Rudoff

TCP / IP Illustrated series
Authors: W. Richard Stevens, Gary R. Wright

Applied Cryptography
Posted by: Bruce Schneier

Cryptography and Network Security Principles and Practices
by William Stallings

It should be understood that not all network programming issues are fundamental. Issues such as organizing transparent proxies and changing network adapter settings are too specific for a specific operating system and therefore are not “bookish” material. Information on such issues is better to get from the man-pages.

We are waiting for your questions on the whole course "Network Programming in UNIX". Our experts are ready to answer them in the group dedicated to the course.



Slides are available here .

Previous lectures:
1. A course for those who are not afraid of UNIX and C
2. Each client in the process
3. Implement the protocol or how astrologers work
4. How to read to the end
5. Automata-style programs - translation difficulties
6. How to do several things at the same time and at the same time in turn?
7. Effective reading
8. How to make the program impatient?
9. How to solve the problem of 10,000 connections?

Source: https://habr.com/ru/post/147086/


All Articles