>데이터 베이스 >MySQL 튜토리얼 >Node.js 및 MySQL을 사용한 연결 풀링은 애플리케이션 성능을 어떻게 향상합니까?

Node.js 및 MySQL을 사용한 연결 풀링은 애플리케이션 성능을 어떻게 향상합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-05 09:10:03267검색

How Does Connection Pooling with Node.js and MySQL Boost Your Application's Performance?

Node.js 및 MySQL을 사용한 연결 풀링

애플리케이션의 MySQL 사용을 최적화하면 성능과 효율성을 향상시킬 수 있습니다. 이 기사에서는 node-mysql 모듈을 사용하는 연결 풀링 기술을 살펴봅니다.

연결 풀링

연결 풀링을 사용하면 각 쿼리에 대해 데이터베이스에 대한 개별 연결을 설정할 필요가 없습니다. 대신 재사용 가능한 연결 풀이 유지되므로 쿼리 실행 속도가 향상되고 리소스 소비가 줄어듭니다.

연결 풀링 구현

연결 풀링을 구현하려면 다음을 사용하여 풀 개체를 생성하세요. mysql 모듈의 createPool() 함수:

var mysql = require('mysql');

var pool = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'guess'
});

풀 개체를 재사용을 위해 별도의 모듈(예: mysql.js)에 저장합니다.

데이터베이스 쿼리

연결 풀을 사용하여 쿼리를 실행하려면 mysql.js 모듈이 필요하고 연결을 얻습니다.

var mysql = require('../db/mysql').pool;

var test = function (req, res) {
    mysql.getConnection(function (err, conn) {
        conn.query("select * from users", function (err, rows) {
            res.json(rows);
        });
    });
};

모범 사례

  • 풀 크기: 애플리케이션의 예상 로드를 기준으로 최적의 풀 크기를 결정합니다.
  • 연결 처리: release()를 사용하여 연결을 다시 풀로 해제합니다. 방법.
  • 연결 종료: 풀로 다시 해제되더라도 더 이상 필요하지 않은 경우 수동으로 연결을 닫습니다.

연결 반환 풀에서

연결 검색을 단순화하려면 연결을 검색하는 함수를 반환하도록 mysql 모듈을 수정하세요.

var getConnection = function (callback) {
    pool.getConnection(function (err, connection) {
        callback(err, connection);
    });
};

module.exports = getConnection;

이렇게 하면 직접 연결을 얻을 수 있습니다.

var getConnection = require('../db/mysql');

getConnection(function (err, connection) {
    // Use the connection...
});

위 내용은 Node.js 및 MySQL을 사용한 연결 풀링은 애플리케이션 성능을 어떻게 향상합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.