您的位置:首页 > 其它

Thrift-0.9.3 服务器端参数优化

2015-10-15 00:00 281 查看
http://www.open-open.com/doc/view/cd7da54b013c43d4b848c872e039f418 --- 一篇很详细的介绍文档

在服务器端,如果仅仅用之前的代码,那么肯定是不行的,参数优化是必须的。

参数优化包含以下几个部分:

Accept线程: 线程个数

Select Worker线程: 线程个数 每个线程的acceptedQueue有界还是无界

ExecutorService invoker的线程个数

===============================具体代码如下:

Accept线程: 线程个数,默认就是1个。

tArgs.selectorThreads(Runtime.getRuntime().availableProcessors()*1); //这里应该写为,目的是为了修改Select Worker线程数。

tArgs.acceptQueueSizePerThread(10000); //设置每个线程的acceptedQueue.其实就是单线程待处理的IO连接数的最大等待个数。

tArgs.workerThreads(Runtime.getRuntime().availableProcessors()*10);

===

关于注册钩子

serverTransport = new TServerSocket(port);
TProtocolFactory proFactory = new TBinaryProtocol.Factory();
TProcessor processor = new GraphService.Processor(new GraphServiceImpl());
Args arg=new Args(serverTransport){}.protocolFactory(proFactory).processor(processor);
server = new TThreadPoolServer(arg);
log.info("Start server on port "+port+"...");
registerShutdownHook(server);
server.serve();
其中registerShutdownHook是用来在jvm进程结束之前关闭server的,Ctrl-C和kill -15关闭程序会执行,kill -9不会执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Thrift 0.9.3