운영간 참고하시면 좋을 글들을 정리하였습니다. 업무간 참조 하시기 바랍니다. ############################################ 1. Web/WAS 분리이유 WEB서버 / WAS 분리 이유 (velog.io) WEB서버 / WAS 분리 이유 이 포스트에서는 WEB서버와 WAS를 분리시키는 이유에 대해서 알아보려 한다. velog.io 2. JVM 정의 JVM(Java Virtual Machine) 정의, 수행과정 (tistory.com) JVM(Java Virtual Machine) 정의, 수행과정 연말에 회사에서 공공도서를 신청하라고 해서 EXEM에서 출간한 "JVM Performance Optimizing 및 성능분석사례" 구매해줘서 요즘 remind해서 보고 있다. 차세..
우리가 브라우저에서 요청(Request)을 하면 서버까지 어떻게 전달이 될까? IT직군에 종사하시는 분들은 이러한 궁금증은 한 번은 가져봤을 것이다. 언젠가 정리해야지 하며 미루다 오늘 정리해 본다. 전 분야에 전문가가 아니다 보니 놓치거나 잘못된 용어가 있을 수 있으니 그런 부분은 답글로 회신 부탁드린다. 가정 1. 로그인 대부분의 사이트는 로그인 과정을 거친다. 사용자가 브라우저(크롬, IE)를 통해 사이트를 호출하고 사용자 정보를 입력하면 로그인이 되는 과정을 거칠때 데이터가 어떻게 여행하는 지 알아보자. 1. 사용자가 브라우저(크롬, IE)를 이용하여 사이트를 호출하고 자신의 ID/PW를 입력하면 "내 아이디에 맞는 패스워드를 검증하고 맞으면 로그인 해줘!!"라는 요청이 담긴 브라우저 세션이라는 ..
2021 년 최고의 성능 테스트 도구 (부하 테스트 도구) (tistory.com) 2021 년 최고의 성능 테스트 도구 (부하 테스트 도구) 2021 년 최고의 성능 테스트 도구 (부하 테스트 도구) 웹 애플리케이션 성능 및 부하 스트레스 용량을 측정 하기 위해 가장 널리 사용되는 성능 테스트 도구들을 소개합니다. 이들 부하 couplewith.tistory.com 정리가 잘되어 있는 로드 런너가 없고 Jmeter와 IBM Rational Performance Tester가 랭크되어 놀람..다 안써봐서 모르지만 3개 정도는 써 봤음.. 업무에 참조하세요
그러면 thread-stop을 어떻게 할까? 하시기 전에 운영 WAS가 JEUS면 웹콘솔에서 interrupt를 먼저 하시길 추천드린다. 작동방법은 간단하다. jps를 이용해서 오래 걸리는 JAVA Thread를 확인한 후 jkillthread.jar를 이용하여 thread-stop을 실행하여 제거한다. (jkillthread.jar는 GitHub - jglick/jkillthread: Simple tool to attach to a Java VM and kill an individual thread.) jglick/jkillthread Simple tool to attach to a Java VM and kill an individual thread. - jglick/jkillthread github...
System 운영 중에 JEUS를 재기동하는 스크립트가 가끔 꼬여 정상 재기동이 안되는 경우가 발생한다. 원인을 찾아보니 정지 명령과 기동 명령이 바로 실행되어 프로세스가 정지중에 node manager가 기동시켜 문제가 발생한다. stop-cluster A1 start-cluster A1 식으로 바로 기동되니 정지하는 시간을 안주고 바로 기동되어 node manager와 꼬이는 경우가 종종 발생했다. 이럴때는 스크립트에 sleep이라는 명령어를 주면 된다. stop-cluster A1 sleep 60 //
System 관리에 있어 오래 걸리는 thread에 대한 고민해 본적이 있을 것인데, 이러한 thread는 try catch문을 활용해서 interrupt를 시켜주거나 timeout을 걸어 처리한다. 급할 때는 제니퍼와 같은 APM에서 중지를 하거나 WAS자체에서 suspended를 시켜주는 데 이렇게 해도 처리되지 않을 때가 있다. 이유는 thread가 non-Runnable 상태에 있지 않고 Runnable 상태에 있기 때문에 인터럽트를 걸어도 바로 안죽는다. 그럼 Runnable 상태에 있는 오래 걸리는 thread는 어떻게 죽여야 할까? thread-stop이라는 걸 알아버렸다. thread-stop을 하면 thread가 Runnable에 있어도 처리가능하다. 하지만 양날의 검이라고 했던가? th..
관련 자료들 올려 드립니다. JDK8 다운로드 www.oracle.com/kr/java/technologies/javase/javase-jdk8-downloads.html JMeter 다운로드 jmeter.apache.org/download_jmeter.cgi Apache JMeter - Download Apache JMeter Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Re..
연말에 회사에서 공공도서를 신청하라고 해서 EXEM에서 출간한 "JVM Performance Optimizing 및 성능분석사례" 구매해줘서 요즘 remind해서 보고 있다. 차세대 APM(Application Performance Monitoring) Tool로 해당 회사에서 운영하는 솔루션이라 연관성이 있기도 했지만 개념 정리 및 사례별 정리가 잘 되어 있어 참고하려고 한다. 1. JVM((Java Virtual Machine) 정의: Java(프로그래밍 언어) + Virtual(물리적인 형태가 아닌 Software로서의 형태) + Machine(독자적으로 작동할 수 있는 매커니즘과 구조를 가지고 있음) = 자바 프로그램을 실행하는 가상의 머신 --> 별도로 설치할 필요없이 JDK를 설치하면 자동으로..
제안서 참여로 미뤄왔던 블로그 활동을 재개하려고 합니다. 2019년을 돌아보면 가장 큰 일은 3월 교통사고로 저를 돌아보았던 계기가 되었고, 4~6월에 10kg을 감량하고 다시 12월 현재 원래 몸무게로 복귀해버려 무리한 목표로 달성 후에 지쳐서 감당해야 할 것들이 많다는 것을 깨달은 한 해였습니다. 이러한 과오를 줄이기 위해 목표를 체계적으로 세우는 것이 필요하다고 생각하여, 목표를 세우는 방법론에 대해 알아보았는데 조지 도란의 S.M.A.R.T한 목표 세우기라는 방법론이 있어 이러한 방법론에 대응하여 10Kg 감량하기를 목표로 하여 소개 드리고자 합니다. S.M.A.R.T중 ‘S’는 Specific(세부적인)으로 목표를 세우고자 합니다. ☞ 세부적으로 한 달에 2kg을 감량, 하루에 10,000보 이..
제안 시즌이 다가 왔다. 공공 프로젝트의 SA(Software Architecture)로서 WAS(Web Application Server) 담당으로 일하고 있는 나는 매번 사업말(10월말)만 되면 제안서를 작성해야 하는 두려움이 있다. 대부분 IT업계에서 일하시고 계신 분들은 제안의 경험이 작으신 분들은 공감하실 것이다. 이공계 테크를 탄 나는 작년에 처음 써본 제안서는 쉽지 않았다. 그래서 올해는 사전에 책(제안팀 이야기, 한빛미디어 류현주, 박민영 저)을 사서 공부를 하고 제안 작업에 임하려고 한다. 헤드라인은 뭘까? 헤드라인은 통상적으로 제목 다음에 몇 줄의 문장으로 그 페이지의 제안 내용을 제시한다. 헤드라인은 제안 페이지에서 제목과 제안 내용 사이에 위치하며 둘을 이어주는 가교와 같은 역할을 ..
2019년 10월 16일(수) "Red hat forum seoul 2019"에 다녀왔다. 먼저 사전등록을 2만원으로 하고 기다리니 앱을 설치하라는 메일이 와서 설치했다. 앱은 행사안내와 포인트 쌓기 게임이 있어 재밌게 그리고 자연스럽게 행사에 대한 이해가 높아졌다. 드디어 D-day 하루 전 코엑스가 있는 서울의 선릉 근처 숙소를 잡고 16일(수) 아침 일찍 가서 행사등록후 IBM, 아마존, HP등 많은 기업들의 부수에 가서 설문을 하고 기념품을 받았다. 여러 기업들에서 정성이 담긴 기념품을 받았는데 주최사인 Red hat에서 주신 셀카봉과 구급 킷이 가장 유용하게 쓰일 것 같다. 그렇게 부스들에서 클라우드 관련 정보를 얻고 키노트 세션에 참여했다. 전체 세션은 오픈 하이브리드 클라우드에 대한 시장의 ..
인터넷 초기에는 단방향으로 요청을 했을 때 응답(처리)을 받으면 종료되게 되어 있었다. 그런데 이러한 방식으로 한번의 요청으로 끝나버린다면 내가 누군지 알릴 수도 없을 뿐더러 페이지 마다 단순 처리를 할 수 밖에 없었는데 이러한 불편을 피하고자 세션과 쿠키라는 개념이 도입된다. 세션과 쿠키는 https://interconnection.tistory.com/74 정리가 잘되어 있어 참고하시고 정리하면 사용자의 정보(IP등)을 클라이언트의 웹브라우저에 저장하면 쿠키, 서버에 저장하면 세션이라고 생각하면 쉽다. JEUS와 같은 WAS도 이러한 사용자 정보를 세션을 통해 저장한다. 그렇다면 세션의 공유를 하여 clustering을 해야 하는 이유는 무엇일까? 1개의 컨테이너에서 지원하는 JVM의 한계 때문이다...
JEUS6을 사용하다가 JEUS7로 변경되면서 JEUSADMIN(Alias명 ja)의 명령어도 변경되었다. JEUSADMIN의 접속방법은 6버전과 7버전이 같다. 통상 별칭(Alias)을 써서 "ja"로 명령어를 입력하면 된다. jeusadmin -u administrator -p jeusadmin[설정한 패스워드] 기존 6버전과 7 버전의 명령어들을 비교해 보자 1. MS(Managed Server)들의 상태가 궁금해!! 1.1. 비교 JEUS6 JEUS7,8 conlist si(or server-info) 1.2 . 사용 예 1.3. 설명 : JEUS6에서 Container의 개념이 JEUS7,8에서는 Manged Server로 변경되었다. 이러한 MS들의 구동 여부 확인할 수 있는 명령어가 si(o..
이제부터 난이도가 있는 포스팅이 될 것 같다. 보다가 어려우시면 답글에 문의 바란다. 기본적인 3Tier(WEB-WAS-DBMS)에서 WEB-WAS는 연결했으니 WAS-DBMS를 연결해야 한다. JEUS, WebtoB 연동 (tistory.com) JEUS, WebtoB 연동 1. TEST 버전: JEUS8, WebtoB5 2. 연동이유: 간단하다. 대용량 요청이 왔을때 WAS(Web Application Server)에서 모든 처리를 해야한다면!! WAS서버 자원이 부족하겠지..그래서 WEB서버에서 html등의 정적인 페이지.. sicylove.tistory.com 연결하기 전에 Oracle을 설치해야 한다. 오라클 설치는 구글에 오라클 설치로 검색해서 설치하시기 바란다. 오라클 설치후 잊지 말아야 할..
모니터링이라 함은 머신이 어떻게 작동여부를 관찰하는 활동을 말한다. 운영자(Operator)는 머신이 정상여부를 여러 지표를 통해 판단한다. WAS를 모니터링하는데 일반적으로 중요시하는 지표가 있다. 1. WAS(Server)에는 몇 명의 사용자(Session 또는 동시 접속자)가 사용 중인가? 2. JVM(Java Virtual Machine)의 메모리 사용은 적정히 이루어 지는가? 3. Pool(Thread-pool, connection-pool)에 걸려 적체되어 있는 요청은 없을까?? 등 우선 생각나는 중요한 지표를 이렇다. 뭐 Jennifer같은 AMS 툴을 사용하면 바로 확인 가능하지만 없다고 가정하고 모니터링 하는 방법을 정리하고자 한다. 오늘은 1번 사항인 Managed Server에서 몇 ..
대규모 시스템의 서버에서는 4~5개의 ManagedServer를 구성후 운영하여 부하분산 및 처리를 원활하게 해 준다. jeus7을 설치하면 기본적으로 server는 adminserver와 server1이라는 예제 서버가 생성되어 있다. 여기에 server2라는 예제를 생성해보고자 한다. 우측 메뉴에 Servers를 누르면 adminServer와 server1이 RUNNING 상태로 되어 있는 것을 확인할 수 있다. server2를 쉽게 만들기 위해 server1에서 "DUP+" 버튼을 LOCK & EDIT 버튼을 눌러 활성화 한다. NodeName은 server의 이름으로 "server2"라고 정의한다. Listener의 Listen Address는 "localhost"로 설정하고 Listen port..
JEUS7 버전에서는 DAS를 올리고, MS를 올리고, NM를 별도로 기동 및 종료해야 한다. 운영하는 입장에서는 명령어를 각각 쳐주는것은 시간이 걸릴 뿐더러 귀찮다. 또한 긴급상황(예를 들면 정전이 되서 발전기로 운영된다든지...)에는 클릭 한방으로 WAS를 내려줄 필요도 있다. 이러한 이유로 jeus6 버전에 있던 jdown과 jboot, jbin, jcfg를 배치 프로그램으로 구동해 봤다. 실력이 미진하여 반나절정도 초보적인 스크립트를 제작해 봤다. 먼저 jeus7의 bin 디렉토리로 이동하는 스크립트 JBIN @echo off title JBIN @echo on cd C:\TmaxSoft\JEUS7\bin cmd.exe 두번째 jeus7의 domain.xml 디렉토리로 이동하는 스크립트 JCFG ..
jeus6에서 webadmin을 통해 container를 편하게 기동 및 종료를 하였다. jeus7도 webadmin을 통해 Manager와 기동을 해보려고 했다. https://sicylove.tistory.com/34 대로 DAS도 기동하고 MS도 기동후에 webadmin에서 server에서 MS인 server1을 stop과 start가 안된다. 메뉴얼을 검색하니 첨부한 OS별 JEUS7설치 및 설정 p25를 확인하면 NodeManager를 실행해야 한다고 한다. 기동했다. 그래도 안된다. 로그를 확인한다. domain.xml에서 0.0.0.0을 localhost(127.0.0.1)로 변경해서 DAS, MS, Nodemagager 재기동하니 된다. 0.0.0.0 으로 초기 세팅되어 있다. 위의 그림 ..
1. TEST 버전: JEUS8, WebtoB5 2. 연동 이유: 간단하다. 대용량 요청이 왔을 때 WAS(Web Application Server)에서 모든 처리를 해야 한다면!! WAS서버 자원이 부족하겠지.. 그래서 WEB서버에서 html 등의 정적인 페이지들의 처리를 위해 WEB-WAS로 분리해서 처리되게끔 한다. 보안 이슈의 이유도 있다.(WEB은 DMZ 밖에, JEUS는 DMZ 안에 위치하여 주요 데이터 보호) 3. WebtoB 설정 3. 1. webtob_home/config/http.m 수정 용어 설명 JSVPORT webtob JEUS 연동 포트 jsvg JSV를 처리하기 위한 서버그룹 MyGroup jsvg를 처리하기 위한 서버이름, 임의의 그룹으로 설정해도 좋으나 MinProc와 Ma..
설치는 다음 신공(NEXT 버튼 누르기)으로 하면 되는데 사전에 준비해야 하는 사항으로 사전에 1. JAVA 설치 -> 2. JEUS technet에서 JEUS win버전 다운로드 (생략) 첫 번째 주의해야 할 것은 Domain Admin Server와 Managed Server 둘 중에 선택해서 설치하는 부분이 있는데 처음 설치하시는 분들은 Domain Admin Server를 선택하셔서 설치하셔야 합니다. DAS(Domain Admin Server: MS를 관리하기 위한 서버)를 선택하면 DAS+MS가 설치되고 MS는 MS만 설치됩니다. 두 번째 주의해야 할 것은 administrator의 password를 잊지 마셔야 합니다. 이렇게 설치가 끝난후 기동을 해봅니다. 1. Windows + R키를 눌..
JEUS5, 6과 비교하여 7,8 version의 구조 및 개념이 많이 변해서 먼저 구조 파악 및 정리하고자 한다. bin : 서버의 시작 및 종료 스크립트 startDomainAdminServer, startManagedServer, stopServer와 콘솔 툴과 같은 실행파일 위치 derby : 샘플 Application docs : JEUS에서 제공하는 API에 대한 문서들이 있음(C:\TmaxSoft\JEUS7\docs\manuals\default\domain이면 domain에 관한 문서들이 있고 index.html을 읽으면 도움이 됨) domains : 하위에 도메인별로 DOMAIN_HOME과 JEUS_HOME에서 사용하는 노드 정보가 포함된 nodes.xml이 존재함node.xml은 node..
첨부에 넣어놨으니, 시간되시면 한번 읽어보실 것을 권유드립니다. 포스코경영 연구원에서 김호인 수석연구원이 작성한 이슈리포트로서 아마존이 세계 1위 기업이 된 중심에는 기업의 학습문화가 있었습니다. CEO인 제프 베조스는 아래의 3권의 책을 선정하여 치열하게 기업에 적용하여 지금의 성공의 밑바탕이 되었습니다. 1. 엘리야후 골드렛의 "더골" - 문제해결원칙 제시 : 모든 복잡한 문제의 원인은 단순한 핵심문제를 제거함에 따라 해결가능하다는 원칙 제시 2. 클레이튼 크리스텐슨의 "성장과 혁신" - 혁신의 Path 제공 : 온라인 서점에서 출발한 아마존이 월마트, 구글과 대적하는 큰 그림을 그리게 해주었습니다. 3. 피터 드러커의 "자기경영노트" - 전사적 헌신, 능력 위주의 인사조직 운영, 집단지성을 이끌어 ..
현시대의 진보된 과학기술은 연구로부터 시작됩니다. 연구자는 논문으로 발표를 하게 되고 연구한 과학기술이 생활에 영향력이 크고 파급효과가 있으면 네이처나 사이언스 등의 공신력 있는 저널에서 발표가 되어, 전문가 집단에서 해당 지식을 공유하고 비즈니스 모델을 창출하거나 관련된 연구를 지속하죠. 여기까지는 최상위 전문가 집단에서 이뤄지고 바로 생활에는 적용되지 않고 이론으로 정립되거나 더욱 생활에 접목하기 위해 추가로 연구가 됩니다. 다음은 어느 정도 일상생활에 적용의 시작단계가 되면 차상위 전문가 집단으로 공유됩니다. 그러한 차상위 전문가 집단에서는 해당 기술에 대한 리뷰와 토론 등을 하여 생활에 접목이 가능할 것인지, 토론과 피드백을 통해 이루워 집니다. 마지막 단계에서는 TIME지 같이 대중화된 저널에 ..
정규식을 활용해서 select REGEXP_REPLACE('홍길동', '.', '*', 2)as name, REGEXP_REPLACE('김신', '.', '*', 2)as name2, REGEXP_REPLACE('황금독수리온세상을놀라게하다', '.', '*', 2)as name3 from dual SELECT REGEXP_REPLACE('홍길동', '(^.).+(.$)', '\1*\2') as name, REGEXP_REPLACE('김신', '(^.).+(.$)', '\1*\2') as name2, REGEXP_REPLACE('황금독수리온세상을놀라게하다', '(^.).+(.$)', '\1*\2') as name3 from dual 한글만 확인하려면 . -> [가-힣] 으로 변경 (1)의 답은 내가 okk..
DBMS의 종류에 따라 조금씩 차이는 있지만 개념 이해하는 정도만 넘어가도록 하자 조인이란 두 개이상의 테이블들을 합성한 후, 여기서 유용한 정보를 추출하는 연산이다. A라는 테이블에서 학생의 학적정보(학번, 이름, 학과)가 있고 B라는 테이블에서 학생의 신상정보(학번, 주소, 연락처)가 있을때, A와 B 두개의 테이블을 조인해서 select 함으로서 학번, 이름, 주소를 한번의 쿼리로 표시할 수 있다. 조인의 종류는 크로스 조인, 자연 조인, 내부 조인, 외부 조인, 자체 조인등 여러가지가 있는데 그중 몇 가지만 알아보자. 1. 크로스 조인 : 상호조인이라고도 하며 두 테이블을 서로 곱하는 개념의 연산으로, 일명 카디션 곱이라고 한다. 위의 예에서 "select * from 학적정보 cross join..
오늘 중요한 헌법 재판소에서 중요한 판결이 있습니다. 인용, 기각, 각하라는 법률용어가 나오는데 궁금해서 끄적여 봅니다. (출처 두산백과) 인용은 소송 제기자가 제기한 소송이 이유있다 판결해서 제기된 소송이 적용, 즉 국회에서 제기한 탄핵이 이유있다 판결되어 탄핵 유효되어 대통령직 상실 기각은 절차의 무효에 의하는 것과 청구이유가 없다고 선언하는 것, 즉 이유나 주장하는 내용이 근거없을때 적용, 탄핵 무효 대통령직 복귀 각하는 판결할 가치가 없다고 판단하고 탄핵소송 단계에서 무시하는 것, 즉 탄핵 무효 대통령직 복귀 대한민국이 중요한 선택의 길목에 있다고 생각합니다.
sum(합을 구하는 함수), decode(치환하는 함수)를 이용해서 그룹별 단순화해보자. 예를 들어, 학과별 자퇴자 명단을 구해보면 select dept, count(sno) from student where code = '자퇴' group by dept; 결과는 dept count(sno) 국문과 3 영문과 2 철학과 5 근데 주야간으로 구분해야 한다. select dept, div_dn, count(sno) from student where code = '자퇴' group by dept, div_dn; 으로 조회하면 아래와 같이 나오는데 dept div_dn count(sno) 국문과 주간 2 국문과 야간 1 영문과 주간 0 영문과 야간 2 ... ... ... 이런 식으로 같은 과에서 주야별로 나눠..
현상 : A 라는 User가 A'라는 테이블을 만들었다. B 라는 User에서 A' table을 조회 했을때 조회가 안된다. 테이블은 분명히 있는데 없다고 나온다. 원인 : B user는 A'table에 대한 권한이 없기 때문에 조회가 안된다. 조치 : A user로 접속해서 권한을 주면된다. grant select on 해당테이블(A') to 주고싶은 사용자(B); 위 명령어에 update, insert,delete 같이 넣으면 해당 DML이 적용된다. 예) grant update,insert on A' to B 추가 : function(함수)도 실행 권한을 줄 수 있다. grant execute on 권한줄 함수이름 to 권한 받을 사용자;
- Total
- Today
- Yesterday
- 다이어트
- 칠곡 자전거 대회
- 타임캐시
- 대구 고양이 카페
- 장수풍뎅이
- 혁신도시 국수
- 서브 40
- i7-1260P
- 가재 탈피
- chatgpt 정의
- 고양이
- decode
- 대구 야간 라이딩
- 애드센스
- 경산 국수
- 도로이
- 애디그램
- 가재
- 베스킨라빈스 포켓몬
- 일취월장
- OKOK앱
- 제주 마음 샌드
- 반려곤충
- 캐시워크
- 오렌지가재
- ChatGPT
- GCP #GCP GIFT#
- 갖고싶다 고양이
- 여름 자전거 대회
- 대구국제마라톤
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |