-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gunicorn_thrift block problem with high concurrency #52
Comments
it seems like the server workers was full with handle task , but this concurrence with 1600/s task rpc_account_sid would be return less than 1ms , so theoretically, the server can process more than |
Things like to be work well when i change the -k parameter to thriftpy_gevent but i still get the point why i got the block, hope any explain |
The There's a pretty fundamental difference between sync workers and async workers (which, in this repo at this time, means gevent), so read up here to learn about what that is, so you can plan accordingly. |
@aawilson Thanks for answering! The main reason is: sync worker can only handle 1 live connection per process. Currently gunicorn_thrift only supports gevent for high throughput scenarios. We should implement thread worker, but I haven't got time to get down to it. |
Got it ,thanks for the explain! |
I was run thriftpy server as the readme suggest, and i used gunicorn_thrift as follow config
the test code was
when i run the test code i got error with block
and i can't connect to the rpc server with other client too i got error
thriftpy.transport.TTransportException: TTransportException(message="Could not connect to ('127.0.0.1', 16796)", type=1)
, Is there any config error and what't the problem?
The text was updated successfully, but these errors were encountered: