PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2021/05/24 17:21:33
Name 당근병아리
Subject [일반] PGR21 검색조건 AND (수정됨)
안녕하세요. PGR21 개발운영진 당근병아리입니다

2월말부터 서버 이상으로 제가 여러가지를 노력하였습니다.
그 순간은 효과가 있었지만 점점 부하주기가 짧았지면서 문제가 발생하였습니다.
특히 유머 와 자유게시판 검색할 때 과부하가 온다는 log가 많습니다.

저는 이에 대한  마지막 조치하였습니다.

1. 소스점검
2. 검색조건 변경
- OR 에서 AND 변경

PGR21 유저여러분
원활한 활동을 해주시며 감사하겠습니다.

이후 문제가 발생하면 노후화 된 서버 문제로 보고 서버를 교체하려고 합니다.

감사합니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
VictoryFood
21/05/24 17:30
수정 아이콘
서버교체 덜덜덜
피지알에 배너하나 더 답시다.
21/05/24 17:35
수정 아이콘
고생 많으셨습니다.

툴 자체가 20년 되어가는 ZB4 기반이라 해볼만큼 해보지 않았을까 싶기도 한데, 기반구조 자체가 바뀌지 않는 이상은 어쩔 수 없지 않나 싶기도 하네요..
커피소년
21/05/24 17:40
수정 아이콘
최후의 수단이지만 검색 조건 변경은 아쉽긴 하네요 ㅠㅠ
마감은 지키자
21/05/24 17:42
수정 아이콘
항상 감사합니다.
지금 댓글 검색이 안 되는데, 혹시 아직 점검 중인가요?
당근병아리
21/05/24 17:48
수정 아이콘
댓글이 검색됩니다.
마감은 지키자
21/05/24 17:51
수정 아이콘
검색창에서 댓글에 체크하고 검색을 하면 아무런 메시지도 없는 메시지창만 뜹니다. 댓글에 체크 안 하면 검색이 되고요.
혹시 파폭 문제인가 싶어서 크롬에서도 해 봤지만 마찬가지네요.
당근병아리
21/05/24 17:54
수정 아이콘
(수정됨) 게시판에 대한 검색이 조건들의 교집합으로 검색되니 댓글내용만 체크하고 검색하면 결과가 나올겁니다.
jjohny=쿠마
21/05/24 18:41
수정 아이콘
검색란에서 subject 필드랑 content 필드 중에서 subject 필드를 해제하고 검색하셔야 의도하신 대로 검색이 되는 것 같습니다. 시도해보시기 바랍니다.
마감은 지키자
21/05/24 18:54
수정 아이콘
해 봤는데, 댓글에 체크한 상태에서는 subject만 해제해도, content만 해제해도, 둘 다 해제해도 검색이 안 되네요..ㅠㅠ
그래도 신경 써 주셔서 감사합니다.
jjohny=쿠마
21/05/24 18:56
수정 아이콘
저는 이래저래 테스트해보고 어느 정도 감을 잡았는데요,
일단 어떤 검색어를 검색하려고 하셨던 건지 알려주시면 왜 안되는지 해설해드리겠습니다.
마감은 지키자
21/05/24 19:02
수정 아이콘
자유게시판에서 '호랑이'가 들어간 댓글을 찾으려 했던 것이었습니다.
그래서 시험 삼아 게임게시판에서 '담원'이 들어간 댓글을 검색하는 등 여러 게시판에서 이런저런 검색어를 넣어 가며 시도해 봤지만 댓글 검색은 안 되네요. 본문 검색은 잘 됩니다.
jjohny=쿠마
21/05/24 19:06
수정 아이콘
https://cdn.pgr21.com./freedom/0?sc=on&cmt=on&keyword=호랑이

위 링크가 해당 검색결과인데요, 아래와 같은 조건으로 검색했습니다.

검색어: 호랑이
댓글: 체크
name: off
subject: off
content: on

많은 검색결과들이 잡히고,
1페이지 맨 아래가 21년 2월 게시물이고([일반] 톰과 제리 보고 왔습니다(노스포 후기))
1페이지 맨 위가 지금 이 공지 게시물입니다. (댓글에서 "호랑이"가 언급되었기 때문에...)

같은 조건으로 검색하신 게 맞는지 확인해보시기 바랍니다.

p.s) 겜게에서 담원으로 댓글내용 검색하면 다음과 같습니다.
https://cdn.pgr21.com./free2/0?sc=on&cmt=on&keyword=담원
마감은 지키자
21/05/24 19:17
수정 아이콘
올려 주신 링크로 들어가 봤습니다만 역시 에러메시지만 뜹니다. 혹시나 해서 파폭, 크롬, 엣지, IE에서 해 봤지만 차이가 없습니다.
신기하네요. 결과가 다르다는 게...
지금 카페에서 노트북을 쓰고 있는데, 혹시 집에 있는 데스크탑에서는 되는지 있다가 확인해 봐야겠습니다.
jjohny=쿠마
21/05/24 19:36
수정 아이콘
마감은 지키자 님// 어 혹시 우회주소(ppt21 등) 쓰고계셨으면 뭔가 안맞을 수도 있을 것 같긴 한데요, 그 부분은 어떠실까요? 시도해보시고 말씀해주세요~

(제가 지금 ppt21.com 접속해서 시도해보니까 에러메시지가 뜨네요.

회원님이 겪으신 에러의 원인이 이건지는 모르겠지만, 일단 우회주소 관련해서는 개발운영진에 전달하겠습니다.)
마감은 지키자
21/05/24 19:40
수정 아이콘
jjohny=쿠마 님// 저는 우회주소를 안 씁니다. 올려 주신 링크를 복붙해 봐도 똑같은 것을 보면 뭔가 다른 문제 같네요.
지금 확인했는데, 모바일(아이폰 사파리)에서도 에러메시지가 뜹니다.
이건 진짜 신기하다고밖에...
jjohny=쿠마
21/05/24 19:40
수정 아이콘
(수정됨) 마감은 지키자 님// 다시해보니까 제가 검색에 실패한 게 우회주소라서 안된 게 아니고, 비로그인상태에서는 댓글검색이 안되는 듯 하네요.

ppt21에서 로그인해서 검색했더니 또 검색이 잘 됩니다. 반대로 pgr21 주소에서 로그아웃하고 검색했더니 말씀하신 것과 같은 현상이네요.

혹시 로그인 상태에서 검색하고 계신 것은 맞는지 확인 부탁드립니다.
마감은 지키자
21/05/24 19:50
수정 아이콘
jjohny=쿠마 님// 로그인 상태에서 검색했습니다. 항상 로그인 하고 사용 중입니다.
jjohny=쿠마
21/05/24 19:52
수정 아이콘
마감은 지키자 님// 확인 감사합니다. 해당 내용까지 개발운영진에 전달하도록 하겠습니다.
jjohny=쿠마
21/05/25 07:58
수정 아이콘
마감은 지키자 님// 개발운영진에서 한번 더 손보셨다고 하는데요, 한 번 시도해보시고 안되면 다시 알려주시기 바랍니다.
당근병아리
21/05/25 08:10
수정 아이콘
마감은 지키자 님// 불편함을 주어서 죄송합니다 제가 퀴리를 수정했으니 되실 것으로 예상됩니다.
21/05/24 17:50
수정 아이콘
고생 많으십니다. 검색 게시물 수에 제한을 두시는 것을 제안드립니다. 오래된 게시물 검색시 계속검색 같은 버튼을 사용하게끔 하면서요. 괜히 디시를 포함한 많은 사이트에서 계속검색...을 쓰게끔 하는게 아닐겁니다. 전체 DB를 뒤지는데는 심각한 부하가 있습니다.
당근병아리
21/05/24 17:59
수정 아이콘
개발운영진 방에서 의논하겠습니다
21/05/24 18:45
수정 아이콘
고생 많으십니다 혹시 다른거 질문해도될까요

https://cdn.pgr21.com./proposal/10850(화면캡쳐이미지)

https://cdn.pgr21.com./humor/0?1=1&page=2&category=37
아무것도 안뜨는데 다른탭은 안그러거든요
왜그런건가요?
jjohny=쿠마
21/05/24 18:55
수정 아이콘
(수정됨) 아래 링크를 보면 '유머게시판 2페이지(page=2) 중에서 텍스트 카테고리(category=37)를 띄우도록' 되어 있습니다.
현재 유게 2페이지에는 텍스트 카테고리 게시물이 없어서 그렇다고 보시면 될 것 같습니다.

아래 링크에서 "page=2"를 "page=1"로 수정해보시면 결과가 나올 겁니다.
(아니면, 아래 링크 들어가셔서 검색결과 중 1페이지 버튼 클릭해보시면 결과가 나올 겁니다)
21/05/24 19:52
수정 아이콘
감사합니다
다리기
21/05/24 20:25
수정 아이콘
고생 많으십니다.
PGR 아플 때마다 의사양반으로 변신하시는...크크
ComeAgain
21/05/24 20:40
수정 아이콘
마지막 문구는 '안심하고'가 빠진 느낌이...

감사합니다 운영진
21/05/24 21:25
수정 아이콘
(수정됨) or를 and로 변경하셨음에서 추정컨데 아마도 여러조건에 대한 or검색으로 쿼리의 실행계획이 전체 액세스로 풀리었을 것이고, 이는 세션간 심각한 블로킹을 유발하였을 것으로 추정합니다.

따라서 위의 분 제안대로 or로 두되 상위 100개 정도 중에 해당 검색어 만족하는 row 반환하는 형태로 쿼리를 변경하심을 제안드립니다.

전체 액세스 한 후에 조건에 맞는 100건과 100건 중에 조건에 맞는 row는 다름으로 실행계획에 유의하십시오.
당근병아리
21/05/25 09:58
수정 아이콘
OR 검색이 원래 부하가 심합니다
100건 검색되도록 참고하겠습니다.
21/05/25 12:05
수정 아이콘
네, 과도한 or는 옵티마이져의 풀스캔을 유발합니다. 따라서 어쩔 수 없는 상황이라면 union all로 풀어서(SQL Server 기준) 연결하시는 편이 좋습니다.

다만 union과 union all은 distinct로 인한 심각한 성능차이가 발생하므로 반드시 후자로 사용하셔야 합니다
당근병아리
21/05/25 13:31
수정 아이콘
저는 스핑크스를 도입하려고 합니다.
21/05/25 13:52
수정 아이콘
검색엔진 도입으로 이해했습니다. 글이 한번 작성되고 나면 수정이 빈번하지는 않다고 ,-키워드가 변경 될 정도의 큰 수정- 가정하면 대세에는 크게 영향을 줄 것 같지는 않다는 생각은 드네요. 장기적으로 검색이 다양화 되는 방향을 생각하면 좋은 방안 같습니다.
당근병아리
21/05/25 14:06
수정 아이콘
여러모로 생각해 보겠습니다. 의견을 내주셔서 감사합니다
농담곰
21/05/24 21:56
수정 아이콘
보이지 않는 곳에서 늘 수고해주셔서 감사합니다~!
라라 안티포바
21/05/25 00:15
수정 아이콘
불판에서 버벅여서 걱정했는데, 자게와 유게라면 다행히 저는 범인이 아니었던거군요 휴
노러쉬
21/05/25 08:53
수정 아이콘
불판만 따로 옴겨도 괜찮을 것 같습니다. 사실 제로보드가 라이브채팅에는 안 어울린다고 봐서.
포도사과
21/05/25 09:22
수정 아이콘
혹시 날쿼리 들어가는 구간 있다면 격리레벨을 dirty read로 바꾸시면 퍼포먼스가 좀 오를거같긴한데^^;
제로보드를 잘몰라서 적용이 가능 할지 모르겠네요
당근병아리
21/05/25 09:59
수정 아이콘
검색필드를 좀더 명확히 한다음에 최적화하려고 합니다.
포도사과
21/05/25 12:57
수정 아이콘
좋은 답변 감사합니다 ^^
아델라이데
21/05/25 10:58
수정 아이콘
(수정됨) 제 생각엔 유머, 자유게시판의 글 작성(INSERT)과 조회(SELECT)가 경합을 일으키는게 주요 원인인 것 같습니다..
잘 아시겠지만, 조회 쿼리문에 WITH UR; 붙이는 것만으로도 서버 부하를 확 줄일 수 있습니다. 혹시 안해보셨다면 한번 반영 해 보시는건 어떨까요?
그리고 경험상 or 문은 키워드 갯수만큼 쿼리를 분리하여 union all 로 가는게 좋더군요..
당근병아리
21/05/25 11:41
수정 아이콘
MariaDB입니다
Transaction Isolation Level 는 REPEATABLE-READ입니다
이번 수정(검색 및 기타작업)으로 커넥션풀이 안정화되었습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
공지 [정치] [공지] 정치카테고리 운영 규칙을 변경합니다. [허들 적용 완료] [126] 오호 20/12/30 275986 0
공지 [일반] 자유게시판 글 작성시의 표현 사용에 대해 다시 공지드립니다. [16] empty 19/02/25 341770 10
공지 [일반] [필독] 성인 정보를 포함하는 글에 대한 공지입니다 [51] OrBef 16/05/03 463712 29
공지 [일반] 통합 규정(2019.11.8. 개정) [2] jjohny=쿠마 19/11/08 338090 3
102745 [일반] SNS, 메신저는 아무리 엄청나게 성공해도 오래 못 가는 듯 합니다. [13] 뭉땡쓰1481 24/11/26 1481 0
102744 [정치] 오세훈 시장 측, 명태균에게 21년 보궐선거 당시 3,300만 여론조사비 대납 의혹 [15] 린버크2177 24/11/25 2177 0
102743 [정치] '오세훈 스폰서' 강혜경에게 "명태균에 20억 주고 사건 덮자" [17] 물러나라Y2360 24/11/25 2360 0
102742 [일반] <위키드> - '대형' '뮤지컬' 영화가 할 수 있는 것.(약스포?) [6] aDayInTheLife789 24/11/25 789 1
102741 [정치] [속보] 이재명 위증교사 1심 무죄 [224] 물러나라Y16090 24/11/25 16090 0
102740 [일반] 『눈물을 마시는 새』 - 변화를 맞이하는 고결한 방법 [31] meson5128 24/11/24 5128 61
102739 [일반] <아케인 시즌 2> - 기대보단 아래, 걱정보단 위. (약스포) [13] aDayInTheLife3962 24/11/24 3962 2
102737 [일반] 린치핀 — GPT 세계에서 대체 가능한 톱니바퀴를 벗어나려면 [21] Kaestro5934 24/11/24 5934 10
102736 [일반] [팝송] 트래비스 새 앨범 "L.A. Times" [1] 김치찌개4080 24/11/24 4080 0
102735 [일반] 하프 마라톤 거리 뛰기 성공 [18] a-ha5821 24/11/23 5821 20
102734 [일반] 아케인 시즌2 리뷰 - 스포 다량 [36] Kaestro4490 24/11/23 4490 0
102733 [일반] DDP 야경을 뒤로 하고 프로미스나인 'DM' 커버 댄스를 촬영하였습니다. [22] 메존일각3832 24/11/23 3832 13
102732 [일반] 잘 알려진 UAP(구 UFO) 목격담 중 하나 [15] a-ha5094 24/11/23 5094 2
102731 [일반] 지하아이돌 공연을 즐겨보자 [12] 뭉땡쓰3859 24/11/23 3859 1
102730 [일반] 노스볼트의 파산, 파국으로 가는 EU 배터리 내재화 [74] 어강됴리10348 24/11/23 10348 6
102729 [일반] 한나라가 멸망한 이유: 외환(外患) [8] 식별4018 24/11/22 4018 16
102728 [일반] 소리로 찾아가는 한자 52. 윗입술/웃는모습 갹(⿱仌口)에서 파생된 한자들 [6] 계층방정2361 24/11/22 2361 3
102726 [일반] 동덕여대 총학 "래커칠은 우리와 무관" [191] a-ha18285 24/11/22 18285 22
102725 [일반] 조금 다른 아이를 키우는 일상 4 [17] Poe4307 24/11/22 4307 32
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로