자유게시판

제목 안녕하세요. 오랜만입니다.
글쓴이 곰돌이 작성시각 2013/04/04 16:27:42
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 9984   RSS
전회사에서 CI사용해서 조금 활동했었는데, 다른회사로 옮겨오면서 뜸하게됐네요~

다름이 아니라 도움좀 받고자해서 방문했어요~~

지금 운영하고 있는 사이트가

10대쇼핑몰인데, 방문자가 몰리면 DB때문에 다운되는 현상이 근래 들어서 잦아졌어요~

총회원수는 90만명쯤 됩니다.  하루 방문자는 4만명~7만명쯤되구요..  페이지뷰는 50만~100만쯤나와요.

운영하면서 느낀게, 하드웨어상 문제이기보다 잘못된쿼리가 곳곳에 있는것 같아서요..

제가 규모가 큰사이트를 운영하는건 처음이고, 쿼리하나때문에 사이트가 휘청거리는 규모의 사이트 경험이 없다보니

실수가 많습니다.

90만명 회원 인덱스도 안걸려 있는 필드 쿼리 잘못날렸다가 뻑난적도 많구요..

그래도 시간이 지나면서 자연스레 배우게된것도 있는데,


이외에도 대형 쇼핑몰이 갖춰야할 디비 튜닝방법이 있을것 같은데

컨설팅 및 교육 좀 받을려고 합니다. 회사 차원에서 진행하는거구요.. 비용은 충분히 나갈껄로 예상됩니다.


저희 사이트 주요소스 보면서 소스 쿼리점검 받고 싶습니다. 하루~이틀정도면 될듯하구요..

예를 들면 기존엔
select * from table 이런식 쿼리 많았는데, 최근들어서 꼭 필요한 필드만 가져와서 쓰라고 해서

select index_no, name from table 이런식으로 수정했구요.

리뷰평점 누적된거 count랑 sum으로 실시간으로 계산해서 리스트에 뿌려주던것들 수정했구요.. 이런것들이 많은것같아요


서버까지 관리하실수 있는 분이면 더 좋겠습니다. 데몬? 으로 돌면서 하루에 한번씩 통계나, 생일쿠폰 발송등등

특정시간에 자동으로 처리되는것들도 많은데 이런것들도 점검 가능한분이면 더 좋겠어요~

서버 사양이 낮아서 다운되는건지.. 메모리를 더 늘려야되는지..


이런것들 통괄적으로 하실수 있는분이면 좋겠어요~~

쇼핑몰 하루 매출이 오후5시~10시사이에 80%넘게 발생하는데.. 한달내에 그시간대에 서버 뻗은적이 두번이나 있으니..

데이터가 누적되면서 앞으로 더 위험해질것 같은데.. 컨설팅 좀 받고자 합니다.~


연락은 010-4812-1555 남성민 제 연락처입니다.
하루나 이틀정도 서버상태점검 + DB튜닝 + 쿼리점검 가능하신분이면 좋겠습니다.

현재는 외주업체에서 일이 터져야 봐주고 있는 상황이라.. 이번에 컨설팅이 잘 이루어지면 고정적으로 관리넘겨드릴수도 있습니다.

회사내에서 외주업체바꾸는건 확정난상태고 메이크샵이나 이호스팅(일베, 인스티즈, 뽐뿌 이런곳들 관리하더라구요)

http://www.ehostidc.co.kr/server/server_list.php 쪽으로 서버관리 넘길려고 내부적으로 회의중인데, 업체 추천해주셔도 좋구요~




 다음글 php 하는 사람으로써 자부심을 가지세요. (3)
 이전글 모델은 쿼리 모음집이 아니다?! (4)

댓글

변종원(웅파) / 2013/04/04 16:45:42 / 추천 0
slow query가 얼마나 되는지 먼저 뽑아보시는게 좋을 것 같네요.

그걸 바탕으로 어느 수준까지 튜닝할건지 나와야 견적이 나오겠네요. ^^


risa / 2013/04/04 18:13:04 / 추천 0
간단한 팁이 몇가지 있습니다.

쿼리시 유념 할것.

1. 풀스캔 인가?

이 쿼리는 데이터 로우를 전체적으로 스캔해서 가져오는건가?

2. 인덱스 필드를 타고 있는가?

예를 들면 count(*) 를 먹인다고 해도 index가 잡혀있는 필드로 먹이는게 기본입니다.
그외에 뭔가 집계 관련한 것을 할때 다른 필드 보단 인덱스가 잡힌 필드로 하는것이죠.
그러라고 잡는게 인덱스 입니다.

3. 쓸데없는 조인 이나 유니온을 걸어놓지 않았나?

4. 필요이상의 필드를 가져오고있지 않은가?

말씀하신것 처럼 * <- 보다는  select item1, item2, item3  from table 

5. 조인시 누구를 주체로 잡는가?

ON  A.code = B.code <- 이것과
ON B.code = A.code <- 이건 차이가 있습니다.

리턴 값은 같아도 엔진은 다르게 돌아갑니다.

일단 웅파님 말대로 슬로우 쿼리들 부터 다 찾는게 중요할듯.