개발

자바, 파이썬 중심의 실무 개발 기록과 도구 활용, 회고 및 기타 기술들을 정리합니다.

기타 개발

도커 컨테이너에서 호스트의 서비스 포트에 접속하는 방법

    상황 노트북(윈도 10)에 Docker Desktop을 설치하여 여러 Container를 돌리고 있다.  노트북에 설치한 IntelliJ IDEA에서 자바로 테스트용 소켓 서버를 작성했다.  Docker Container에서 테스트용 소켓 서버로 데이터를 보내야 한다.    방법 Docker Container에서 호스트를 목적지로 하는 방법은 간단하다. IP 대신 아래 2개의 DNS 이름을 사용하는 것이다.   어떻게 가능할까? Docker Desktop이 노트북의 hosts 파일에 아래와 같이 […]

자바

TomEE + IntelliJ IDEA – DataSource 설정 방법

    상황 Eclipse와 IntelliJ IDEA에서 여러 애플리케이션을 개발하고 있다.  J2EE 서버로는 TomEE를 사용하고 있다.  여러 애플리케이션은 서로 다른 DataSource를 사용하고 있다.     문제 TomEE는 하나만 설치하고 모든 애플리케이션이 공동으로 사용하고자 한다.  공동으로 사용하는 TomEE에 개별 애플리케이션을 위한 설정을 넣고 싶지 않다.  IDE에서 개별 애플리케이션을 위한 DataSource를 설정할 수 있을까?    방법 IDE 내에 있는

기타 개발

JMeter, 원격 분산 테스트 수행 방법

구성도   Controller 역할 Worker 역 실행 방법 성능테스트는 CLI 모드에서 실행한다.Worker 노드에 있는 JMeter 들을 server 모드로 실행한다. 기본 포트(1099)를 다른 프로그램이 사용하고 있는 경우, SERVER_PORT로 다른 포트를 지정하여 실행할 수 있다. 또한 하나의 노드에서 포트 정보를 달리해서 여러 개의 JMeter를 실행할 수도 있다.  결과 확인 테스트가 종료되면 Controller는 결과 보고서를 자동으로 생성한다.  브라우저에서 index.html

기타 개발

JMeter, Cannot start. localhost.localdomain is a loopback address.

상황 리눅스 서버에서 JMeter를 이용하여 테스트를 수행하고 있다.테스트 시나리오를 완성했다.Controller와 Worker를 구성했다. 테스트를 시작하자마자 에러를 만났다. Worker 노드 실행 실패 /etc/hosts 파일이 의심스럽다. 에러 메시지를 보니, hosts 파일이 의심스러웠다. 확인해 보자. 테스트 용도로 가상서버를 받았는데, localhost 말고는 없다. 이 상태에서 JMeter 단독으로 테스트를 수행할 때는 루프백 주소만 있어도 아무 문제가 없었다. 하지만 JMeter를 Worker 모드로

기타 개발

JMeter, TCP, java.net.ConnectException: 요청한 주소를 배정할 수 없습니다 (connect failed)

  JMeter로 소켓 프로그램의 성능 테스트를 하고 있다.  구성은 다 된 것 같은데, 에러가 20% 이상 발생하는 경우가 있다.  에러는 JMeter로 부하를 발생시키는 장비에서 난다.  에러도 특이하다. 요청한 주소를 배정할 수 없다고 한다.    정확한 원인을 모르니, 엄한 곳에서부터 원인을 찾기 시작했다.  ipv6, file descriptor. 아니다.  netstat으로 연결된 소켓 목록을 보고 감을 잡았다.    JMeter

기타 개발

성능 테스트, 네트워크 데이터 처리량 이슈

사진: Unsplash의Eeshan Garg JMeter를 이용하여 성능 테스트를 수행하고 있다.  – 테스트 환경을 구성하고,  – JMeter로 부하를 발생시켜 정상 처리되는 것을 확인했다.  부하를 조금씩 올려가면서 테스트를 수행했는데,  어느 순간부터 JMeter에서 Socket 관련한 에러가 줄줄이 발생했다.  왜 그럴까?  곰곰이 생각해보니 부하발생기 1대에서 – 1,000 쓰레드로 1MB 데이터를 보낼 때부터 에러가 발생했다.  혹시 네트워크 데이터 처리량이 부족해서 그런

기타 개발

JMeter, java.net.BindException: Address already in use: connect

JMeter를 이용해서 성능테스트를 수행하는 중 에러가 발생했다. (Windows 10, JMeter 5.5) 1 java.net.BindException: Address already in use: connect cs 응? 서버 프로그램 돌릴 때 종종 보던 에러 아닌가? JMeter는 클라이언트인데, 왜 이런 에러가 나올까? BindException에 대해 알아보자. Signals that an error occurred while attempting to bind a socket to a local address and port. Typically, the port is in use,

기타 개발

docker, centos, ubuntu, systemd

CentOS 7을 Docker에서 사용할 때, systemd는 기본 장착이 아니다.  – systemd를 사용하려면 dockerfile에 관련 내용을 넣거나,  – systemd가 포함된 이미지를 받아야 한다.  CentOS + systemd를 사용하는 방법은 아래 두 문서에 나와 있다.  – https://hub.docker.com/_/centos – https://github.com/CentOS/CentOS-Dockerfiles/tree/master/systemd/centos7 며칠을 틈틈이 시도했는데 실패했다.  – 검색해서 방법이 나오는 건 된다는 건데, – 어디 가서 개발 좀 했다고 이야기 하면

기타 개발

MySQL + Docker Container, 새로운 사실을 알기까지 여정

도커 입문 2021년 가을, 사이드 프로젝트를 진행하면서 어떤 DBMS를 쓸 지 고민하다 락이 걸렸다. – 일일이 설치하고 테스트 하는 것도 부담 – 지우는 것도 부담 – 버전이 올라가면 지우고 또 설치해야 하나? 덕분에 도커를 알게되었고, MySQL 도커 컨테이너 덕분에 모든 고민이 해결됐다.  도커에 눈 뜨다 새로운 곳에서 일을 하게 되면서 도커로 이것 저것 해볼 수

기타 개발

MySQL 도커 컨테이너 생성하는 방법 2가지

MySQL을 Docker Container로 띄우면 빈 깡통 MySQL이 하나 생긴다.  여기에 데이터베이스, 사용자, 테이블을 생성하고 데이터를 넣어야 한다. 데이터베이스, 사용자, 테이블, 데이터가 포함된 도커 컨테이너를 만들수도 있다. 1. 데이터를 넣을 쿼리문을 준비한다. (.sh, .sql, .sql.gz)     – 예시) mysqldump  2. MySQL을 Docker Container로 띄운다.  1 $ docker run ––name some–mysql –e MYSQL_ROOT_PASSWORD=my–secret–pw –d mysql:tag cs 3. Docker Container에 /docker-entrypoint-initdb.d 경로를 만들고, 1.에서 준비한

위로 스크롤