Benim node.js Kod Neden MySQL Node.js içinde bu kadar yavaş?
altında Kod1 gibidir:var http=require('http');
var MySQL = require('mysql');
mysql = MySQL.createConnection(...)
http.createServer(function(req, res){
// the query will take several seconds
mysql.query("SELECT SLEEP(1)", function....)
});
http.listen(...);
altında Sorun çok hızlı sayfayı yenileyin sunucu çökmesi olacaktır. Node-mysql modülünün problemi olduğunu düşünüyorum, sorguyu bir kuyrukta işliyorum. Bir bağlantı havuzu oluşturmaya çalışıyorum.
code2: hala burada
....
var pool = require('generic-pool');
var mp = pool.Pool({
...
create: function(cb){
client = MySQL.createConnection(...);
cb(null, client)
},
max: 10, // up to 10 connection
min: 2,
...
});
....
mp.acquire(function(err, mysql){
// the query will take several seconds
mysql.query("SELECT SLEEP(1)", function....)
mp.release(mysql);
});
....
Ama sorunun altında, Neden? Bunu nasıl düzeltebilirim?
DÜZENLEME: 100 eşzamanlı, 10 saniye beklenen 100 istek başlatıyorum. Ama 20 saniye sürüyor. Niye ya? Havuz sadece 5'e kadar bağlantıyı destekliyor mu?
Sorgu nedir? Uygun dizinler tarafından destekleniyor mu? –
Bu konuda yardım almak için sözde koddan daha fazla posta göndermeniz gerekecek. – JohnnyHK
Düğüm aracılığıyla değil, komut satırında çalıştırdığınızda sorgu ne kadar sürer? –