check module failing at high cpu
gfrankliu opened this issue · comments
Moving weibocom/nginx-upsync-module#157 here.
When cpu is high, other requests still work but slower. Will that affect the check timer? If I have check timeout to be 5s, when cpu is busy, will check thread not get a chance to validate the response within 5s maybe?
The question is about upstream_check_module, not upsync_module.
Ok, when cpu is high to 100%, other requests can work normally? No independently thread or progress do check things, all checks is used timer, not attached to the fixed progress.
Yes, when cpu is high, other requests still work but slower. Will that affect the check timer? If I have check timeout to be 5s, when cpu is busy, will check thread not get a chance to validate the response within 5s maybe?
the progress first will handle the requests, then go on to timer. Though nginx can still work, I guess part requests are lost.
When cpu is high, I am ok some request will lost, but the problem I saw is ALL request lost because health check marks ALL upstream servers as "down".
Are you saying if nginx is busy serving requests, it will not go to the timer until it is free? By the time when nginx gets to the timer, all those health checks already timeout. This may be the reason why all upstream servers are down.