talkit bank 서비스 안정화를 위한 운영 전환 3 - 성능 테스트 코드 작성

in EverSteem16 days ago



안녕하세요 가야태자 @talkit 입니다.

https://talkitbank.whd.kr/

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

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.