Performance 16

아두이노 , ESP8266, ESP32 성능 비교

아두이노, ESP8266,ESP 32 성능 비교 와이 파이 통신 모듈을 사용해보니, ESP8266이나 ESP32를 MCU로 하는 보드들을 메인 보드로 사용하는 경우가 많아서, 아두이노 우노나 메가와 같은 보드 없이도 이 보드들만으로도 성능이 충분할까해서 성능 비교표를 찾아보았다. 일단 결론 부터 이야기 하면, 아두이노 시리즈는 성능이 비교가 안된다. ESP32가 가장 빠르고, ESP8266 모델만 해도 상대적으로 매우 높은 성능을 낸다. 소스 : https://hilo90mhz.com/arduino-esp32-esp8266-101-speed-test-comparison-chart/

Stackdriver profiler

Stack driver profiler 조대협 (http://bcho.tistory.com) 얼마전에 구글 클라우드의 모니터링 솔루션인 stack driver에서 profiler 기능이 발표되었다. (https://cloud.google.com/profiler) 우리가 일반적으로 생각하는 성능 분석을 위한 profiling 도구로, 구글 클라우드 뿐만 아니라, 여러 서버에서 동작하는 Java/node.js/Go 애플리케이션의 성능을 모니터링할 수 있다.(파이썬은 곧 지원 예정) 장점은 코드 수정없이 간단하게 에이전트만 추가함으로써 프로파일러 사용이 가능하고, 프로파일링된 결과를 stackdriver 웹 콘솔에서 바로 확인이 가능하다는 것이다. JDB등 전통적인 프로파일러가 있기는 하지만 보통 프로파일러가..

분류모델 (Classification)의 성능 평가

Classification & Clustering 모델 평가 조대협 (http://bcho.tistory.com) 클러스터링과 분류 모델에 대한 성능 평가 방법은 데이타에 라벨이 있는가 없는가에 따라서 방법이 나뉘어 진다. 사실 클러스터링은 라벨이 없는 데이타에 주로 사용을 하고, 라벨이 있는 경우에는 분류 모델을 사용한다. 클러스터링 모델에 대한 평가는 라벨이 없는 상태에서 클러스터의 응집도등을 평가하는데 대부분 그 정확도가 그리 높지 않기 때문에, 도메인 지식을 가지고 있는 전문가에 의한 휴리스틱한 방식의 평가 방식이 대부분이다. 분류 모델(Classification) 에 대한 모델 평가 라벨이 있는 경우에는 분류 모델에 대한 모델 평가 방법을 사용한다.Confusion matrix이진 분류 문제에서..

빅데이타/머신러닝 2017.10.18 (14)

Apache Spark-Python vs Scala 성능 비교

스파크 성능이 안나오면, 우리 회사 데이타팀 팀장왈. 먼저 파이썬으로 짰는지 확인 부터 해보라길래, 파이썬과 스칼라로 만들어진 스파크 성능 차이가 얼마나 나는지 찾아봤더니 다음과 같은 수치가 나왔다. http://emptypipes.org/2015/01/17/python-vs-scala-vs-spark/ (원본 출처) 일단 스파크를 할려면 스칼라는 필수인듯 하다. 간단한 프로토타입핑등에는 파이썬을 사용할 수 있겠지만 결국 프로적션은 스칼라로 최적화해야 할듯.근데. 자바대 스칼라 성능 비교는 없네

자바스크립트 스터디 노트 #2

실습중 코멘트클래스 내에서 변수var MyClass = function(){ var local; // 생성자 내에서만 유효 this.objectvalue; // 객체 단위로 유효 } MyClass.prototype.classvalue; /// 클래스 단위로 유효 text와 html$(‘#xxx’).html : 등의 HTML 태그가 반영됨 $(‘#xxx’).text : 등의 HTML 태그가 문자열로 저장됨 (실제 태그 효과가 없어짐)JQueryjqeury 엘리먼트는 생성자에서 객체 변수로 캐슁해서 사용하도록 하는 것이 좋다.클래스클내부 변수나 내부 메서드는 _를 사용하거나, _$로 시작하는 것이 좋다. 구글의 자바스크립트 네이밍 컨벤션 참고할것.자바스크립트 엔진싱글 쓰레드임을 명시 할것. 콜백은 비동기로 ..

Single Threaded Model이라서 더 빠르다? No.!!

Single Threaded Model이라서 더 빠르다? No.!! Vert.x나 Node.JS와 같은 Single Threaded 모델의 서버들이 내세우는 장점이, Single Thread Model이기 때문에, Context Switching이 없고, 이로 인해서 성능이 더 빠르다. 라는 논리인데, 사실 DB나 File IO가 있을 경우, 뒷단의 Thread Pool에 request & call back 형식으로 처리를 하고 있기 때문에, 이 경우에는 Single Thread Model이 아니라 Multi Thread Model이 되고, 이 Thread Pool들의 Thread로 인한 Context Switching이 발생하게 된다. 이런 IO Call이 없는 경우 (Thread Pool로 작업을 보..

아마존 S3 소개 (성능 향상)

Amazon S3 (Simple Storage Service)AWS S3 (Simple Stoage Service)는 파일을 저장하기 위한 스토리지이다. 일반적인 파일시스템의 개념과는 약간 다르고, 파일 이름을 대표하는 key와 파일 자체로 구분되는 Object Storage이다.용량 저장할 수 있는 파일의 크기는 개당 1byte~5TB이고, 총 저장 용량에는 제한이 없다. 디렉토리와 비슷한 개념으로, bucket이라는 개념을 가지고 있다. 기본적으로 3 copy를 지원하여, 데이타를 복제하고, 이 복제는 Amazon availability zone (AZ) 단위로 복제가 되기 때문에 데이타 센터 장애에 대한 대응성을 가지고 있다. 단 region 간 복제는 지원하지 않는다. 복제에 관련된 옵션으로는 R..

Amazon 클라우드에서 S3 Read/Write 성능 높이는 방법 - 같은 Region 사용하기

매우 기본적인 부분인데, 함정(?)이 있어서 메모해놓습니다. aws에서는 S3 버킷을 만들때 위와 같이 Region을 정할 수 있습니다.그런데 US Standard라는 Region이 있는데, 이는 실제 존재하는 region이 아닙니다. Oregon이나 Ireland와 같이 실제 S3가 배포될 region을 명시적으로 정하는 것이 좋습니다. (특히 미국의 경우..)EC2를 US West Oregon에서 사용하실거면, 반드시 S3도 같은 Region에 생성을 해야 속도가 빠릅니다. http://blog.takipi.com/2013/03/20/aws-olypmics-speed-testing-amazon-ec2-s3-across-regions/ 문서를 보면 region가 S3 속도가 나옵니다.

Tomcat 7.0 Parameter Tuning

server.xml-- root 사용자로 start 하지 못하게 함 메모리 leak detector dbcp 말고 tomcat pool 사용context.xml에 설정애플리케이션 배포를 쉽게 하기 위해서, 위의 Context.xml은 war/META-INF/context.xml을 사용하는게 좋음 shared lib 처리 필요JVM은 -server -Xms1024m -Xmx1024m -XX:NewSize=384m -XX:PermSize=128m + ParallelGC, GCThread=3, +PrintGCDetial디렉토리 처리 (1 server , 1was를 기준으로 함)tomcat 설치는 /usr/local/tomcatJVM은 /usr/local/jvmapplication은 /applications/w..

간단한 S3 Performance Test

스크립트 from boto.s3.connection import S3Connectionfrom boto.s3.key import Keyimport time startime=time.time() conn = S3Connection(XXX','XXX') bucket = conn.create_bucket('terry-s3-performance-test')for i in range(1,100):k = Key(bucket)k.key = "logfile%s" % ik.set_contents_from_filename('logfile origin')conn.close()endtime = time.time() print 'Elaped time %s'% (endtime-startime) 위의 스크립트를 멀티프로세스로 돌려..