第16章 服务器调制、调试和测试

在前面的章节中,我们已经细致地探讨了服务器编程的诸多方面。现在我们要从系统的角度来优化、改进服务器,这包括3个方面的内容:系统调制、服务器调试和压力测试。

Linux平台的一个优秀特性是内核微调,即我们可以通过修改文件的方式来调整内核参数。16.2节将讨论与服务器性能相关的部分内核参数。这些内核参数中,系统或进程能打开的最大文件描述符数尤其重要,所以我们在16.1节单独讨论之。

在服务器的开发过程中,我们可能碰到各种意想不到的错误。一种调试方法是用tcpdump抓包,正如本书前面章节介绍的那样。不过这种方法主要用于分析程序的输入和输出。对于服务器的逻辑错误,更方便的调试方法是使用gdb调试器。我们将在16.3节讨论如何用gdb调试多进程和多线程程序。

编写压力测试工具通常被认为是服务器开发的一个部分。压力测试工具模拟现实世界中高并发的客户请求,以测试服务器在高压状态下的稳定性。我们将在16.4节给出一个简单的压力测试程序。

16.1 最大文件描述符数

文件描述符是服务器程序的宝贵资源,几乎所有的系统调用都是和文件描述符打交道。系统分配给应用程序的文件描述符数量是有限制的,所以我们必须总是关闭那些已经不再使用的文件描述符,以释放它们占用的资源。比如作为守护进程运行的服务器程序就应该总是关闭标准输入、标准输出和标准错误这3个文件描述符。

Linux对应用程序能打开的最大文件描述符数量有两个层次的限制:用户级限制和系统级限制。用户级限制是指目标用户运行的所有进程总共能打开的文件描述符数;系统级的限制是指所有用户总共能打开的文件描述符数。

>>>>看书找书...可关注本站微信公众号【推书圈】

linux下高性能服务器pdf,Linux高性能服务器编程(pdf+epub+mobi+txt+azw3)相关推荐

  1. php设计模式epub,大话设计模式(pdf+epub+mobi+txt+azw3)

    第2章 商场促销--策略模式 小菜,给你出个作业,做一个商场收银软件,营业员根据客户所购买商品的单价和数量,向客户收费." "就这个?没问题呀."小菜说,"用两 ...

  2. mobi 第五项修炼_第五项修炼(pdf+epub+mobi+txt+azw3)

    第5章 心灵的转变 (7)皮格马利翁效应在无数场合都有验证.9有一个在学校的例子:一位老师对一个学生的看法,影响了那个学生的表现.珍很害羞,在新学校的头一个学期,成绩特别不好(因为父母总吵架).于是, ...

  3. linux搭建ca服务器搭建,linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  4. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  5. linux搭建mcpe服务器_Ubuntu Linux下搭建Minecraft我的世界服务器

    总结一下在Ubuntu Linux下搭建Minecraft我的世界服务器的方法,其实非常简单直接. (1).把当前的软件都更新到最新 sudo apt-get update Minecraft服务器需 ...

  6. Linux下select函数实现的聊天服务器

    转载: http://blog.csdn.net/microtong/article/details/4989902 Linux下select函数实现的聊天服务器  佟强 http://blog.cs ...

  7. linux系统我的世界开服,Ubuntu Linux下搭建Minecraft我的世界服务器

    总结一下在Ubuntu Linux下搭建Minecraft我的世界服务器的方法,其实非常简单直接. (1).把当前的软件都更新到最新 sudo apt-get update Minecraft服务器需 ...

  8. linux查看远程服务器端口,linux下查看本机和远程服务器的端口是否连通的方法...

    linux下查看本机和远程服务器的端口是否连通的方法 如下所示: 1.ssh -v -p [端口号] [用户名]@[IP地址] 2.curl [IP地址]:[端口号] 以上这篇linux下查看本机和远 ...

  9. Linux下命令行打开word、excel、pdf文件

    Linux下命令行打开word.excel.pdf文件 1.打开word文件 wps xxx.docx xdg-open xxx.docx 2.打开excel文件 et xxx.xlsx xdg-op ...

  10. [转帖]linux下的X server:linux图形界面原理

    linux下的X server:linux图形界面原理 https://www.cnblogs.com/liangxiaofeng/p/5034912.html linux下的X server:lin ...

最新文章

  1. Solr安装步骤 + dataimport导入数据配置
  2. 启明云端分享|sigmastar debug工具使用说明(二)
  3. HDU - 4856 Tunnels(哈密顿路径+状压dp)
  4. 你的工作单位也需善待
  5. 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)
  6. 关于vue el-button 动态获取个数并附不同的颜色
  7. 【ArcGIS 10.2新特性】Portal for ArcGIS新特性
  8. sftp访问_实时数据处理探索:接收、处理、访问
  9. C/C++教程 第十四章 —— MFC控件详解
  10. 网站锦囊(逐渐更新中)
  11. 联想M7650DF加粉和重置/清零的正确方法
  12. 增程式混合动力汽车Cruise整车仿真模型 串联混合动力仿真 基于Cruise平台搭建整车部件等动力学模型
  13. R语言潜在变量模型、探索性因子分析EFA、验证性因素分析(CFA)、结构方程建模(SEM)之间的关系、潜在变量模型常用包:ltm包、sem包、OpenMx包、Lavaan包、lsa包、ca包等
  14. Excel如何批量快速从复杂文本中提取汉字
  15. note20220227.docx
  16. 如何用ppt做自我介绍
  17. 优化网站提高打开速度
  18. 1.5.37:雇佣兵
  19. pymysql——excel数据导入mysql
  20. 巨量jsvmp,扣逻辑分析

热门文章

  1. github清华大学计算机系课程攻略,GitHub 项目推荐|清华大学计算机系课程相关资源集合|内容丰富...
  2. UE4添加人物动画之状态机
  3. jquerymp3文件下载_前端实现文件下载所有方式
  4. (可再看)深度学习学习笔记(1)
  5. 数模(一)TSP问题
  6. [从零开始学习FPGA编程-26]:进阶篇 - 基本组合电路-数据选择器(Verilog语言)
  7. 常见的几类矩阵(正交矩阵、酉矩阵、正规矩阵等)
  8. markdown语法
  9. javascript实现根据汉字获取拼音或者获取拼音首字母
  10. asio几种异步编程模型