ezLink 사용 중 한세님께서 동시 접속자 수가 100여명 정도되는 상황에서 에러가 발생한다고 알려주셔셔 확인해봤습니다.
확인 결과 ezLink에서 사용 중인 postgresql 데이터베이스의 최대 동시 접속자가 기본으로 32 연결로 설정되어 있어서 그 이상이 접속할 경우 에러가 발생하게 됩니다.
이를 해결하려면 /usr/syno/pgsql/etc/postgresql.conf 에서 아래 부분을 수정하면 됩니다.
shared_buffers = 24MB # min 128kB or max_connections*16kB
connection 당 500 바이트 정도의 shared_buffers(메모리)가 소비된다고 합니다.
최대 접속자수에 맞추어 shared_buffers도 적당히 늘려주시기 바랍니다.
자신이 보유하고 있는 NAS의 메모리와 다른 서비스의 메모리 사용량 등을 고려하여 설정하시기 바랍니다. 필요이상 높게 설정할 경우 메모리 부족이 발생될 수 있으니 주의하시기 바랍니다.
* shared_buffers의 최대 값은 OS에서 사용하는 shared memory의 값을 초과하면 안됩니다. os에 설정된 shared memory의 값은 아래 명령으로 확인 가능합니다.
cat /proc/sys/kernel/shmmax
위 값에 / 1024 / 1024 해주면 최대 설정 가능한 값이 MB 단위로 나옵니다.
* max_connections은 Synology NAS의 여러 서비스에서 기본으로 접속하고 있는 연결 수와 하나의 프로그램에서
여러 연결을 사용할 수도 있으니 그러한 것들을 고려하여 설정해야 됩니다. 단순히 동시 접속 100명이 필요하니 100으로 설정하면
안됩니다. 100 이상으로 설정해줘야 겠죠..
설정 후에는 NAS를 재시작하거나 아래 명령을 내려줘야 적용됩니다.
/usr/syno/etc/rc.d/S20pgsql.sh restart
조만 간에 동시 접속자 수를 초과할 경우 접속자가 많아서 서비스를 이용할 수 없으니 조금 후에 다시 이용하라는 메시지가 표시되도록 기능을 수정하도록 하겠습니다.
문제를 알려주신 한세님 고맙습니다^^
아직 동접 100명정도는 아니지만
동시 사용량이 100명이상 많아질때 꼭! 필요한 정보이니 참고해야겠습니다.^-^
감사합니다.(_ _)
안녕하세요..
ezLink 패치해야되는데.. 처가에 내려가 있던 아기가 올라와서.. 시간 내기가 쉽지가 않네요 ㅠ.ㅠ