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

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

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

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

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

2 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗 獲得超8個贊

謝謝各位的回答。
這邊我自己總結(jié)了一下,根據(jù)我自己的實際情況主要
前臺異步提交一個請求,后臺進(jìn)行異步組合報表。然后通過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ù)端??梢蕴峁┙o用戶一個下載列表直接提供給用戶下載
5.優(yōu)化流程,采取dubbo批量數(shù)據(jù)請求。采取dubbo異步請求。多線程處理數(shù)據(jù)。多個dubbo服務(wù)合并(性能優(yōu)化)
                            
查看完整回答
反對 回復(fù) 2019-04-19
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗 獲得超4個贊

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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