关于搭建socket服务器

公司最近做一个手机社区 公司客户之间可以通过这个手机社区客户端进行实时聊天。
目前使用自己搭建的一个简单的java Socket服务器 每一个手机客户端连接到服务器后就从线程池中拿出一个线程处理该用户的聊天功能。
目前已经能实现聊天功能,但是发现当聊天的用户达到10多个左右的时候,服务器就会很卡,CPU占用率一直在100%,但是需求要求支撑的同时聊天的用户数最起码要上千。照现在的情况能超过100就很幸运了。
请问各位高手,能否给小弟支一招,如何搭建这样一个Socket服务器?只要同时在线用户1K多,服务器能不挂,正常运行就行。
之前考虑使用开源的openfire做,但是公司领导有自己的考虑,一定要自己实现

使用Java NIO实现。不过线程池或事件触发机制都需要成熟的测试和调试经验,还不如使用成熟的基于tomcat Jetty这些服务器实现,我们看到的案例基于Spring+Tomcat+AJAX实现的聊天室并发在线可以达到5000人,2005年以前的服务器。

如果想轻便简单使用Node.js都可以,几句话就可以架设一个Socket服务器。