字体
关灯
返回目录 阅读足迹 更多章节
第(1/4)页
实验室在顶楼走廊的最深处。

一进门就听到嗡嗡的服务器风扇声。

几台昂贵的SunUltra工作站一字排开。

七八个博士生围在一个屏幕前,个个面如土色。

胡鹏趴在键盘前,手指飞快地敲击着,调取系统底层的CoreDump文件。

“Segmentationfault……”

胡鹏看着屏幕上的报错,眉头锁成了一个“川”字。

“又是段错误。

线程之间的资源争抢太严重了。

咱们用的CORBA标准,底层的ORB通讯机制在处理大量短连接的时候效率太低了。”

“要不加硬件?”

刚才那个报信的男生小声提议。

“再申请两台服务器做负载均衡?”

“加个屁!”

胡鹏骂道。

“这是软件架构的硬伤,你就是把机房堆满服务器,锁竞争的问题解决不了,一样得崩!

国家给的指标是单机5000并发,现在连一半都跑不到,下个月验收怎么交代?”

众人一片死寂,不敢接话。

陈浩站在人群最后面,目光扫过屏幕上的架构图和那几行关键的C++代码。

他立刻看明白了。

这套系统采用的是典型的“Thread-per-Request”(每个请求一个线程)模型。

这是当时CORBA架构的标准做法。

每一个客户端连接进来,服务器就分配一个独立的线程去处理。

在并发量小的时候,这种模型简单高效。

但一旦并发量上来,成千上万个线程同时在操作系统里抢占CPU时间片,光是线程上下文切换的开销就能把CPU吃光。

再加上他们为了保证数据一致性,在共享内存区加了大量的互斥锁。

这不崩才怪。

“胡院长。”

一个突兀的声音打破了沉默。

众人回头,看到那个本该在写检查的大二学生,正双手插兜站在后面。

胡鹏看到陈浩,火气又要上来:

“谁让你进来的?出去!”

“如果是CORBA架构下的线程阻塞,加再多服务器也没用。”

陈浩没有动,而是指了指屏幕上的一行代码。

“你们用的是同步阻塞I/O模型(BIO)。

这种模型下,线程在等待网络数据的时候是挂起的,不仅占内存,还不干活。”

胡鹏愣了一下,开始重新打量起陈浩。

这番话切中要害,而且专业术语用得极准,绝不是一个大二学生能说出来的。

“你懂CO
第(1/4)页
本章还未完,请点击下一页继续阅读
上一章 目录 下一页
都在看:穿成拜金金丝雀,被男主强制爱了亮剑:接替老李,打造最强新一团随军公公太凶猛:这岛我罩了娱乐帝国系统带球跑后突降末世,孩子爹找疯了谍战北平:我只想活的自在拯救宇宙,从一艘太空废船开始重生黄埔,我才是福将快穿:一不小心,我又上教科书了领证认错大佬,我和京圈太子闪婚了