동시 접속자 테스트 ab로 해봤는데 결과 값을 봐도 잘 모르겠습니다.
CMS/프레임워크 | 그누보드 |
---|---|
개발 언어 | PHP 7.4 |
구글링을 통해 아래 명령어를 통해 테스트 해봤는데
결과 값을 어떻게 보는지까지는 알수가 없어~
문의 한번 드려보아요!~
정확한 통계는 아니겠지만 대략 동접이 얼마나 가능한건지 궁금합니다.
ab -n 500 -c 100 https://tvonair.co.kr/
Server Software: nginx
Server Hostname: tvonair.co.kr
TLS Server Name: tvonair.co.kr
Document Path: /
Document Length: 48340 bytes
Concurrency Level: 100
Time taken for tests: 4.503 seconds
Complete requests: 500
Failed requests: 0
Total transferred: 24627500 bytes
HTML transferred: 24170000 bytes
Requests per second: 111.03 [#/sec] (mean)
Time per request: 900.652 [ms] (mean)
Time per request: 9.007 [ms] (mean, across all concurrent requests)
Transfer rate: 5340.64 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 22 43.4 1 148
Processing: 53 803 194.3 880 954
Waiting: 8 800 194.0 877 952
Total: 55 825 173.2 883 1051
Percentage of the requests served within a certain time (ms)
50% 883
66% 901
75% 914
80% 919
90% 932
95% 944
98% 980
99% 1014
100% 1051 (longest request)
ab -n 1000 -c 100 https://tvonair.co.kr/
Server Software: nginx
Server Hostname: tvonair.co.kr
Server Port: 443
TLS Server Name: tvonair.co.kr
Document Path: /
Document Length: 48340 bytes
Concurrency Level: 100
Time taken for tests: 8.905 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 49255000 bytes
HTML transferred: 48340000 bytes
Requests per second: 112.29 [#/sec] (mean)
Time per request: 890.521 [ms] (mean)
Time per request: 8.905 [ms] (mean, across all concurrent requests)
Transfer rate: 5401.40 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 11 31.6 1 147
Processing: 33 843 142.3 882 939
Waiting: 7 840 141.9 877 939
Total: 35 854 126.0 884 1050
Percentage of the requests served within a certain time (ms)
50% 884
66% 893
75% 902
80% 907
90% 915
95% 923
98% 930
99% 979
100% 1050 (longest request)
현재 서버는 1 CPU 1024MB Memory 사용중입니다.
댓글 13
실제 접속자들은 ab처럼 무식하게 새로고침만 하지 않기 때문에 무의미한 결과입니다.
마트에 고릴라 10마리를 풀어놓고 다 굶어죽을 떄까지 며칠 동안 먹고 살 수 있는지 봐서
그 마트에 있는 음식이 총 몇인분인지 측정하려는 거죠. 사람과 고릴라는 먹는 것이 다른데....
동접 1000명 정도가 게시글 정도만 본다면 굉장한 서버가 필요하지도 않습니다. 게시글을 그냥 출력하는 정도로는 대단히 많은 자원도 필요하지 않습니다.
하지만 보통 커뮤니티에서는 동접 1000명이라도 각자 하는일이 굉장히 다양하고 서버의 자원을 요구하는 요청이 다양하게 많죠.
동접 1000명 정도라도 케바케로 서버 사양이 다 다르게 요구 되겠지만..
동접 1000명이 글만 열심히 읽는 다면 허접한 가상서버도 충분합니다.
이정도도 충분하다는 말씀이시네요..
이거 말고 다른 서버는 2 CPU 4096 Memory 사용중인데 동접 100명도 안나오니 완전 오버 사양이네요...
오버사양이 아니죠. 동접 천명이 가만히 글만 읽는 사이트가 존재하지 않으니까요 ㅋㅋ
글쓰기,댓글쓰기 파일첨부, 이미지 리사이즈 등 다양한 서버자원이 요구됩니다.
커뮤니티의 동접 1천명에 메모리 1기가면 바로 뻗습니다.
일반적인 활동 기준 동접 천명의 커뮤니티라면 최소 메모리 8G(권장 16G) / 코어는 최소 리얼코어로 1,2코어(권장 4코어 이상) 추천드립니다. 이 이하는 어렵습니다.
1 CPU 4096 Memory -> 여기에서도 그냥 게시물 읽기만 이루어질 예정이라서~
알려주신대로 글작성이나 등등이 일어나면 말씀하신 사양 참고하도록 하겠습니다.
근데 문제는 게시물 읽는 동접이 50명도 될까 말까라서 먼 나라 이야기네요~
바쁘신데 답변해주셔서 너무 감사드립니다.
동접 50이면 메모리 부족으로 다운됩니다. 최소 4G 원할하려면 8G 는 필요합니다.
최소 서버로 쓰다가 서버 다운되면 상위로 업그레이드 해보도록 하겠습니다.
그리고 코어도 리얼코어가 아닌 경우는 많이 부족하구요.
차츰 상위 단계로 업그레이드를 해보도록 하겠습니다.
네, 실제로 돌려보지 않으면 모릅니다.
사이트마다 사용자들의 이용 패턴이 다릅니다. 짧은 글 위주의 사이트라면 30초마다 한 번씩 페이지를 이동할 수도 있고, 긴 글이나 영상이 많은 사이트라면 그 간격이 1분 이상 될 수도 있습니다. 동접수가 같더라도 단위시간당 서버 요청수는 2배 차이나겠지요. 글을 많이 쓰는 사이트와 댓글을 많이 쓰는 사이트는 클릭 패턴이 또 다릅니다.
게시판 스킨이나 커스터마이징한 기능이 유발하는 부하도 천차만별입니다. XE만 해도 특정 모듈을 설치했느냐 안 했느냐에 따라 CPU 점유율이 열 배 이상 달라지기도 합니다. 서버의 CPU 점유율이나 RAM 사용량이 동접수에 정비례하는 것도 아닙니다. 동접수는 2배인데 CPU 점유율은 4배로 늘어나고 RAM 사용량은 거의 그대로일 수도 있습니다. 특히 그누보드처럼 테이블 최적화가 거의 안 되어 있는 CMS는 어떤 임계점을 넘어가는 순간 갑자기 DB 부하가 천장을 뚫고 올라가는 경우가 많습니다.
윗분처럼 일반적인 최소 사양을 제시해 드리는 것 외에는 답이 없는 것이 맞죠. 너무 명확한 답을 제시하는 사람이 있다면 그 사람이야말로 돌팔이입니다.
동접 1000명정도가 게시글 정도만 본다고 할때 서버 CPU랑 메모리는 어느정도가 최소 기준인가요?