본문 바로가기

파이썬39

supervisor 유닉스계열의 시스템에서 프로세스를 모니터링하고 관리 하기 위한 프로그램 supervisor 프로세스가 잘 돌고있는지.. 죽지 않았는지.. 확인하고 재구동 하는 일은 쉬운일이 아니다. 손쉽게 프로세스 상태를 보여주고, 죽은 프로세스도 자동으로 살려주는 유닉스계열의 시스템에서 동작하는 프로세스를 모니터링하고 관리하기 위한 클라이언트/서버 프로그램이다. Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. It was inspired by the following: http://supervisord.org/running.html 1) supervisord 설정 test@vm003:~$ cat /etc/supervi.. 2018. 1. 16.
파이썬_최적화튜닝전략 일부 내용만 공유합니다. 내장타입을 사용하라.내장 튜플, 리스트, 집합, 사전타입은 C로 구현되어있고, 인터프리터에 가장 잘 튜닝되어있는 자료구조이다.계층을 추가하지 않는다.first 는 dict() 함수호출이 있기 때문에 수행속도가 조금 더 느리다. 수백만개의 dict 을 생성하는 경우라면 second 가 빠르다.def test_perf_dict(self): first = timeit("s = dict(name='catherine', shares=100, price=100)" ) print(first) ## 0.291458129883 second = timeit("s = {'name':'catherine', 'shares':100, 'price':100}" ) print(second) ## 0.1409.. 2016. 9. 2.
memcache클러스터구성 (python-memcache 패키지) memcache클러스터구성을 (python-memcache 패키지) 사용할때 느낀점 위주로 적는다. consistent Hasing 서버의 수가 변경되는 상황에서, 리퀘스트를 어떻게 분산처리할까로 부터나온 것으로, 서버의 개수가 변하더라도 전체 데이터에 대한 재분배가 필요없고 K/N의 key만 재분배하면 되도록 되어있는 알고리즘이다. ( https://en.wikipedia.org/wiki/Distributed_hash_table )python-memcache 패키지memcache.set(KEY, value) KEY의 해시값으로 커넥션이-유효한-리얼서버 를 정한다.운영중 문제가 된 서버가 있는 경우? init_server List 로 mod 를 통해 서버를 찾는다. init_server List 는 문제.. 2016. 6. 3.
effective pyton 을 읽고 effective pyton 을 읽고 제너레이터 표현식은 이터레이터로 한번에 한 출력만 만드므로 메모리문제를 피할수있다.range 보다는 enumerate(lazy generator 로 이터레이터를 감싼다.) 를 사용하자.이터레이터를 병렬로 처리 하려면 zip을 쓴다. (길이가 다른 경우에는 itertolls의 izip_longest)for / while 루프 뒤에는 else 블럭을 쓰지말자.try/exception/else/finally 에서 각 블럭의 장점을 이용하자.else블럭 : try 블럭이 예외를 일으키지않으면 else블럭이 실행된다. 즉 try블럭의 코드가 성공적으로 실행된 후, finally 블럭에서 공통처리 코드를 실행하기 전에 사용하면 좋다. 또한 이 블럭은 try/exception 블.. 2016. 5. 16.