首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux高性能服务器编程》学习小结3

> 10.194.70.79 13579 5 配置文件第一行指定 荷载均衡服务器监听...socket的ip4地址和端口号; 下面的每一个logical指定一个实际运行着的服务器,如前面小结1 2 中所述的多进程或者多线程服务器;三个字段分别指定:服务器的ip4地址,服务器服务端口,以及进程池中的进程与这个服务器保持多少个连接...bool m_srv_closed; }; 每个子进程与实际处理业务的服务器所保持的连接,都对应一个conn类,它负责维持客户端 同 子进程 以及 子进程 同 服务器之间的数据转发,子进程只做一个数据的搬运工...OK : NOTHING; } // 把从客户端读取的数据发送给服务器端 RET_CODE conn::write_srv() { int bytes_write = 0; while...最后感谢 游双 的《Linux高性能服务器编程

3.1K10

Linux高性能服务器编程》读书笔记:linux服务器程序规范

服务器程序规范,需要强化和遵守的,作者给列了4条规范: 1、Linux服务器程序一般以后台进程形式运行,也就是以daemon守护进程的方式,守护进程的父进程通常是init进程(PID进程为1),作者在7.6...后台进程形式运行,也就是通过fork一个子进程,结束父进程的方式运行,这样避免很多前台启动,随着操作终端界面的关闭而结束服务器程序的运行; Linux服务器程序的用户信息也是容易忽略和出问题的地方,UID...2、Linux服务器程序通常有一套日志系统,至少能输出日志到文件,有的高级服务器还能输出日志到专门的UDP服务器,大部分后台进程都在/var/log目录下拥有自己的日志目录。...,系统响应缓慢的事故; 3、Linux服务器程序通常是可配置的,通常能处理很多命令行选项,如果一次运行的选项太多,则可以用配置文件进行管理。...通过使用ulimit命令修改当前shell环境下的软限制或者硬限制,这种修改对该shell启动过的所有后续程序有效,也可以通过修改配置文件来改变系统软限制和硬限制,并且是永久的,比如ulimit: 修改Linux

1.1K20

开源软件实践之linux高性能服务器编程框架和选型

很多人学习编程技术一般都通过一本编程语言的入门书籍,然后尝试做一些例子和小项目。...我目前就正在做这样一件事情,我选择的是实现一个类似nginx的高性能http服务器。...说了这么多一点儿也没有和标题扯上关系,今天就是为我这个开源软件写的第一个博客,实现一个高性能的网络服务器的第一个就需要选择一个很好的高性能编程框架,今天就分析这个,这个也算自己开始前的准备,学习高性能服务器编程框架...:       网络服务器编程步骤就不需要多介绍了,有网络编程知识的都很清楚。...首先对网络服务器组成的基本软件模块做一个简单的说明,如下表: 服务器基本软件模块 模块 单机 集群 I/O处理单元 处理客户端连接,读写网络数据 作为介入服务器,实现负载均衡 逻辑单元 业务进程或者线程

1.5K50

Linux高性能server规划——多进程编程

大家好,又见面了,我是全栈君 多进程编程 多进程编程包含例如以下内容: 复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。...socket编程接口提供了一个创建全双工管道的系统调用:socketpair。 信号量 当多个进程表同一时候訪问系统上的某个资源的时候,比方同一时候写一个数据库的某条记录,或者同一时候改动某个文件。...Linux共享内存的API都定义在sys/shm.h头文件里,包含4个系统调用:shmget、shmat、shmdt和shmctl。...如今在Linux中,等于一个内存页大小,SHM_RND的含义是将共享内存被关联的地址向下圆整到离shm_addr近期的SHMLBA的证书倍地质处。...Linux提供了第二种利用mmap在无关进程之间共享内存的方式。这样的方式无须不论什么文件的支持。

1.5K20

Linux编程(云端服务器

通常,我们在学习嵌入式的时候,需要在本地搭建一个交叉开发环境,一般就是使用VMware创建一台虚拟机,然后在虚拟机里面安装Ubuntu/Linux系统。...但有时我们希望直接使用Ubuntu/Linux系统而不需要经过虚拟机,这该怎么办呢?...至少有两种办法,可以使得我们不需要虚拟机,就可以进行Linux开发,甚至是搭建嵌入式交叉编译环境,一种是使用云端服务器,一种是使用windows下的GNU工具包。本文讨论第一种情况。...使用云端服务器,可以快捷地构建Linux环境,以阿里云为例子,登录阿里云的官网www.aliyun.com,然后选择ECS,然后就可以根据需要来配置你的云端服务器了,以Ubuntu为例。...第一步,选择距离最近的服务器所在地域。 ? 第二步,选择经典网络。

9.2K20

服务器开发必读书籍

一、算法基础系列 数据结构基础(C语言版)》朱仲涛 译 《剑指Offer》 《编程之美》 《编程珠玑》 《CareerCup-Top 150 Questions 4th》 《[算法导论]....c++》 《C++语言99个常见编程错误》 《c++沉思录》 《c++ 编程剖析-问题、方案和设计准则》刘未鹏译 《提高C++性能的编程技术》左飞 《STL 源码剖析》 六、LINUX系列 《鸟哥的LINUX...私房菜基础篇》 《鸟哥的LINUX私房菜服务器架设篇》 《Linux程序设计》马修 《UNIX 环境高级编程》 《Linux内核设计与实现》 《Linux内核完全注释(修正版v3.0)》 《Unix 编程艺术...》 七、LINUX 工具系列 《VIM中文手册》 《轻松学用linux shell编程》 《Linux命令、编辑器与Shell编程》 / (美) Mark G....Sobell著; 杨明军, 王凤芹译 八、多线程编程系列 《多核多线程编程》 《LINUX 多线程服务器编程 九、其它辅助系列 《处理器架构》 《英特尔平台编程》 《深入理解计算机系统》 《深入浅出设计模式

1.9K20

linux服务器开发三(网络编程) --一

网络应用程序设计模式C/S模式 传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。...3、客户必须再次回应服务器端一个ACK报文,这是报文段3。 客户端发出段3,对服务器的连接请求进行应答,确认序号是8001。...2、服务器发出段8,应答客户端的关闭连接请求。 3、服务器发出段9,其中也包含FIN位,向客户端发送关闭连接请求。 4、客户端发出段10,应答服务器的关闭连接请求。...建立连接的过程是三方握手,而关闭连接通常需要4个段,服务器的应答和关闭连接请求通常不合并在一个段中,因为有连接半关闭的情况,这种情况下客户端关闭连接之后就不能再发送数据给服务器了,但是服务器还可以发送数据给客户端...,直到服务器也关闭连接为止。

1.8K130

(linux性能)高性能Linux服务器构建实战:运维监控、性能调优与集群应用

CPU:可能出现CPU瓶颈的应用有邮件服务器、动态web服务器 image.png 内存:打印服务器、数据库服务器、静态web服务器 磁盘IO:raid 网络带宽 raid划分的取舍 image.png...image.png oracle数据库,需要对kernel.shmmax shmmni shmall sem fs.file-max优化 web应用服务器,需要net.ipv4.ip_local_port_range...swap in out 磁盘:好:iowait%=50 静态web:一般用nginx 或apache,如果要加速,在前端再加上缓存服务器...这种服务器更需要的内存,主要关注内存的使用情况,如果swap使用过高,磁盘IO的使用也会增高,CPU也 动态web:需要配置较大的CPU和内存,如果频繁读写数据库,可以在中间架设memcached

1.6K10

muduo源码分析

Reactor模式也是目前大多数Linux高性能网络编程框架和网络应用所选择的主要架构,例如内存数据库Redis和Java的Netty库等。...的《Linux多线程服务器编程》一书对muduo整个架构进行了非常详尽的介绍和分析,可以说是学习muduo源码和设计理念最好的资料了。这本书也非常推荐大家购买阅读,感觉是后台开发的必读书目了。...muduo的架构和概念 muduo中类的职责和概念划分的非常清晰,在《Linux多线程服务器编程》一书的6.3.1章节有详细的介绍。...认为,TCP网络编程的本质是处理三个半事件,即: 连接的建立 连接的断开:包括主动断开和被动断开 消息到达,文件描述符可读。...参考 《Linux多线程服务器编程》 Scalable IO in Java

2.1K51

呕心沥血一个月,为小白新手准备的CC++ Linux求职版学习路线

1、两本必看的书、一本选看的书 学习C/C++ Linux相关的网络编程,必看的两本书分别是《TCP/IP 网络编程》和《Linux高性能服务端编程》。...公众号后台回复”阿秀笔记“,即可获得我以前收集的《Linux高性能服务端编程》对应的源码文件了 还有一本选看的书,是北师大硕老师的《Mudo:Linux 多线程服务端编程》。...2、选看的一个视频 硕老师以前也在博览网录制了一个跟《Mudo:Linux 多线程服务端编程》配套的视频。 硕老师的视频,公众号后台回复”“即可领取。...3、一个付费专栏 如果你自学能力比较强,能够按照安心啃下来《TCPIP网络编程》和《Linux高性能服务端编程》这两本书也可以。...》和《Linux高性能服务端编程》这两本书汇总最主要的一些知识点都覆盖到了,质量还不错。

1.4K11

concurrent overview

处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。...Linux 上目前没有像 IOCP 这样的成熟异步 IO 实现。 协程 开销小 需要自己实现调度器 全异步模型是性能最好,同时也是开发难度最高的模型。...为了追求更好的性能,许多语言例如C++,C#,GO,nodejs,python都尝试简化此模型的编程,推出了支持异步编程的语言特性。...promise C#的async/await GO的goroutine nodejs的Promise=>generator=>async/await python的yield 在这些特性的支持下,全异步编程可以做到与同步编程非常接近...挖坑 golang的调度 附: 阻塞非阻塞与同步异步的区别 先说结论 阻塞非阻塞 都是 同步io 不需要用户态进程任何阻塞的才是 异步IO 这里参考 的回答: 怎样理解阻塞非阻塞与同步异步的区别?

46620

(八)高性能服务器架构设计总结2——以flamigo服务器代码为例

系列目录 第01篇 主线程与工作线程的分工 第02篇 Reactor模式 第03篇 一个服务器程序的架构介绍 第04篇 如何将socket设置为非阻塞模式 第05篇 如何编写高性能日志 第06篇 关于网络编程的一些实用技巧和细节...第07篇 开源一款即时通讯软件的源码 第08篇 高性能服务器架构设计总结1 第09篇 高性能服务器架构设计总结2 第10篇 高性能服务器架构设计总结3 第11篇 高性能服务器架构设计总结4 说了这么多...flamingo的网络框架是基于的muduo库,改成C++11的版本,并修改了一些bug。在此感谢原作者。...第04篇 如何将socket设置为非阻塞模式 第05篇 如何编写高性能日志 第06篇 关于网络编程的一些实用技巧和细节 第07篇 开源一款即时通讯软件的源码 第08篇 高性能服务器架构设计总结1 第09...篇 高性能服务器架构设计总结2 第10篇 高性能服务器架构设计总结3 第11篇 高性能服务器架构设计总结4

94510
领券