2018년 10월 30일 화요일

지랄발광


증시패닉, 靑게시판에 개미들 '통곡'…文 경제팀 책임론 확산



내 누차 술먹으며 말을 하지만
거시적으로봤을때
금본위 화폐시장에서 기축통화의 품격(?)이 떨어지면서
이미  주식이니 코인이니 중구난방 폭탄돌리기를 하는상황에
특히나 2014년 버냉키에서 옐런으로 미국연준의장이 바뀔때 부터
금리인상이 이번에는(?) 정말(?) 할것이라고 으름장 그리 날리고
15년 이후 실제 미국이 달러를 회수하기 시작했고
현재 미국이 마치 경기가 좋은듯이 버블이 일어나는것은
기존의 미국에서 개발도상국으로 나가던 달러를
긁어 들여서 유지하고 있을 뿐 좋을게 없는 상황이라는 점과
중국 미국 일변도에다
특히나 지금은 미국의 3배나 의존하는 중국무역의존도를 가지는 우리가
미국과 중국이 무역전쟁 수준인 국제상황에
내돈은 괜찮을것이라는 상상력은 무슨 생각인지 알 길이 없다

극단적인 미시경제활동이 개미가 하는 단타에 미수치기라면
그 리스크는 니들이 공부해서 알아야 하고
risk taking도 해야지
무슨 개노무 청와대 청원이냐

2018년 10월 19일 금요일

openJDK String 처리 속도 비교


JVM성능 측정에 여러가지 측면이 있겠으나 (collection object, network, thread....)
젤 만만 한게  요즘은 XML에 JSON이 대세이므로 Sting 연산이 많이 쓰이기 때문에 그냥 이걸루 비교를 해봤다

결과값은 절대적이지 않고  내용에 책임 못 진다.
그냥 참고만 하고 비슷한 테스트할때 이해하는데 사용하시라

Server : Physical Xeon 40Core
MEM : 64G
Heap : 4G  (TEST를 위해 작게 잡고 동일한 환경으로 테스트)

TEST Tool : JMH http://openjdk.java.net/projects/code-tools/jmh/
TEST Sample code : http://hg.openjdk.java.net/code-tools/jmh/file/tip/jmh-samples/src/main/java/org/openjdk/jmh/samples/  (이건 다 돌리면 10시간 걸린다... 회사내부에서 볼 자료라 오픈하기 뭐해서 안올릴란다)

TEST String code :.... 걍 만들어 올리기도 구찮음...는 아니고...이놈에 블로그스팟 넘해... 에디터에 무슨 박스 하나가 없어요.... {code} 이런것 까지 원하지도 않아 그냥 좀 표같은거라도 좀 편집 할 수 있게 해주면 안되나!!!!  맨날 HTML Code수정해야 겠냐...미치것내
정말 집에 NAS에 워드프레스를 깔던가 해야지 원....

어디선가 배껴온 소스에 값만 바꿔 쓴다.(어딘지 출처가 기억안난다 ㅋㅋ)
some more data 라를 문자를 StringBuilder append로 1만번  String  +연산으로 1만번 하는 코드를
워밍업 5회 후  10회의 테스트를 하고 처리시간을 평균낸 데이터를 그래프에 사용했다
가끔 GC가 떠서 성능이 개판난 데이터는 3회 정도 해서 젤 높은 값을 빼고 다시 평균을 잡았다.

2018년 10월 1일 월요일

open jdk base Visual Remote Server monitoring

openJDK JMC(Java Mission Control)  사용방법


1. 대상서버에  jstatd 데몬을 구동한다.
모니터링시 해당 데몬으로 접근하여 서버에 JVM 정보를 가져온다.

정책파일을 수정해서 권한을 추가해 주어야 JMC에서 접근하여 정상적으로 값을 가져올 수 있다

openJDK의 경우 CentOS 7.x에서 설치시 PATH는 아래와 같다.

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/lib

해당폴더에 아래 파일을 만든다  (tools.jar 파일이 있는곳에 만들면 된다)
#vi tools.policy
grant codebase "file:[absolute-path-to JAVA_HOME]/lib/tools.jar" {
           permission java.security.AllPermission;
};

백그라운드로 띄운다

#jstatd -p 1099 -J-Djava.security.policy=${JAVA_HOME}/lib/tools.policy &


2. WAS Process에 JMX 설정을 한다.  JVM에서 열어도 되고 tomcat 리스너중에 JMX리스너를 열어도 된다. 여기서는 JVM에서 연다

./catalina.opts.common.sh  (JVM 옵션을 넣을 수 있는곳이라면 아무대나 잘 넣자)
OPT_JMX="-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.port=30088 \
-Dcom.sun.management.jmxremote"


3. JMC openjdk 버젼을 받아보자  oracle jdk에 있는거랑  별 차이없다

http://jdk.java.net/jmc/
JMC 7 Early-Access Buildsr


4. JMC 띄우고 원격으로 대상서버 접속하면 끝

요런화면




요런화면도 볼 수 있다. 라이브로 덤프도 볼 수 있고 뭐뭐뭐... 기능은 많다
근데 이거 끼우면 overhead를 감안해야 한다
어느정도인지는 잘 모르겠다능...