試驗的邏輯比較簡單, 就是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秒
Node并發訪問時與猜想的結果不致
翻閱古今
2018-11-21 18:13:01