非常庞大的。为了解决这个问题,采用了双缓冲机制的策略,通过使用\r两个缓冲区实现了对大量数据的接收和处理。其原理图如下图4所示。\r图4双缓冲区原理图\r3.3.1数据的接收\r低耦合性,是该服务器程序所秉持的原则之一,所以采用单独的线程接收来自客\r户端的数据。在数据接收线程中使用while(true)来,使该线程不断的接收来自客户端的\r数据,从而避免缓冲区的数据没有得到及时的处理。另外若只是采用while(true),那么该\r线程将会消耗大量的系统资源,为了能够解决该问题而采用的事件通知机制。基于该思\r想,使得该线程只有当客户端有可以接收的数据才进行工作,从而避免了系统资源的消\r耗。\r3.3.2数据的处理\r为了能够很好的缓解缓冲区的压力,所以必须能够及时的对缓冲区的数据进行处\r理。同样也为了能够提高系统的性能,降低系统资源的开销,也采用了事件通知机制:\r即只有SQL处理队列中有SQL语句,才使该线程做相关的工作。基于这种机制在很大\r的程度上能大大提高了服务器程序的性能。\r3.4智能的线程重启\r服务器程序中由于一共存在若干个线程,只要一个线程因为异常或者运行结束而退\r出,那么其他线程的基本上做的都是无用功。因而该系统中必须能够解决线程退出或者因\r异常而结束的问题,从而确保整个系统能够良好的运行。所以创建了一个检测线程,在该\r线程中不断的检测各线程是否正常运行;另外,由于考虑到服务器程序性能的问题,所以\r我们并不是使该线程一直在使用时间片。而是采用在指定的时间间隔内对服务器程序中\r的所有线程进行检测,如若发现线程异常\r或退出则重新启动线程,从而使服务器程序能够继续正常工作\r四运行结果的分析\rSelect模型:\r并发数CPU使用率Memory使用率测试消耗时间\r1000\r3000\r6000\r10000\r五结束语\r六.参考文献