国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

gateway reload后沒有變化,導(dǎo)致reload nginx后nginx進程會處于shutting狀態(tài)

linggang668

使用nginx作為前端代理,在reload nginx的時候,發(fā)現(xiàn)nginx會一直處于shutting狀態(tài),當(dāng)reload nginx次數(shù)多了以后,cup會飆升到100%, gateway的狀態(tài)也會處于busy狀態(tài)。

現(xiàn)象如下:

//nginx進程
$ ps aux | grep nginx
**www      12384  0.6  0.2 110752 37424 ?        SN   Jan20  12:51 nginx: worker process is shutting down**
www      12385  0.1  0.1 102508 29260 ?        SN   Jan20   3:18 nginx: worker process is shutting down
www      12386  0.5  0.2 112744 39616 ?        SN   Jan20  12:45 nginx: worker process is shutting down
www      12387  0.2  0.1 104556 31228 ?        SN   Jan20   5:56 nginx: worker process is shutting down
www      27928  1.0  0.1 102508 28252 ?        SN   11:25   0:08 nginx: worker process
www      27929  0.5  0.1 102508 27932 ?        SN   11:25   0:04 nginx: worker process
www      27930  1.2  0.1 102508 28512 ?        SN   11:25   0:10 nginx: worker process
www      27931  0.2  0.1 102508 27900 ?        SN   11:25   0:02 nginx: worker process
www      29369  0.1  0.1 102508 27712 ?        SN   Jan21   0:52 nginx: worker process is shutting down
www      29370  0.5  0.1 102804 29400 ?        SN   Jan21   3:42 nginx: worker process is shutting down
www      29371  0.2  0.1 102508 28460 ?        SN   Jan21   1:39 nginx: worker process is shutting down
www      29372  0.4  0.1 102804 29360 ?        SN   Jan21   3:23 nginx: worker process is shutting down

再查id為12384的進程發(fā)現(xiàn),這個進程一直和gateway在連接

$ lsof -i :60877     //60877是從lsof的最后一行取的
COMMAND   PID USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
php     11789 root   65u  IPv4 2550865341      0t0  TCP mt-web1:8282->mt-web1:60877 (ESTABLISHED)
nginx   12384  www 1184u  IPv4 2550863681      0t0  TCP mt-web1:60877->mt-web1:8282 (ESTABLISHED)

gateway的狀態(tài)如下:發(fā)現(xiàn)會有11789這個進程(當(dāng)nginx reload的次數(shù)多的時候,gateway就會處于busy狀態(tài)。)

Workerman version:3.5.1          PHP version:7.1.6
start time:2017-12-07 09:03:05   run 46 days 4 hours   
load average: 0.14, 0, 0         event-loop:\Workerman\Events\Select
1 workers       4 processes
worker_name     exit_status      exit_count
zhibo-gateway-1 0                0
----------------------------------------------PROCESS STATUS---------------------------------------------------
pid     memory  listening                      worker_name     connections total_request send_fail timers   status
11785   8M      websocket://ip:8282 zhibo-gateway-1 436         32233007      579       3         
11786   8M      websocket://ip:8282 zhibo-gateway-1 431         36117127      644       3         
11788   8M      websocket://ip:8282 zhibo-gateway-1 432         36397854      592       3         
11789   8M      websocket://ip:8282 zhibo-gateway-1 447         33917464      642       3         

因為我們上線新功能后,一般只會reload nginx, 所以懷疑是gateway和nginx鏈接導(dǎo)致的,但是gateway reload后,gateway的進程還是那幾個并沒有重新啟動,這正常嗎?

ps:如果把gateway restart了,gateway的進程id會改變,nginx中的shutting狀態(tài)的進程也會消失,但是gateway restart是不是會斷掉和客戶端的連接呀?

10422 2 0
2個回答

walkor 打賞

看起來nginx reload后不會斷開連接,然后gateway reload也不會斷開連接(gateway restart會斷開連接)。
然后二者仍然保持著連接。

  • linggang668 2018-01-22

    你好, walkor,是的,現(xiàn)在就是這里遇到問題了,nginx和gateway都reload,那么nginx會產(chǎn)生新的worker進程,但是應(yīng)該shutdown的老進程因為和gateway還有連接,所以也不會銷毀,這樣時間長了會有很多處于shutting狀態(tài)的進程,這些進程都會占用資源。

    請問您有什么推薦的解決辦法嗎?

  • walkor 2018-01-22

    如果你想連接斷開,直接重啟nginx或者gateway就行了

  • linggang668 2018-01-22

    重啟的話就會把客戶端的連接斷開重連,會把連接初始化時給客戶端發(fā)送的消息重新發(fā)一遍,有沒有辦法把shutting狀態(tài)的nginx進程和gateway的連接斷掉呢

  • linggang668 2018-01-22

    理論上說,nginx 的進程不會再接受新的連接,那么也就是說當(dāng)原來連接到nginx的客戶端都斷開后,這個nginx的進程應(yīng)該會和gateway就斷開了,但是為什么還會一直有連接呢,我網(wǎng)絡(luò)方面不太好,這個問題沒搞明白,呵呵

walkor 打賞

為什么cpu 100%,這個需要 strace 下對應(yīng)的cpu 100%的進程才知道

  • linggang668 2018-01-22

    cpu100%的問題還不確定是不是因為nginx有太多的shutting進程導(dǎo)致的,這個等碰到了再查一下,但是有次是重啟了gateway后就好了,shutting的nginx進程也沒有了,所以懷疑是這里出現(xiàn)了問題

年代過于久遠,無法發(fā)表回答
??