nghttpx: Use ev_feed_event to signal write for HTTP backend
It seems that using ev_feed_event to signal write operation is much faster than starting watcher. This is probably due to the fact that we don't need to wait in event loop. The same thing cannot be done in HTTP/2 frontend, since this will raise write operation for each stream HEADER/DATA write, which leads to very small packets, hurting performance. Interestingly, HTTP/1 frontend also suffers the same performance hit.
This commit is contained in:
parent
d9f73c36c3
commit
ecb4a208fb
|
@ -850,7 +850,9 @@ int HttpDownstreamConnection::on_connect() {
|
||||||
|
|
||||||
void HttpDownstreamConnection::on_upstream_change(Upstream *upstream) {}
|
void HttpDownstreamConnection::on_upstream_change(Upstream *upstream) {}
|
||||||
|
|
||||||
void HttpDownstreamConnection::signal_write() { conn_.wlimit.startw(); }
|
void HttpDownstreamConnection::signal_write() {
|
||||||
|
ev_feed_event(conn_.loop, &conn_.wev, EV_WRITE);
|
||||||
|
}
|
||||||
|
|
||||||
size_t HttpDownstreamConnection::get_group() const { return group_; }
|
size_t HttpDownstreamConnection::get_group() const { return group_; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue