亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Node并發訪問時與猜想的結果不致

Node并發訪問時與猜想的結果不致

翻閱古今 2018-11-21 18:13:01
試驗的邏輯比較簡單, 就是Node訪問數據庫查詢數據, SQL語句的執行時間在2秒左右, 我用JMeter進行多線程測試(5線程),按照預想的結果(根據Node非堵塞特性), 應該是5線程同時在2秒返回結果, 但是結果是這樣的:按照結果來看, Node成串行執行了, 這和預想的結果完成不一致啊, 哪位能解釋一下代碼:app.get('/', function (req, res) {    var now = +(new Date())    connection.query('select count(*) from ACTIVITY group by name', function (err, result, fields) {        var curr = +(new Date())        var tmp = '耗時:' + (curr - now)        console.log(tmp)        res.send(tmp)    })})注: 不是數據庫處理的問題, 因為我用兩臺不同的機器, 執行相同的SQL語句, 時間都2秒
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

時間起始是 query 之前,結束是 query 完成,所以每個時間是 query 運行的時間,

Node 是異步了,但是你用的是同一個 connection,connection 本身是不是需要排隊呢?據我所知,多數數據庫在同一個 connection 中執行的 SQL 都是排隊挨個進行的……多個 connection 之間可能會并行。


查看完整回答
反對 回復 2018-12-25
  • 1 回答
  • 0 關注
  • 495 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號