Mysql Connection pool - SQLrelay 에 관해 질문드립니다.

gura2013의 이미지


안녕하세요 좋은주말입니다 ^^/
먼저 구현하고자하는 서버는 일종의 게이트웨이 서버로서 다수의 단발적인 연결이
이루어지고 대부분의 메시지들은 DB와의 연결을 필요로 합니다.
C/C++, EPOLL 구조로 접속을 받아 ThreadPoll에서 처리하는 방식으로 구현하였습니다.

각 쓰레드들은 최초 생성시 DB Connection 을 하고, 이를 유지하며 계속해서 메시지를 처리하는데
이러한 방식으로 구현하고자 하니 쓰레드풀의 크기많큼 DB Connection이 생성되어 유지되어야
한다는것이 부담스럽습니다.

그래서 이를 줄이고자 Connection Pooling을 하기위해 SQLrelay를 사용하고자 하는데
그에 대한 몇가지 질문이 있습니다.

1. Mysql은 오라클등에 비해 Conneciton의 부하가 적어 Connection Pooling을 사용하지 안는 것이 속도가 더 빠르다고
합니다. 이것이 사실이라면 많은 수의 Conneciton을 유지하게되더라도 이대로 구현하는것이 더 나은방법인지,
속도가 상대적으로 조금더 느리더라도 Conneciton Pool을 사용하여 Connection 유지의 부담을 줄여야 할지 고민됩니다.

2. 관련된 정보가 대부분 APM-Apache 의 웹어플리케이션에서 사용이 대부분인듯하여, 서버에서 사용해보신 선배님이 계시다면
SQLrelay에서 제공하는 C API들은 Thread-safe 한지 궁금합니다.

좋은주말되시길바랍니다.

preisner의 이미지

예상되는 클라이언트 규모에 따라 답변이 달라지겠습니다.
1. 몇개 클라이언트 규모를 예상하시나요?
1024개를 넘지 않을 것 같다면 굳이 pooling 할 필요는 없겠습니다만, 그 이상 된다면 connection pool 을 구현하시는게 좋겠습니다.
이 수치는 아주 일반적인 경우 입니다. 어떤 서비스를 하는 게이트웨이인지 에 따라 달라질겁니다.
connection pool 을 통해 db 연결을 관리하는게 더 나은 성능을 보이는 경우도 있습니다. 동시 클라이언트 갯수에 영향을 받습니다.
연결을 늘려가면서 테스트 해 보면 적절한 수치를 찾을 수 있을 겁니다.

2. 참고 하세요.
http://doc.dvgu.ru/db/sql_relay/faq.html#threadsafe

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.