第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WEB開發(fā)中。下載服務(wù)器上面的報表。怎么防止數(shù)據(jù)量過大導(dǎo)致超時的場景

WEB開發(fā)中。下載服務(wù)器上面的報表。怎么防止數(shù)據(jù)量過大導(dǎo)致超時的場景

守候你守候我 2019-04-10 20:47:43
問題需要服務(wù)端生成報表,由于數(shù)據(jù)量過大。往往會導(dǎo)致下載過程中504錯誤。下載流程已經(jīng)最優(yōu)化了。目前解決方案前臺點擊下載報表,發(fā)起一個異步請求。后臺處理完數(shù)據(jù)以后。把數(shù)據(jù)通過郵箱的方式發(fā)給下載者。有沒有其它更加好的辦法,可以解決這個問題?謝謝。
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

謝謝各位的回答。
這邊我自己總結(jié)了一下,根據(jù)我自己的實際情況主要
前臺異步提交一個請求,后臺進行異步組合報表。然后通過1.郵件的方式通知用戶2.通過定時器將消息PUSH給用戶,讓用戶去相應(yīng)的地址上下載
查詢時間精確到秒。在用戶請求之前,先告訴用戶在這個時間段訂單個數(shù)。我們可以設(shè)定一個合理的值來提示用戶(改動最小)
采取任務(wù)的形式,前臺提交一個任務(wù)給后臺,后臺創(chuàng)建一個任務(wù),并且存入數(shù)據(jù)庫。前臺可以每隔30s向后臺請求,獲取任務(wù)的狀態(tài),以防止超時。相應(yīng)的前臺有一個loading框(這里也可以改成將文件的生成過程放在服務(wù)端,然后這里給用戶返回的是一個連接,用戶可以直接點連接來下載文件)(這個類似使用AJAX的長連接模式)
把分析過程放在服務(wù)端。服務(wù)端起一個定時任務(wù),隔段時間去分析這些數(shù)據(jù)。直接生產(chǎn)文件放在服務(wù)端。可以提供給用戶一個下載列表直接提供給用戶下載
5.優(yōu)化流程,采取dubbo批量數(shù)據(jù)請求。采取dubbo異步請求。多線程處理數(shù)據(jù)。多個dubbo服務(wù)合并(性能優(yōu)化)
                            
查看完整回答
反對 回復(fù) 2019-04-10
?
智慧大石

TA貢獻1946條經(jīng)驗 獲得超3個贊

最直接的辦法便是,壓縮數(shù)據(jù)(例如導(dǎo)出時進行壓縮),調(diào)整CGI超時時間。這其中,可以考慮節(jié)省CGI進程(因為即使輸出成果已經(jīng)完成,按照題主的說明,fast_cgi的responsebuffer肯定是遠遠小于這次輸出的大小),在最后輸出的過程上用其他服務(wù)(例如直接用nginx)代勞。
其實,例如在問題中的這種從產(chǎn)品設(shè)計的角度解決問題在我看來最優(yōu)解,實時下載真的是那么必要嗎?
                            
查看完整回答
反對 回復(fù) 2019-04-10
  • 2 回答
  • 0 關(guān)注
  • 357 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號