几个必须涉及到的重中之重的课题:
1.需求.
因为方式方法,手法,模型结构太多,因此,明确需求,注意:这里说的是明确需求,就是非常明白并确定需求.
2.模型.
windows下五种SCOKET模型,根据需求选择合适的模型.最高性能的莫过于IOCP为核心的同步线程工作方式.
linux下使用epoll也是类似的手法.
bsd下使用kqueue.
以上都是系统提供的原始API,可靠性基本上由OS的基础架构保障,且基本不可修改(windows无源代码,linux可以重编译kernel,bsd就看版本了).因此,如果一个OS你觉得不稳定或者慢了,只有换OS模型.
3.内存管理
高性能服务器内存管理非常重要,必须要自己妥善管理,否则谈不上性能,什么都是白搭.通常使用链表分配,辅之以管理回收线程.自定义申请,释放,碎片回收等等.玩服务器就是玩内存.在我们调试的过程中,需要密切注意CPU,内存占用情况.合理的使用链表.
4.健康管理
对于可持续性方面的评估,需要一套服务器健康管理手段和方法来保证服务器能够长时间的运行,并能施以微调.