snmpd 는 시스템의 자원들에 대해서 SNMP 프로토콜을 통해서 볼 수 있는 기능을 제공 한다. 그런데, 알고 싶은 자원들에 대한 목록들을 조회하기 위해 MIB 값들이 할당되어 있으며 자주 사용되는 운영체제, 라우터, 스위치 같은 장비들에 대한 MIB 값들을 미리 할당되어 전 세계적으로 표준으로 재정해 사용하고 있다. 그런데, 표준으로 재정된 MIB 값외에 사용자가 필요한 자원들을 조회하기 위한 MIB 값을 등록해야 하는데 이때 사용하는 것이 SNMP Extend 를 사용하면 된다. SNMP Extend 는 ‘.1.3.6.1.4.1.2021.8.10’ 같은 MIB 에 조회하고자하는 값들을 등록하면 된다. 예를들면 다음과 같다. […]
HyperText Transfer Protocol
HyperText Transfer Protocol 은 인터넷 미디어를 전송하기 위한 규약이다. 인터넷 미디어라는 단어를 쓰기는 했지만, 요즘에는 인터넷을 통해서 못하는게 없을 정도로 인터넷 미디어를 규정하는 매체의 경계는 없다. 따라서 “인터넷 미디어를 전송하기 위한 규약”은 구시대적인 정의이며 차라리 “인터넷을 이용한 웹을 사용할 경우에 쓰이게되는 규약” 정도가 더 잘 맞는듯 하다. HyperText 는 텍스트를 가지는 노드사이에 지역적인 링크(이걸 HyperLink라 한다)를 사용하는 구조적 텍스트를 말한다. 쉽게 말해서 웹사이트에서 링크를 클릭하면서 텍스트를 불러오는 텍스트 구조를 말하는 것이다. History 1989년 CERN (유럽 입자 물리학 연구소) 에 근무하던 […]
[번역] 바쁜 리눅스 서버에서 TCP TIME-WAIT 상태 대처하기.
이 문서는 원작자의 동의를 얻어 다음이 포스트를 발 번역한 것 입니다. Coping with the TCP TIME-WAIT state on busy Linux servers 그리고 이 글의 라이센스는 “CC BY-NC-SA 3.0” 입니다. 글 아래의 라이센스는 이 글에서는 해당되지 않음을 알려 드립니다. 다시 한번 원작자 Vincent Bernat 씨에게 감사 합니다. net.ipv4.tcp_tw_recycle 를 활성화하지 말라! 리눅스 커널 문서는 net.ipv4.tcp_tw_recycle 이 무엇인지에 대해서 별다른 도움이 안된다. TIME-WAIT 소켓의 빠른 재사용을 활성화. 기본값은 0이다. 기술적인 전문가의 충고나 요구없이 함부로 바꿔서는 안된다. 이와 비슷한, net.ipv4.tcp_tw_reuse 는 좀더 문서화되었지만 […]
[번역] MySQL 5.7.6 릴리즈. 큰 변화에 준비하자.
이 글은 “MySQL 5.7.6 is out. Be prepared for big changes” 를 원작자의 허락을 받아 번역한 것입니다. 원본은 아래의 주소에 있습니다. 번역을 허락해준 Giuseppe Maxia 씨에게 감사 합니다. MySQL 5.7.6 is out. Be prepared for big changes 오늘 오라클(Oracle)이 MySQL 5.7.6 마일스톤 16을 릴리즈(Release) 했다. 이것으로 MysQL 5.7 은 개발에 2년이 넘게 소요됐다. MySQL 5.6과 비교해 바뀐점은 아주 넓다. 주요한 팀(개발 팀)의 노력은 이전 릴리즈와 비교해 2배에서 3배의 성능 향상을 가지는 , MySQL 의 동작,스피드에 포커스를 맞춰왔다. 무엇이 새로운지에 대한 전체 […]
리눅스 시스템 자원 제한.
아주 접속이 많은 웹 서버를 운영하던중에 다음과 같은 종류의 메시지를 접하는 경우가 종종 있다.
1 |
Too many open files (24) |
너무나 많은 파일을 열었다는 건데, 도대체 무슨 파일을 열었다는건지 서비스하는 웹 페이지의 파일 개수도 많지도 않은데 말이다. 이 문서는 이러한 의문을 가지는 사람들 위한 것이다. 모든게 파일! 리눅스 시스템은 모든것이 파일이다. 장치도 파일이다. 그 유명한 /dev/ 디렉토리에 있는 팡리들이 바로 장치들이다. 저 파일들에게 cat 명령어로 데이터를 던져주면 그것을 알아먹는 장치는 동작하게 된다. 또, 리눅스에서 프로그램의 실행은 혼자 동작하는 것이 아니다. C 프로그램을 해본사람이라면 라이브러리(Library) 개념을 […]
Nginx KeepAlive
Nginx 에서 KeepAlive 관련된 설정은 다음과 같이 세가지이다. keepalive_disable keepalive_timeout keepalive_requests 먼저, Keepalive 는 HTTP 와 TCP 상에서 구현되어 있다. HTTP 의 경우에는 1.0 버전과 1.1 버전이 존재하는데, 1.0 버전에서는 KeepAlive 는 존재하지 않으며 1.1 에서는 연결시에 기본으로 KeepAlive 가 활성화 된다. HTTP 는 “Connetionless” 방법을 취한다. 웹 컨텐츠를 전송 받기 위해서 서버에 연결을 한 후에 데이터를 전송받는다. 그리고는 연결을 바로 끊게 된다. 하지만 웹이라는게 HTML, Javascript, CSS, Image 파일등으로 수백개로 이루어진 상태에서 수백의 컨텐츠를 전송하기위해서 연결을 수백번을 한다면 비 […]
[번역]레디스 슬레이브에서 “놓쳐버린” 키들.
이 문서는 다음의 글을 번역한 것입니다. “Missing” Keys on Redis Slaves 레디스 슬레이브에서 “놓쳐버린” 키들. 만약 당신이 레디스(Redis)에서 만료중인 키를(expiring key)(“임시적인 키”로 알려진) 사용하고 있다면, 당신은 레디스 마스터에서 새로운 슬레이브(Slave)를 붙였을때에 놀랄 수도 있습니다. 슬레이브에서 키 갯수(key count)가 마스터에서 키 갯수보다 약 25%정도 낮을 것입니다. 이것은 임시적인 키(volatile key)가 아주 많다면 특별하게도 정상적인 것입니다. 레디스 슬레이브가 키를 놓쳐버린 걸까? 단순하게 데이터를 잃어버린 걸까? 결론부터 말하자면 “아니오” 입니다. 그러나, 왜그런지 이해하길 희망하면서, 레디스 슬레이브가 어떠한 데이터도 잃어버리지도 않았는데도 더 적은 키 […]