推 asdfghjklasd: 你只看log ,實際做了什麼 TS ?02/15 22:16
→ asdfghjklasd: telnet 有 504 的 80 port?02/15 22:17
→ dennisxkimo: 看來是壓力測試API運作haproxy環境遇到問題上來問02/15 22:48
→ qpowjohn: 先是看到Port用盡,所以做了註冊表和config調整02/15 22:49
→ qpowjohn: 改了之後確實沒有了,但是卻會不定時從HAProxy看到問題02/15 22:50
→ qpowjohn: 然後RDP進不去,從hypervisior也進不去(已關加強模式)02/15 22:51
→ qpowjohn: 只能從hypervisior強制關閉重開VM..02/15 22:51
→ qpowjohn: 正常的回應速度大概都是100ms以內,超過30000ms很不正常02/15 22:53
→ qpowjohn: 而且已經排除AppPool回收的階段02/15 22:54
→ qpowjohn: 站台本身每分鐘都在打,所以也排除超時未使用被回收02/15 22:54
→ qpowjohn: 以上回答算是測試嗎...?02/15 22:55
→ dennisxkimo: 沒記錯的話 那log是這樣看,事件504返回長度19402/15 22:56
→ qpowjohn: telnet這段沒做過,因為都是不定時卡住,抓不準時間02/15 22:56
→ dennisxkimo: apppool 進階設定預設值 好像不適合高量頻繁02/15 22:59
→ qpowjohn: HAProxy應該是沒有問題的,提出圖片只是證明說MS卡住02/15 23:00
→ qpowjohn: 哦,求解,我們的服務確實是每天會被打百萬次...02/15 23:00
→ qpowjohn: 如果是加VM上去做LB的方式也是可行,只是我感覺不是這02/15 23:02
→ qpowjohn: 層面的問題...覺得好像是系統哪邊沒設定好02/15 23:03
推 xxoo1122: 你POST什麼資料?02/16 00:52
→ xxoo1122: 有DB嗎?02/16 00:52
推 ddoll288: 你給的資料玩全無法除錯,只知道504,504誰造成的不知02/16 02:14
目前能推斷是VM的問題,因為另一個VM正常接受request,代表HAProxy沒問題,我們的比重
是設定1:1,給的圖僅將504取出,所以HAProxy這端是無異常的
→ ddoll288: 如果你不敢透漏太多就自己請寫程式的RD或廠商來處理02/16 02:15
→ ddoll288: 機器預設可以開5000port是沒有問題的,問題是程式壞了02/16 02:17
→ ddoll288: 導致5000port被request塞爆,如果有保密問題就花錢吧02/16 02:18
5000port按照網頁的說法不是已經擴大到65534了嗎?
推 darktasi: server配置資訊不夠怎麼判斷02/16 03:32
→ asdfghjklasd: 不忍噓02/16 04:28
→ dennisxkimo: 這問題有時侯不是只有一面要看 但是不會用這麼少的線02/16 08:27
→ dennisxkimo: 索來找02/16 08:27
→ qpowjohn: 不好意思,讓各位有點隔空抓藥的感覺,因為抓不準系統02/16 09:25
→ qpowjohn: 卡住的時間,然後正常的時候進去看netstat也沒啥問題(02/16 09:25
→ qpowjohn: 大概300-400左右的連線),其實給的圖都是一樣的資訊,02/16 09:25
→ qpowjohn: 只能證明說那個時間點request打進去完全無法回應。02/16 09:25
→ qpowjohn: server配置,是指型號嗎?HP DL460c G802/16 09:27
※ 編輯: qpowjohn (49.216.40.155 臺灣), 02/16/2020 09:38:10
→ konkonchou: 我會查web handler是不是用到不該用的,而造成排隊 02/16 23:23
→ ddoll288: 既然是VM的問題,那應該是請寫AP的RD或廠商來處理 02/17 04:17
→ ddoll288: 你不給AP是什麼,就要大家隔空抓藥,也是了不起 02/17 04:18
→ ddoll288: req超過30s通常是資源鎖定或程式壞了等timeout 02/17 04:23
感謝您的幫助,目前的狀況在UAT環境驗不出來,上正式機才出現,UAT和PROD的差異僅僅是
AppPool數量級的差異(2 vs 100),所以我才在想是哪邊沒有設定好,又或者是要分散資
源,多建立一套VM來承載過多的網站。
另外請教各位,我們MIS的工作僅僅是將OS以前的工作搞定嗎?之後出問題都是站台的問題
不干我的事?
上面協助回答的各位先進都傾向直接找RD解決,可是如果連RD都測不出來,難道直接花點數
找微軟?
※ 編輯: qpowjohn (101.11.0.7 臺灣), 02/17/2020 08:33:31
→ ddoll288: 如果你當過RD或是DevOp,沒有CD/CI,這種事情根本是日常 02/17 10:27
→ ddoll288: 很多RD開發環境都很亂,然後issue丟來都說我跑沒問題 02/17 10:28
→ ddoll288: 然後MIS只能吃悶虧,抓出問題還好,沒抓到就是每天狗幹 02/17 10:29
→ ddoll288: 最可憐的是user,因為系統有問題每天哎哎哎,加班做不完 02/17 10:31
→ ddoll288: 所以要先保留現場,確認網路硬體作業系統都正常 02/17 10:33
→ ddoll288: 最好兩台VM在同一台主機內,把問題縮限在VM內,然後再叫 02/17 10:34
→ ddoll288: RD或廠商來解決問題02/17 10:34
→ ddoll288: 這問題我猜是程式的並行寫得不好,造成DB lock,然後大家 02/17 10:37
→ ddoll288: 就在等那個lock解鎖,所以就拼命timeout,這也是日常02/17 10:38
→ ddoll288: 你可以試試看先不要用haproxy,把req都塞到一台去跑 02/17 10:39
→ ddoll288: 隔一段時間沒問題再換另一台,我猜應該是都沒有問題02/17 10:40
→ ddoll288: 確認問題出在並行,再把問題交給RD或廠商處理02/17 10:41
→ ddoll288: 有些driver如果連線沒有正常關閉,DB lock是永不釋放的 02/17 10:45
→ ddoll288: RD只在哪邊跑個幾次,沒有壓測,根本測不出問題的 02/17 10:46
→ dennisxkimo: 有些RD只懂RD,有時我是問他的程式工作內容,對方願意 02/17 12:56
→ dennisxkimo: 就一起解問題 02/17 12:56
→ dennisxkimo: 你說不定時卡住,你可以想辦法追蹤各種數據多收集一 02/17 13:01
→ dennisxkimo: 點線索,有時候掛掉前的資料也是破案關鍵 02/17 13:01
太感謝以上先進了,提供另一個思維,我會按照以上方式進行單機測試,確認問題是出在哪
一端
※ 編輯: qpowjohn (101.11.0.7 臺灣), 02/17/2020 18:49:07
→ domototice: proxy 30秒無回應 通常會是什麼造成? 太多要求? 02/19 14:24
→ domototice: 有proxy伺服器嗎? 02/19 14:24
→ domototice: 會是proxy負載過重嗎? 對不起 我的功力不足。。。。 02/19 14:30
→ domototice: proxytSR port用盡 如何處理呢? VM可接受的連接數? 02/19 14:36
→ domototice: port用盡 可以修改port使用數再度使用新增的port嗎? 02/19 14:45
→ domototice: 求解答謝謝...! 02/19 14:45
→ domototice: proxy伺服器 可以再多一台嗎? 兩台下去配置??? 02/19 14:46
→ domototice: 你給的資訊是 server2003的port處理方式說。。。。 02/19 14:52
→ domototice: 而且 server2012 怎麼可以說是硬體呢? 是運行環境說 02/19 14:53
推 domototice: 可以請教你的HAproxy 怎麼跟WINSR DFS怎麼做結合嗎? 02/19 14:57
推 domototice: IIS8.5的最大連接數呢? 方便請教嗎? qpowjohn大大 02/19 15:01
推 domototice: 可以再請教HAproxy可以在winserver2012上運行嗎? 02/19 15:05
→ domototice: HAProxy可在WIN上運行 那它的最大連接數呢? 02/19 15:11
推 domototice: 所以問題不是在於HAProxy 就是在於兩個VM配置問題囉? 02/19 15:24
→ domototice: 另一個VM能正常接受HAProxy的連入嗎? 02/19 15:26
→ domototice: HAProxy有釋放資源嗎? 還是阻擋連入數 你只設30秒外丟 02/19 15:28
→ domototice: 回應回去 02/19 15:28
→ domototice: 求最後的解答哦~感謝大大....! 02/19 15:45
→ qpowjohn: haproxy用linux架,504是server經過30秒無回應就拋給cl 02/19 17:14
→ qpowjohn: ient,發生狀況的當下是一台server正常另一台無回應, 02/19 17:14
→ qpowjohn: 其實就是個很普通的做法 02/19 17:14
推 domototice: qpowjohn大大 那你兩台sever的proxy 都設HAProxy位址? 02/19 21:23
→ domototice: 其實不簡單說,尤其對我這個新手來說...!謝謝你的分享 02/19 21:23
→ qpowjohn: 兩台vm的gateway都是指到haproxy 02/20 18:49
→ domototice: 那...可以請教問題出在哪嗎= =+ 對不起...! 02/21 04:34
→ domototice: 是這樣子沒錯嘛?? 02/21 04:48
推 domototice: 對不起,gateway跟proxy的設定用途我有點忘記了= =+ 02/21 05:02
→ domototice: gateway不是路由器的端點嗎?也是出口?跟proxy要分開 02/21 05:43
→ domototice: 設定嗎? 02/21 05:43