talkit bank 서비스 안정화를 위한 운영 전환 3 - 성능 테스트 코드 작성
안녕하세요 가야태자 @talkit 입니다.
talkitbank 서비스의 URL은 위와 같습니다.
Gunicorn + flask 구조로 변경한 후에도 정상적으로 잘 동작하고 있습니다.
http로 들어오면 https로 전환해주는 프로세스는 필요할 것 같아서 추가해볼 예정입니다.
현재는 꼭 https를 붙여 주셔야 합니다.
테스트를 위한 테이블 작성
CREATE TABLE `steem_transfers_test` (
`id` int NOT NULL AUTO_INCREMENT,
`txid` varchar(255) DEFAULT NULL,
`sender_id` varchar(50) NOT NULL,
`receiver_id` varchar(50) NOT NULL,
`amount` decimal(10,3) NOT NULL,
`memo1` text NOT NULL,
`memo2` text,
`transfer_type` enum('즉시이체','예약이체','애스크로') NOT NULL DEFAULT '즉시이체',
`escrow_time` int DEFAULT '0',
`fee_yn` enum('Y','N') NOT NULL DEFAULT 'N',
`execute_yn` enum('Y','N') NOT NULL DEFAULT 'N',
`request_datetime` datetime DEFAULT CURRENT_TIMESTAMP,
`complete_datetime` datetime DEFAULT NULL,
`talkitbank_txid` varchar(32) DEFAULT NULL,
`combine_yn` enum('Y','N') NOT NULL DEFAULT 'N',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
일단 웹사이트의 성능과 DB 성능을 모두 테스트할 예정이어서
위와 같이 테이블을 만들었습니다.
그리고
stresstest_ui
를 추가 했습니다.
현재는 저만 접속할 수 있도록 해두었습니다.
버튼을 누르면 1초에 한번 10개의 이체 내역을 랜덤으로 전송 합니다.
실제 전송은 이루어지지 않습니다. 그야말로 DB성능까지 테스트하기 위해서 작성한 코드 입니다.
수정하는 코드는 아래와 같습니다.
app.py - 테스트 URI 추가 및 디비 저장 테스트 action 추가
home.html - 테스트 접근 URI 링크 추가
streesstest.html - test 프로그램 화면
위와 같이 수정 했고,
수정 된내용을 반영해서 서버를 재시작 했습니다.
테스트 페이지를 4개를 늘려서 계속 스트레스 테스트를 해주고 있는데 정말 잘 됩니다. ^^
그런데 초당4번으로는 전혀 서버에 부하가 없네요 ^^
좀 더 페이지 갯수를 늘려보고 내일 다시 말씀 드리겠습니다.
현재는 CPU 98%정도 idle이네요 거의 안쓴다고 봐야 합니다.
메모리도 250M정도가 남아 있는데 메모리 자체가 1GB라 많이 남아 있다고 해야하나 T.T
지속적으로 테스트를 진행 해보겠습니다.
감사합니다.
#kr #kr-dev #postingcuration #development #develop #eversteem #talkitbank
Write Once, reward forever via EverSteem app
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Upvoted! Thank you for supporting witness @jswit.