내 Node.js를 코드 왜 Node.js의 MySQL이 느린가요?
아래 코드 1과 같다 :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(...);
아래 문제는 내가 너무 빨리 페이지를 새로 고침 할 때 서버가 충돌 될 것입니다. 나는 노드 - mysql 모듈의 문제라고 생각한다. 큐에있는 쿼리를 처리한다. 그래서 나는 연결 풀을 만들려고 노력한다.
CODE2 : 아직 여기
....
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);
});
....
그러나 문제 아래, 왜? 이 문제를 어떻게 해결할 수 있습니까?
EDIT : 100 개의 동시성, 100 초의 예상 요청을 실행합니다. 하지만 20 초 정도 걸립니다. 왜? 풀은 최대 5 개의 연결 만 지원합니까?
어떤 검색어입니까? 적절한 인덱스에 의해 뒷받침됩니까? –
이와 관련하여 도움을 받으려면 의사 코드 이상을 게시해야합니다. – JohnnyHK
쿼리를 노드를 통하지 않고 명령 줄에서 실행할 때 얼마나 걸리나요? –