묻고답하기
로그인 지연 현상
2015.11.02 13:12
페이지 로딩 속도가 느린것도 아닙니다.
로딩 속도는 상당히 빠릅니다.
CPU는 10%도 못쓰는 상황입니다.
근데... 로그인, 로그아웃 이 엄청나게 지연되네요.
한번 로그인 버튼을 눌러서 안되면 두번 세번 눌러야 겨우 로그인이 되네요..
이게 또 잘 될때는 한번에 들어가 지기도 합니다만..
안될때는.... 10번을 눌러도 안되네요..
로그아웃도 마찬가지 입니다.
서버재부팅 해봤고. 캐시파일 재생성, 세션정리, XE_member DB 최적화
이정도 까지 해봤습니다.
버전 문제인가 싶어서
xe.1.8.7 까지 내려 봤는데 안되네요. 현재 1.8.13 사용중입니다.
조언 부탁 드립니다.
ps : 소셜 로그인 사용안하구요.
아이디로 로그인 합니다. (이메일 주소 로그인 사용 안합니다.)
몇가지 알아낸 사실중 하나는..
로그아웃 버튼을 눌러놓고 한참동안 로그아웃이 안되고 있는 상황에서..
페이지 아무곳이나 눌러서 게시판을 열어보면.. 로그인이 풀려진 상태네요...
로그인도 그런가 싶어서 해봤는데 로그인은 로그인이 안된상태로 페이지 열립니다.
댓글 15
-
기진곰
2015.11.02 14:17
-
좋은아빠되기
2015.11.02 14:34
우선 평소 기진곰님의 활동에 존경을 표합니다.
기진곰님 댓글 보기 전에 1차적으로 문제 원인은 파악했습니다.
기진곰님이 예로 주셨던 기진곰님이 만드신 휴면계정 정리 모듈에서 문제가 발생한듯 합니다.
음.. 휴면계정 정리 모듈을 우연히 살펴 봤는데. 이제껏 잘 썼었는데..
10월 26일부터 자동으로 메일이 발송이 안되고 있었습니다.
(그전에는 메일 발송 잘 되었습니다. 총 3816통 메일 발송했다는군요.. )
(10월 26일 이후에 제가 xe.1.8.11에서 13으로 업했습니다. 11 로 바꿔도 동일현상)
안내메일 일괄 발송을 눌러 보니깐. 168명에게 메일이 아직 전송되지 않았더군요
그래서 100명씩 끊어서 보낼려고 했는데.. 한참 기다려봤는데 오류메시지가 뜨더라구요...
그래서 제가
휴면계정정리모듈 - 기본설정에서 제일 아래쪽에 있는 안내 메일 자동발송을
정리 예정일 30일 이내에서 발송하지 않음으로 고치고 난뒤
로그인 로그아웃을 테스트 하니깐 잘됩니다.
그리고 방금 메일 일괄 발송을 테스트 할려고 하다보니.. 기간을 1년을 설정하여 메일 발송할 사람이 0명으로 뜨더라구요..(30일 이내 조건이 없어서...)
그래서 휴면 계정 판단 조건을 6개월로 고쳐서 저장을 누르니깐 화면이 백지가 됩니다...
추가적으로 더 테스트 해보겠습니다...
일단 메일 발송 기능을 끄니깐. 로그인 로그아웃은 잘 됩니다.
혹시 제가 잘못 판단하는것인가 싶어서
로그인 로그아웃 각각 20회씩 테스트 하였습니다.(30일내 메일발송 켬, 끔 상태)
ps : 비밀번호 알고리즘은 10에서 4로 줄여 봤는데 별차이 없더라구요. 현재 10상태입니다.
이것도 기진곰님께서 만들어 주셨으며 감사하게 잘 쓰고 있습니다.
이자리를 빌어서 감사 하다는 인사를 전합니다.
감사합니다.
추가로 더 해본것.
휴면 계정 정리 모듈 1.2 , 1.12 모두 동일 증상입니다.
* 고급 메일 발송 모듈 기능은 사용 안하구요.. 자체적으로 메일 보냅니다.
-
기진곰
2015.11.02 15:38
메일 발송 과정에서 오류가 발생하여 지연되는 모양이군요. 서버 자체의 메일 기능이 말썽인지도 모릅니다. 고급 메일 발송 모듈을 설치하면 메일 발송 테스트를 해보거나, 발송에 실패한 경우 로그를 남겨서 원인을 파악할 수도 있으니 한번 써보시기 바랍니다.
-
좋은아빠되기
2015.11.02 20:50
안그래도 메일 자체 문제인지 확인하기 위해서
아이디 비밀번호 찾기에서 제 메일 주소를 넣어 봤습니다.
메일은 정상적으로 잘 날아 옵니다.
근데. 분명 잘 작동 되던 기능인데..
앞서 말씀 드린바와 같이 10월 26일까지 작동을 잘 했었습니다.
별다른 업데이트는 안했구요...
업데이트시에 기록을 남겨둔건 아니지만 특별히 다른 모듈이나 애드온을 업데이트 한적도 없습니다.
한가지 있다면......
제가 DB에 바로 접근해서 포인트를 올리는 프로그램을 하나 짠게 있기는 하지만.
이 프로그램은 하루에 100회 미만으로 작동을 합니다..
우선 급한데로 기진곰님의 휴면계정 정리 모듈을 정지 시켜놨지만...꼭 필요한 기능이라서.
어떻게 더 원인을 찾아 봐야 할것 같습니다. 조언 감사 드리구요.
달리 생각나시는 부분이 있으시면 적어 놔 주시면 다시 한번 테스트 해보겠습니다.
지금부터 다시 테스트 해봐야 겠습니다.
-
좋은아빠되기
2015.11.02 20:52
일차적으로 저희 메일 서버는 문제가 없는것 같구요. 그래도 모르니까 말씀 하신 고급메일 발송 모듈을 설치해서 사용해 보고 댓글 남겨 두겠습니다.
감사합니다
-
좋은아빠되기
2015.11.02 21:24
이 글을 적으면서도 제가 이해가 전혀 안가지만 사실대로 적어보겠습니다.
1. 자체 메일서버 기능으로 아이디 패스워드 찾기는 아침부터 테스트 해봤는데 정상이었습니다.
2. 기진곰님 댓글을 보고 저녁 9시 쯤부터 테스트 진행했습니다.
3. 혹시나 싶어서 휴면계정 정리모듈의 안내메일 일괄발송을 했지만 메일 안보내 지고 결국은 에러 메시지가 나왔습니다.
4. 기진곰님 말씀대로 고급 메일 발송 모듈 설치 했습니다.
5. 고급 메일 발송 모듈 설치하고 PHP mail로 설정하여 아래쪽에 나오는 테스트로 메일 날려 봤는데 잘 날아 왔습니다.(자체 메일 서버 쓰는거랑 똑같은 상황)
6. 잘 되는건가 싶어서. 휴면계정 정리 모듈에서 안내메일 일괄 발송했습니다. 여전히 안되더군요.
7. 고급 메일 발송기능의 PHP mail은 서버의 기본 기능을 사용하는것과 동일하다는 제 유추가 맞더군요..
8. 우리 메일 서버를 등록해서 휴면계정 정리 모듈에서 안내메일 일괄 발송했습니다. 잘 날아가 집니다.
9. 메일 서버 문제가 확실하구나.. 그래도 모르니깐... 다시 PHP mail로 바꾸고 테스트 해봤습니다.
10. 90통일 메일을 보낼께 남아 있었는데 메일이 처음 발솔되다 9% 정도에서 안날가 가 지더라구요.
11. 안되면 안될것이지 이건 먼가? 싶어서 다시 우리 메일로 바꾸고 테스트 했습니다. 잘 날아 가집니다.
12. 다시 PHP mail로 설정하고 메일 보냈습니다. 메일 보낼것이 없어서 휴면계정 설정을 30일에서 45일로 변경했습니다. 역시 100통 메일이 잘 날아가집니다.
13. 이건 뭔가 싶더군요.... 아예 고급 메일 발송 기능을 사용하지 않음으로 했습니다.
14. 휴면계정 정리 모듈에서 안내메일 일괄 발송했습니다. 잘 날아가집니다.
(서버 기본 메일 서버 사용한것이죠)
15. 메일 보낼게 더 없어서 기간을 60일로 잡고 메일 다시 발송 1차례 해봤습니다.
여전히 잘 날아가 집니다..
16. 아직 72통의 메일을 발송할게 있지만..... 이건 자동으로 잘 보내 지는지 시간을 두고 기다려 보겠습니다.
결론은..... Woori 메일로 한번 보내고 나니깐.... 거의 정상으로 돌아 왔다.입니다.
10번 내용을 보시면 아시겠지만.. 9% 정도에 멈춤현상이 1회 있었지만....
암튼 잘 모르겠습니다.
테스트 하면서 하나씩 적은거라서.. 틀린 내용은 없을껍니다.
자동으로 메일 발송 잘 되는지 테스트 하면서 로그인 테스트도 수시로 진행해 보겠습니다.
순간적으로 발생한 현상이라고 보기에는...
앞서 말씀 드린것 처럼 10월 26일 이후로 휴면계정 관리 모듈에서 자동으로 안내 메일이 안보내 지고 있었습니다. 보낼 메일이 198통이나 밀려 있도록..
긴글 읽어 주셔서 감사합니다.
-
좋은아빠되기
2015.11.02 21:42
자동으로 메일 날아 가는것도 현재까지 3통 정도 날아 갔습니다....
갑자기 생각이 난것인데요....
원인은 아직도 모르지만...
저희 서버에서 글쓰기 버튼을 누르면 잘 사용하던 게시판인데도 불구하고
오류가 나면서 글쓰기가 안되는 버그가 있습니다.
이를 해결하기 위해서는 그 게시판에 있는 글 혹은 타 게시판에 있는 글을 약 20여개 정도 복사해서 그 게시판에 넣어서 게시물 수를 늘려준 다음
글쓰기를 누르면 잘 잘동합니다...
그러다가 또 글쓰기가 안되면 똑같은 짓을 반복을 하죠.. 이게 두서너달에 한번정도 그런 게시판이 생기더라구요.... 특정한 게시판만 그런게 아니고 모든 게시판이 그렇더라구요..
믿기 어려우시죠??
그냥 유추하기는 PHP 자체 오류 정도로 유추하고 있습니다.
그런 현상을 이번 메일 건에 비유해 보면.. 특정한 케이스에 딱 걸려서 메일이 안보내 졌던건데..
Woori 메일로 보내고 나서 그게 해결이 되었나 봅니다.
정확한 오류메시지는 기억이 잘 안나지만
Clone 어쩌구 하는 오류 메시지 였습니다.
어디 적어 놓은거 있나. 찾아 보고 있는데.. 찾으면 다시 적어 두겠습니다.
참고하세요.
ps : 이참에 php 버전을 올려야 할까 봅니다...
-
좋은아빠되기
2015.11.02 22:49
php 버전 올리는 것도 쉽지 않네요.. ㅠ.ㅠ
php 7 나오면 서버 교체할려고 생각중이었는데..
아직 centos5라서 안되는것이 생각보다 많네요.
잘 모르던 시절(지금도 잘 모르지만.)
컴파일 설치한것들이라서 remi 사용했다가는... 실 사용서버라서... 많이 복잡해 질것 같네요.
Gd가 버전이 낮아서.... 별짓 다해도. 결국 못깔았습니다.
일단 기본 메일 서버로도 작동은 하지만.. 또 위와같은 현상이 발생할까봐..
Woori 메일 서버 이용하는것으로 설정 바꿔놨고 일단은 포기 합니다...
직장인이라서 한곳에 오래 매달리기 힘드네요.. 추후 다른 시도 해보고
다시 댓글 남겨 두겠습니다.
결론은 제 서버 문제인것 같은데...
일단은 여기서 일단락 해야 할것 같습니다.
-
기진곰
2015.11.03 09:10
자세한 테스트 내역 잘 읽었습니다. 님의 추측처럼 어딘가 딱 걸리는 케이스가 있어서 거길 넘어가지 못하고 계속 오류를 뿜고 있었나 봅니다. 게시판에서도 비슷한 문제가 발생한다면 혹시 DB에 문제가 있지는 않은지 의심이 되기도 하네요. MySQL을 오래 사용하다 보면 DB가 손상되어서 오작동하는 경우도 있거든요.
현재 PHP 버전은 어떤 것을 사용하시나요? CentOS 5에서 yum으로 최대한 업데이트하면 5.3.3까지 올라가는 것으로 알고 있습니다. XE 1.8, 휴면계정 정리 모듈, 고급메일 발송 모듈 모두 정상 작동하는 버전이죠. 그러나 yum으로 설치하지 않고 직접 컴파일했거나 다른 곳에서 구한 rpm을 사용하셨다면 애매한 충돌이 일어나서 문제가 생길 가능성도 배제할 수 없습니다.
-
좋은아빠되기
2015.11.03 12:35
친절한 설명 감사 드립니다.
유추해주신 DB 부분은 일주일이나 한달에 한번 정도 옵티마이저나 기타 오류 체크는 시행하고 있습니다.
게시판 글쓰기 문제가 발생했을 때도 해봤는데.. 별 효과가 없었구요.
이번 메일 발송 지연으로 인한 로그인 지연 현상때도 별 효과가 없었던것 같습니다.
(최적화나 오류 수정만으로 DB 문제가 아니라고 단정은 어렵겠지만.. Mysql 5.6이라도 깔아아 하는건지...)
자랑스럽지 못한 서버 상태를 말씀 드리자면
Centos 5에 Apache 2.2.20(perfork), PHP 5.3.23, Mysql 5.1.51 사용중입니다.
(모두 컴파일 설치구요. php는 5.2 사용하다 2년전쯤이던가... php 5.3.23으로 업했습니다.)
php 5.4 부터는 Gd 2.1 이상을 필요로 하는데.....
GD 설치가 말썽이네요...
어제 5.4, 5.6 설치 할려고 쑈를 했는데.... 안되더라구요.
기진곰님 글 읽으면서 불현듯 생각난건데.
PHP 5.3 이더라도.. 5.3.29 버전이 최종버전이네요...
5.3.29라도 오늘 저녁에 깔아봐야 겠습니다. 혹 더심한 문제가 발생하는건 아닌지..
php 5.2를 기본 베이스로 제가 직접 작성한 프로그램들을 이제 겨우 php 5.6 까지 호환되게 프로그램 수정은 다해놨는데.. 저놈에 GD가 말썽을 부리네요.
yum 이용해서 GD 2.1로 올리는 방법을 찾으러 가봐야 겠습니다.
(이것도 솔찍히 겁나서 못해볼지도... 서버 멈추면 큰일 나거등요. ㅎㅎㅎ)
신경 써주셔서 감사합니다.
이글을 읽으시는 분들께 한말씀 드리자면
기진곰님 모듈 자체 문제가 아닌 제 서버쪽 문제가 거의 확실합니다.
괜한 글로 기진곰님 프로그램에 문제가 있다는 해석은 없었으면 합니다.
ps : 시간내서 php 5.3.29 설치 시도 했는데 libphp5.so 파일 생성이 안되서....
php 5.3.28 설치 했습니다. 이놈은 libphp5.so 파일 생성 잘되네요... 뭐가 문젠지.. 쩝..
-
좋은아빠되기
2015.11.03 21:45
게시판 글쓰기 오류 메시지 찾았습니다.
Fatal error: __clone method called on non-object in /절대경로명/xe/classes/db/DB.class.php on line 627
위와 같은 오류입니다.
php 5.3.28로 올렸는데요..
여전히 위와 같은 오류가 나네요.. ㅠ.ㅠ
참고하세요.
-
기진곰
2015.11.04 09:20
쿼리를 실행하면서 변수를 잘못 전달하는 부분이 있는 것 같아요. 에러 로그를 뒤져서 저 에러가 발생하기까지의 과정을 파악할 수 있다면 도움이 되겠네요. (어느 파일의 어느 함수에서 어느 파일의 어느 함수를 호출했다는 기록이 다 남습니다.)
-
좋은아빠되기
2015.11.04 12:48
제가좀 잘 몰라서.. 어느 로그를 말씀 하시는지 잘 모르겠습니다.
쿼리라고 말씀 하셔서... 의도적으로 위 오류가 나도록 한뒤(현재 딱 저런 상태의 게시판이 있습니다.)
msyql 로그를 확인해 봤는데 아무런 오류 로그도 없었습니다.
그리고 apache 로그도 확인했는데... Fatal error: __clone method called on non-object in /절대경로명/xe/classes/db/DB.class.php on line 627 이런 메시지 말고는 별다른 내용은 없네요.
다른 로그 말씀 하시는것 같은데.. 알려 주시면 다시 한번 찾아 보겠습니다.
감사합니다.
-
기진곰
2015.11.04 13:05
아파치 에러로그입니다.
PHP 버전이나 모듈구성에 따라 치명적 에러 한 줄만 기록되는 경우도 있고 backtrace 전체가 기록되는 경우도 있는데, 님의 서버는 한 줄만 기록되는 모양이네요 ㅠㅠ
-
좋은아빠되기
2015.11.04 13:47
일단 저희 서버는 1줄만 기록이 되네요 ^___^;;
원인은 게시판과 동일한 문제 같은데...
제 실력이 부족해서...... 담에 실력을 쌓아서 다시 오류 수정 시도해 봐야 겠습니다.
지금까지 친절한 설명 감사 드립니다.
회원 설정의 비밀번호 암호화 알고리듬과 소요시간이 어떻게 지정되어 있나요? 서버 사양에 비해 지나치게 강력한 알고리듬을 선택하면 로그인 속도가 느려질 수 있습니다. 그러나 암호화와 무관한 로그아웃 기능까지 느려진다면 그 문제는 아닐 가능성이 높고요...
일단 말씀하신 증상은 실제 로그인이 되기 전에 시간이 한참 걸리고, 실제 로그아웃은 금방 되지만 그 후에 화면이 전환되기까지 또 한참 지연된다는 거지요? 그렇다면 로그인 전, 로그아웃 후에 각각 실행되는 기능을 의심해 볼 수 있겠습니다. 이런 것에 붙어있는 트리거가 은근히 많거든요. 소셜로그인이 아니더라도 회원계정과 조금이라도 관련이 있는 애드온이나 모듈을 사용하고 있다면 의심해 보셔야 합니다. (예: 휴면계정 정리모듈)