![](https://habrastorage.org/getpro/habr/post_images/6ea/62c/2b7/6ea62c2b7a1783c614d87c567eb4ed3d.jpg)
10 приёмов работы в терминале Linux, о которых мало кто знает
![](https://habrastorage.org/getpro/habr/post_images/6ea/62c/2b7/6ea62c2b7a1783c614d87c567eb4ed3d.jpg)
DevOps, Network, Linux\Unix
Привет всем! Меня зовут Сергей Камардин, я программист команды Почты Mail.Ru.
Это статья о том, как мы разработали высоконагруженный WebSocket-сервер на Go.
Если тема WebSocket вам близка, но Go — не совсем, надеюсь, статья все равно покажется вам интересной с точки зрения идей и приемов оптимизации.
Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.