안녕하세요
Node.js - AWS EC2(ubuntu) - mysql 로 서비스를 준비중인 허접 개발자 입니다..
서버 및 Mysql에 관련해서 자문이 필요해 이렇게 글을 쓰게 되었습니다.
서비스 특성상 1분에 Mysql select 질의를 약 150건 정도를 실행 하고 있습니다.
좀더 자세히 말하면, Node.js 특성상 Mysql 질의 후 실행하는 함수가 javascript가 그렇듯 비동기 콜백함수를 실행 하는데
그 함수양이 150건정도 되네요. (이기능을 A라고 하겠습니다)
A에 대해 좀더 설명하자면, 모든 글을 Mysql에서 DB에서 불러와 유저가 작성한 글의 특정 단어를 추적해
Mysql에서 값을 찾아 단어와 바꿔주는 기능입니다. (즉 반복문을 통해 Mysql 비동기 함수를 실행 하고 있습니다.)
그런데 A가 실시간이려고 1분마다 처리하고 있습니다...
웹페이지 라우팅 에 A를 추가해서 돌리고 있는데
보통 웹 페이지에서 로드가 1~3초 걸릴페이지가 이 기능 때문에 굉장히 느려지고 있습니다.
이 속도를 어떻게 하면 빠르게 처리할지 자문이 필요합니다 ㅠㅠ
현재 제가 생각한 방법은..
1. 병렬처리가 되는 DB로 바꾼다. (MongoDB 생각중입니다.)
2. 서버를 나눈다. (현재 자금이 부족한지라 서버를 나눌지.. Node의 app을 두개 실행할지 생각중입니다.)
이정도 생각 중인데 더나은, 혹은 조언, 자문 있으시면 댓글 달아주시면 고맙겠습니다 ㅠㅠ
뭔가 두서 없는 글이네요ㅠㅠ 조언에 궁금하신 부분 있으면 댓글로 달아 주셔요 ㅠㅠ