服务器架构、性能与查询生成策略解析
在服务器软件架构的设计与优化中,我们会面临多种选择和挑战。下面将详细介绍服务器进程架构的不同方法、分布式服务器进程的工作原理、主从接口的运行机制以及查询生成和性能分析的相关内容。
服务器进程架构方法
之前我们测试了三种不同的服务器进程软件架构。在 10BASE - 2(细缆以太网)网络环境下,使用性能增强的基于 486 的机器和较旧的 386 机器进行测试。向一个 99 行的文本文件随机发送 20 个数据包流进行查询操作。在不同的代码示例(如 Listing 7.2、7.3 和 7.4)中,最快的可靠到达间隔时间分别为 8 毫秒、7 毫秒和 4 毫秒。
为每个传入查询创建子任务会产生大量开销,这在串行服务器添加该功能后效果不太理想中得到体现。而将开销转移到进程初始化阶段,预先建立固定数量的进程,期望传入的查询不会使它们不堪重负,能获得更好的回报。我们还可以通过为处理器、网络速度和可用内存找到最佳的预建立子任务数量,进一步提高服务器性能。
在 Listing 7.4 中添加了中断处理程序,这样在测试期间可以使用 Ctrl + C 退出服务器。当检测到该按键操作时,子任务和父进程会优雅地退出。
分布式服务器进程
在 Listing 7.4 中,主进程和其从子任务之间通过共享内存空间进行进程间通信(如图 7.1a 所示)。由于主进程和所有从进程都在同一台机器上,运行在相同的物理内存中,所以这种低开销的通信链路是可行的(内存总线传输数据比外部网络快得多)。然而,由于单台机器只有一个 CPU,并行处理的好处有限。
如果将从进程分布在集群系统中(如图 7.1b 所示),可以
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



