如果不采用DSO,采用普通的静态模块的方式,那么一旦要增加一个功能(比如要搞个IP连接限制模块),那么可能要全部从新编译整个Apache以及原来的一些模块,另外,如果发现某个模块或者Apache有升级版本,也要全部重新编译。Apache的开发者也就是考虑到这些原因才推出了DSO这么个东东,DSO非常方便,如果要增加一个模块只需要使用DSO模式来编译这个新模块就可以了,无需从新编译其他的东西,即使Aapche在同一个系列升级,也只需要编译一个支持DSO的新的Apache,原来编译好的DSO模块还是可以用的。(一个系列是指从Apache 2.0.43升级到Apache 2.0.44这样的情况,如果升级到下一个系列(比如 2.1.x),需要从新编译所有的代码,包括Apache和各个模块)
(另:使用DSO之后,因为要做一些前置工作,Apache在启动时慢大概20%,在运行时因为有时候需要相对寻址,因为在运行时大概会慢5%)