로그인 후 느려지는 증상
본문
사이트를 옮기려고 테스트 서버를 구축했는데요.
로그아웃 상태에서는 페이지 전환이 정상인데 로그인만 하면 너무 느려집니다.
CentOS7, php7.4.33, 각종 모듈 모두 동일하게 설정했는데 그러네요.
tsql로 mssql 서버 연결해봤는데 12초 정도 걸리네요. 이게 영향이 있을까요?
러닝서버는 1초만에 연결됩니다.
도대체 뭐가 원인일까요? 지금 3일째 삽질하고 있습니다.
SSL 인증서를 미리 설치해뒀는데 이제 원인이 될 수도 있을까요?
고수님들 도와주세요.
실마리라도 찾고 싶습니다.
답변 2
그누보드/영카트가 맞는지요?
만약 그누보드가 맞다면,
이런 속도 문제의 경우 원인을 찾는 것(문제되는 코드)이 제일 중요합니다.
<?php
$start = microtime(true);
include_once 'common.php';
echo "로딩시간: " . (microtime(true) - $start) . "초";
?>
로그인 상태에서 ~/debug_test.php에 접속해서 느리다면 common.php에 문제가 있는 겁니다.
common.php를 복사해서 common_debug.php를 만들고, debug_test.php에서 include_once 'common_debug.php';로 변경합니다.
그다음 common_debug.php에서 아래쪽부터 조금씩 지워가면서 시간을 측정하여 문제가 되는 코드 블록을 찾아내는 것이 핵심입니다.
만약 common.php가 문제가 아니라면, 로그인 후 실행되는 다른 파일들도 동일한 원리로 단계별 디버깅을 해나가면 됩니다.
이런 식으로 단계별로 범위를 좁혀가면 정확한 원인을 찾을 수 있게 됩니다.
원인/문제지점을 먼저 찾지 않고 이런저런 추측으로 시도하다보면,
정말 운 좋은 경우가 아니라면 몇 달이 걸릴 수도 있습니다.
!-->다양한 원인이 있을수 있는데.. 아래의 내용도 한번 확인을 해보시는게 어떠실지요?
1. 세션 저장방식에서 문제인지
# php.ini에서 세션 설정 확인
session.save_handler
session.save_path
2. 아파치 또는 nginx 에서 애러 로그 확인
예)
tail -f /var/log/httpd/access_log
tail -f /var/log/httpd/error_log
3. PHP 에러로그를 활성화해서 로그 확인
// php.ini 또는 사이트 설정에서
error_reporting = E_ALL
log_errors = On
error_log = /path/to/error.log