목록리눅스 (17)
그놈의 안드로이드
Prefork 아파치의 대부분의 기능은 모듈에서 나옵니다. 심지어이 MPM Prefork도 모듈로 제공되며 활성화 또는 비활성화 할 수 있습니다. 이 prefork apache 모델은 non-threaded이며 좋은 모델입니다. 각각의 연결이 서로 격리되어 있기 때문입니다.따라서 한 연결에 문제가 발생하면 다른 연결이 모두 영향을 미치지 않습니다. 기본적으로 MPM 모듈을 지정하지 않으면 apache는이 MPM Prefork를 MPM 모듈로 사용합니다. 그러나이 모델은 자원 집약적입니다. 프리 포크 모델은 왜 자원 집중적 인 것인가?이 모델에서는 단일 상위 프로세스가 앉아서 요청을 기다리고 요청이 도착할 때 역할을하는 많은 하위 프로세스를 작성합니다. 즉, 모든 요청은 별도의 프로세스에 의해 처리됩니다...
WAS(Web Application Server) 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버 WAS의 기본 기능은 3가지이다.1. 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.2. 여러 개의 트랜잭션을 관리한다.3. 업무를 처리하는 비즈니스 로직을 수행한다. 웹서버와 WAS의 차이점 보통 WAS는 웹서버를 포함하고 있습니다.크기로만 따지면 WAS보다 웹서버가 큽니다.웹서버 한대에 여러개의 WAS서버를 운용하기도 하며 WAS는 jsp를 자바로 바꾸고 그것을 컴파일해서 서블릿을 만들고 사용자 요청에 대해서 서블릿 실행하여 결과물(output) 만드는것까지 관여. 웹브라우저와 통신은 웹서버가 하고 jsp를 사용하려면 jsp를 지원하는 WAS를 사용해야함. WAS는 서버 내부적으로 연산에..
Nginx 아키텍처 개요 기존의 동시 연결을 처리하는 프로세스 또는 스레드 기반 모델은 별도의 프로세스 또는 스레드와의 각 연결 처리와 네트워크 또는 입력 / 출력 작업에 대한 차단이 포함된다. 응용에 따라, 메모리 및 CPU 사용 측면에서 매우 비효율적 일 수있다. 별도의 프로세스 또는 스레드를 복제하는 작업은 힙 및 스택 메모리 할당을 포함한 새로운 런타임 환경의 준비와 새로운 실행 컨텍스트의 생성이 필요하다. 추가적인 CPU time 역시 과도한 컨텍스트 스위치에 의한 스레드 스래싱으로 성능 저하를 유발하는 일들에 소요된다. 이러한 복합현상들은 아파치와 같은 오래된 웹서버 아키텍처에서 실제로 나타난다. 이것은 일반적으로 적용할 수 있는 다양한 기능의 제공과 서버 자원 사용을 최적화 하는 것 사이에서..
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? 이러한 에러가 뜬다면 1234sudo rm /var/lib/apt/lists/locksudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lockdpkg --configure -acs 로 해결할 수 있다.
Lighttpd 벤치마크를 테스트 하는도중 유독 php로 들어가는 HTTP Request에서 다량의 오류가 발생했다. 서버에서 반환되는 서버에러는 500 - Internal Server Error 서버에 많은 요청이 몰리면서 서버가 감당을 못하는것으로 처음에는 예측했다. 하지만 에러 로그를 확인해본 결과(/var/log/lighttpd/error.log) 다음과 같은 에러로그가 남겨진걸 확인할 수 있었다. 2018-12-31 16:05:50: (mod_fastcgi.c.2995) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 133 ..
$ apt install nmon $ apt install ksh $ mkdir /var/log/nmon $ chmod -R 777 /var/log/nmon https://github.com/aguther/nmonchart -> 다운로드 & 압축풀기 (터미널 1) $ nmon -f -s 1 -c 100 -m /var/log/nmon (1초 간격 100초간 기록) (터미널 2) $ ps aux | grep nmon (백그라운드에서 Nmon이 동작하는지 확인) (터미널 3) $ cd /home/tn/Downloads/nmonchart-master $ ./nmonchart /var/log/nmon/파일이름 /var/log/nmon/변환할파일명.html
apt-get install libexpat1-dev
import tornado.ioloop import tornado.web import pymysql 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253class Main(tornado.web.RequestHandler): def get(self): #key is key key = self.get_argument('key', None) #self.write(key) if key == 'big': top = "" img = "" bottom = "" self.write(top+img+bottom) if key == 'small1': top = "" img = "" bottom = "" ..