设为首页 收藏本站
查看: 1397|回复: 1

[经验分享] Linux高性能服务器编程

[复制链接]

尚未签到

发表于 2015-3-8 15:51:05 | 显示全部楼层 |阅读模式
《Linux高性能服务器编程》基本信息作者: 游双出版社:机械工业出版社ISBN:9787111425199上架时间:2013-5-30出版日期:2013 年6月开本:16开页码:1版次:1-1所属分类:计算机 > 操作系统 > Linux DSC0000.jpg 更多关于 》》》《Linux高性能服务器编程》内容简介计算机书籍  《linux高性能服务器编程》是linux服务器编程领域的经典著作,由资深linux软件开发工程师撰写,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐释了编写高性能linux服务器应用的方法、技巧和思想。不仅理论全面、深入,抓住了重点和难点,还包含两个综合性案例,极具实战意义。   全书共17章,分为3个部分:第一部分对linux服务器编程的核心基础——tcp/ip协议进行了深入的解读和阐述,包括tcp/ip协议族、tcp/ip协议,以及一个经典的tcp/ip通信案例;第二部分对高性能服务器编程的核心要素进行了全面深入的剖析,包含linux网络编程api、高级i/o函数、linux服务器程序规范、高性能服务器程序框架、i/o复用、信号、定时器、高性能i/o框架库libevent、多进程编程、多线程编程、进程池和线程池等内容,原理、技术与方法并重;第三部分从侧重实战的角度讲解了高性能服务器的优化与监测,包含服务器的调制、调试和测试,以及各种实用系统监测工具的使用等内容。   《linux高性能服务器编程》另外免费赠送一个负载均衡服务器程序的完整实际项目的源代码!目录《linux高性能服务器编程》前言第一篇 tcp/ip协议详解第1章 tcp/ip协议族 / 21.1 tcp/ip协议族体系结构以及主要协议 / 21.1.1 数据链路层 / 21.1.2 网络层 / 31.1.3 传输层 / 41.1.4 应用层 / 51.2 封装 / 61.3 分用 / 71.4 测试网络 / 81.5 arp协议工作原理 / 91.5.1 以太网arp请求/应答报文详解 / 91.5.2 arp高速缓存的查看和修改 / 101.5.3 使用tcpdump观察arp通信过程 / 101.6 dns工作原理 / 121.6.1 dns查询和应答报文详解 / 121.6.2 linux下访问dns服务 / 141.6.3 使用tcpdump观察dns通信过程 / 15.1.7 socket和tcp/ip协议族的关系 / 16第2章 ip协议详解 / 172.1 ip服务的特点 / 172.2 ipv4头部结构 / 182.2.1 ipv4头部结构 / 182.2.2 使用tcpdump观察ipv4头部结构 / 202.3 ip分片 / 212.4 ip路由 / 222.4.1 ip模块工作流程 / 232.4.2 路由机制 / 242.4.3 路由表更新 / 252.5 ip转发 / 252.6 重定向 / 262.6.1 icmp重定向报文 / 262.6.2 主机重定向实例 / 272.7 ipv6头部结构 / 272.7.1 ipv6固定头部结构 / 282.7.2 ipv6扩展头部 / 29第3章 tcp协议详解 / 303.1 tcp服务的特点 / 303.2 tcp头部结构 / 323.2.1 tcp固定头部结构 / 323.2.2 tcp头部选项 / 333.2.3 使用tcpdump观察tcp头部信息 / 353.3 tcp连接的建立和关闭 / 373.3.1 使用tcpdump观察tcp连接的建立和关闭 / 373.3.2 半关闭状态 / 393.3.3 连接超时 / 393.4 tcp状态转移 / 403.4.1 tcp状态转移总图 / 413.4.2 time_wait状态 / 433.5 复位报文段 / 443.5.1 访问不存在的端口 / 443.5.2 异常终止连接 / 453.5.3 处理半打开连接 / 453.6 tcp交互数据流 / 463.7 tcp成块数据流 / 483.8 带外数据 / 503.9 tcp超时重传 / 513.10 拥塞控制 / 533.10.1 拥塞控制概述 / 533.10.2 慢启动和拥塞避免 / 543.10.3 快速重传和快速恢复 / 55第4章 tcp/ip通信案例:访问internet上的web服务器 / 574.1 实例总图 / 574.2 部署代理服务器 / 584.2.1 http代理服务器的工作原理 / 584.2.2 部署squid代理服务器 / 594.3 使用tcpdump抓取传输数据包 / 604.4 访问dns服务器 / 624.5 本地名称查询 / 634.6 http通信 / 644.6.1 http请求 / 654.6.2 http应答 / 664.7 实例总结 / 68第二篇 深入解析高性能服务器编程第5章 linux网络编程基础api / 705.1 socket地址api / 705.1.1 主机字节序和网络字节序 / 705.1.2 通用socket地址 / 715.1.3 专用socket地址 / 725.1.4 ip地址转换函数 / 735.2 创建socket / 745.3 命名socket / 755.4 监听socket / 765.5 接受连接 / 785.6 发起连接 / 805.7 关闭连接 / 805.8 数据读写 / 815.8.1 tcp数据读写 / 815.8.2 udp数据读写 / 855.8.3 通用数据读写函数 / 865.9 带外标记 / 875.10 地址信息函数 / 875.11 socket选项 / 875.11.1 so_reuseaddr选项 / 895.11.2 so_rcvbuf和so_sndbuf选项 / 895.11.3 so_rcvlowat和so_sndlowat选项 / 935.11.4 so_linger选项 / 935.12 网络信息api / 945.12.1 gethostbyname和gethostbyaddr / 945.12.2 getservbyname和getservbyport / 955.12.3 getaddrinfo / 965.12.4 getnameinfo / 98第6章 高级i/o函数 / 1006.1 pipe函数 / 1006.2 dup函数和dup2函数 / 1016.3 readv函数和writev函数 / 1036.4 sendfile函数 / 1066.5 mmap函数和munmap函数 / 1076.6 splice函数 / 1086.7 tee函数 / 1106.8 fcntl函数 / 112第7章 linux服务器程序规范 / 1147.1 日志 / 1147.1.1 linux系统日志 / 1147.1.2 syslog函数 / 1157.2 用户信息 / 1167.2.1 uid、euid、gid和egid / 1167.2.2 切换用户 / 1177.3 进程间关系 / 1187.3.1 进程组 / 1187.3.2 会话 / 1187.3.3 用ps命令查看进程关系 / 1197.4 系统资源限制 / 1197.5 改变工作目录和根目录 / 1207.6 服务器程序后台化 / 121第8章 高性能服务器程序框架 / 1238.1 服务器模型 / 1238.1.1 c/s模型 / 1238.1.2 p2p模型 / 1248.2 服务器编程框架 / 1258.3 i/o模型 / 1268.4 两种高效的事件处理模式 / 1278.4.1 reactor模式 / 1288.4.2 proactor模式 / 1288.4.3 模拟proactor模式 / 1298.5 两种高效的并发模式 / 1308.5.1 半同步/半异步模式 / 1318.5.2 领导者/追随者模式 / 1348.6 有限状态机 / 1368.7 提高服务器性能的其他建议 / 1448.7.1 池 / 1448.7.2 数据复制 / 1458.7.3 上下文切换和锁 / 145第9章 i/o复用 / 1469.1 select系统调用 / 1469.1.1 select api / 1469.1.2 文件描述符就绪条件 / 1489.1.3 处理带外数据 / 1489.2 poll系统调用 / 1509.3 epoll系列系统调用 / 1519.3.1 内核事件表 / 1519.3.2 epoll_wait函数 / 1529.3.3 lt和et模式 / 1539.3.4 epolloneshot事件 / 1579.4 三组i/o复用函数的比较 / 1619.5 i/o复用的高级应用一:非阻塞connect / 1629.6 i/o复用的高级应用二:聊天室程序 / 1659.6.1 客户端 / 1659.6.2 服务器 / 1679.7 i/o复用的高级应用三:同时处理tcp和udp服务 / 1719.8 超级服务xinetd / 1759.8.1 xinetd配置文件 / 1759.8.2 xinetd工作流程 / 176第10章 信号 / 17810.1 linux信号概述 / 17810.1.1 发送信号 / 17810.1.2 信号处理方式 / 17910.1.3 linux信号 / 17910.1.4 中断系统调用 / 18110.2 信号函数 / 18110.2.1 signal系统调用 / 18110.2.2 sigaction系统调用 / 18110.3 信号集 / 18210.3.1 信号集函数 / 18210.3.2 进程信号掩码 / 18310.3.3 被挂起的信号 / 18310.4 统一事件源 / 18410.5 网络编程相关信号 / 18810.5.1 sighup / 18810.5.2 sigpipe / 18910.5.3 sigurg / 190第11章 定时器 / 19311.1 socket选项so_rcvtimeo和so_sndtimeo / 19311.2  sigalrm信号 / 19511.2.1 基于升序链表的定时器 / 19511.2.2 处理非活动连接 / 20011.3 i/o复用系统调用的超时参数 / 20511.4 高性能定时器 / 20611.4.1 时间轮 / 20611.4.2 时间堆 / 211第12章 高性能i/o框架库libevent / 21812.1 i/o框架库概述 / 21812.2 libevent源码分析 / 22012.2.1 一个实例 / 22012.2.2 源代码组织结构 / 22212.2.3 event结构体 / 22412.2.4 往注册事件队列中添加事件处理器 / 22612.2.5 往事件多路分发器中注册事件 / 23012.2.6 eventop结构体 / 23312.2.7 event_base结构体 / 23512.2.8 事件循环 / 236第13章 多进程编程 / 23913.1 fork系统调用 / 23913.2 exec系列系统调用 / 24013.3 处理僵尸进程 / 24013.4 管道 / 24113.5 信号量 / 24313.5.1 信号量原语 / 24313.5.2 semget系统调用 / 24413.5.3 semop系统调用 / 24513.5.4 semctl系统调用 / 24713.5.5 特殊键值ipc_private / 24913.6 共享内存 / 25113.6.1 shmget系统调用 / 25113.6.2 shmat和shmdt系统调用 / 25213.6.3 shmctl系统调用 / 25313.6.4 共享内存的posix方法 / 25413.6.5 共享内存实例 / 25413.7 消息队列 / 26313.7.1 msgget系统调用 / 26313.7.2 msgsnd系统调用 / 26413.7.3 msgrcv系统调用 / 26413.7.4 msgctl系统调用 / 26513.8 ipc命令 / 26613.9 在进程间传递文件描述符 / 267第14章 多线程编程 / 26914.1 linux线程概述 / 26914.1.1 线程模型 / 26914.1.2 linux线程库 / 27014.2 创建线程和结束线程 / 27114.3 线程属性 / 27314.4 posix信号量 / 27514.5 互斥锁 / 27614.5.1 互斥锁基础api / 27614.5.2 互斥锁属性 / 27714.5.3 死锁举例 / 27814.6 条件变量 / 27914.7 线程同步机制包装类 / 28014.8 多线程环境 / 28214.8.1 可重入函数 / 28214.8.2 线程和进程 / 28314.8.3 线程和信号 / 284第15章 进程池和线程池 / 28715.1 进程池和线程池概述 / 28715.2 处理多客户 / 28815.3 半同步/半异步进程池实现 / 28915.4 用进程池实现的简单cgi服务器 / 29815.5 半同步/半反应堆线程池实现 / 30115.6 用线程池实现的简单web服务器 / 30415.6.1 http_conn类 / 30415.6.2 main函数 / 318第三篇 高性能服务器优化与监测第16章 服务器调制、调试和测试 / 32416.1 最大文件描述符数 / 32416.2 调整内核参数 / 32516.2.1 /proc/sys/fs目录下的部分文件 / 32516.2.2 /proc/sys/net目录下的部分文件 / 32516.3 gdb调试 / 32616.3.1 用gdb调试多进程程序 / 32616.3.2 用gdb调试多线程程序 / 32816.4 压力测试 / 329第17章 系统监测工具 / 33317.1 tcpdump / 33317.2 lsof / 33417.3 nc / 33617.4 strace / 33817.5 netstat / 34117.6 vmstat / 34217.7 ifstat / 34417.8 mpstat / 344参考文献 / 346本图书信息来源:互动出版网  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-44533-1-1.html 上篇帖子: (转)linux socket编程 下篇帖子: Linux下TC使用说明
累计签到:317 天
连续签到:1 天
发表于 2019-1-23 10:12:38 | 显示全部楼层
没下载地址 只能买了?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表