[Redis] php 세션 저장소를 redis 로 바꾸어 본 후기.
2021.04.11 18:41
[Redis] php 세션 저장소를 redis 로 바꾸어 본 후기.
일반적으로 PHP 세션은 파일 형태로 다루어지고,
/var/lib/php/sessions/
위치에 serialize 되어 저장됩니다.
어떤 웹 프로그램의 속도가 느려서 디버깅을 했었는데, 느린 부분이 session_start() 구문이었다.
저 한 줄 실행하는데, 1.2초~ 2.5초가 걸리더라.
하나의 PHP 파일에 대하여, 동시에 20개의 POST 요청을 하는 프로그램이었다.
- 세션 구문이 느리니까 개선을 위하여 redis 를 설치해 보았다.
공식사이트는 이곳 (http://redis.io/download) 이다.
PHP 연동 파일은 http://redis.io/clients#php 에서 찾아볼 수 있다.
라엘이는 phpredis 를 선택해서 설치하였다.
설치방법은 사이트에 잘 나와있으니 따라하면 된다.
적용 직후 반응 속도가 대폭 개선되었다.
1. redis 서버 설치
# apt install redis
redis-server 가 설치된다.
2. 확인
# service redis status
3. PHP 의 session handler 로 사용하기 위해 PHP 모듈 설치
# apt-cache search redis | grep php
# apt install php-redis
4. session handler 를 redis 로 설정
https://github.com/phpredis/phpredis#installingconfiguring 을 보고 설정함
나는 php-fpm 에서 설정했다.
1
2
|
php_value[session.save_handler] = redis php_value[session.save_path] = "tcp://localhost:6379?weight=1" |
5. 실행중인 PHP 를 재시작
나는 php7.3-fpm 을 재시작했음. Apache 사용자라면 apache2 서비스를 재시작하면 된다.
6. 속도 확인!
[출처] https://blog.lael.be/post/1494
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.