<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on gywn&#39;s tech</title>
    <link>/tags/linux/</link>
    <description>Recent content in Linux on gywn&#39;s tech</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>gywndi@gmail.com (gywndi)</managingEditor>
    <webMaster>gywndi@gmail.com (gywndi)</webMaster>
    <lastBuildDate>Tue, 19 Aug 2025 21:03:51 +0900</lastBuildDate>
    <atom:link href="/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>리눅스에서 tc로 레이턴시 조정해보기</title>
      <link>/2024/09/tc-latency-on-linux/</link>
      <pubDate>Wed, 18 Sep 2024 12:26:29 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2024/09/tc-latency-on-linux/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;일년만에, 블로그에 새 글을 올려봅니다. 그동안, 많은 주제가 있었지만, (주관적인 판단이지만) 좋은 주제일지 예전같은 확신이 서지 않아서, 많은 시간 망설이며 잠시 블로그를 멈추었습니다.&lt;/p&gt;&#xA;&lt;p&gt;그러나, 제가 알던 경험이. 나만의 아련한 기억이 되고 점차 소멸되기 전에. 잊기 전에. 블로그 하나를 올려봅니다. 멀티DC 환경을 고려하면서, 몇가지 테스트를 하던 중. &lt;strong&gt;노드간 네트워크 레이턴시를 고민&lt;/strong&gt;을 했었는데. &lt;strong&gt;TC(Traffic control)를 활용하였고 나름 의미있는 결과를 도출&lt;/strong&gt;했었는데.. 오늘은 tc에 대해서 이야기를 해보고자 합니다.&lt;/p&gt;&#xA;&lt;h1 id=&#34;traffic-control-tc&#34;&gt;Traffic control (TC)?&lt;/h1&gt;&#xA;&lt;p&gt;동일 네트워크 상에서, &lt;strong&gt;DC간의 레이턴시를 고려하여 성능 변화를 테스트하고 싶은 경우&lt;/strong&gt;가 있습니다. 특히나, 과거와는 다르게 서비스가 여러개의 DC 또는 Zone에서 분산 구동될 수 있다는 상황을 고려해본다면. 이런 테스트는 필수 입니다. 참고로, 아주 오래 전, 서울/부산 레이턴시 14ms로 인하여 대형 서비스 장애를 경험해본 입장으로. 서비스 오픈 전 이런 검증은 필수라 생각합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>[MySQL] 바쁜 서비스 투입 전, 이런 캐시 전략 어때요?</title>
      <link>/2017/06/mysql-os-cache-management/</link>
      <pubDate>Thu, 15 Jun 2017 21:39:12 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2017/06/mysql-os-cache-management/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;데이터베이스를 운영한다는 것은 최적의 상태로 리소스를 &lt;strong&gt;쥐어짜면서&lt;/strong&gt; 가장 효율적으로 데이터를 끄집어내야할텐데요. 지금은 SSD 디스크 도입으로 상당 부분 Disk I/O가 개선되었다지만, 여전히 메모리 효율은 굉장히 중요합니다. 특히나 &lt;strong&gt;Page Cache와 같은 항목이 과다하게 메모리를 점유하게 되면.. 다른 프로세스 효율에도 영향을 미칠 뿐만 아니라, 때로는 메모리 부족 현상으로 인하여 스왑 메모리에도 영향&lt;/strong&gt;을 줄 수 있습니다.&lt;/p&gt;&#xA;&lt;p&gt;서론은 짧게.. 이번에 DBMS 구조를 그려가면서, 실제 리소스 사용에 걸림돌이 되는 몇몇 요소에 대한 우리의 사례를 얘기해보도록 하겠습니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>새벽 4시, 이유없이 디스크 유틸이 튄다면? 디스크 성능에 영향을 주는 크론잡</title>
      <link>/2015/02/linux-cronjob-makes-disk-issue/</link>
      <pubDate>Thu, 05 Feb 2015 12:44:51 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2015/02/linux-cronjob-makes-disk-issue/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;새벽에 디스크 성능에 영향을 주는 요소로는 대표적으로 백업과 같은 디비 운영적인 업무가 있습니다. 각 운영 정책에 따라 다르겠지만, 순간적인 시스템 부하에도 굉장히 민감한 서비스 경우에는 별도의 스탠바이 용도의 슬레이브 서버를 두고 그곳에서 백업을 하기 마련입니다.&lt;/p&gt;&#xA;&lt;p&gt;이런 상황  마스터에서는 백업과 같은 무거운 디스크 작업이 일어나지 않는 상황에서 알 수 없는 이유로 새벽 4시 혹은 4시 22분에 디스크가 유틸이 튀는 경우가 있습니다. 그리고 가벼운 쿼리일지라도 대거 슬로우 쿼리로 잡히기도 합니다.&lt;/p&gt;&#xA;&lt;p&gt;범인은 의외로 리눅스 설치 시 기본적으로 등록되는 두 가지 크론잡에 있는데요, 얼마 전 이와 비슷한 사례를 경험하게 되어 공유 드립니다. (단, 고수님들은 출입금지!)&lt;/p&gt;</description>
    </item>
    <item>
      <title>CentOS 6.x에서 MySQL 운영 시 반드시 확인해봐야 할 파라메터!</title>
      <link>/2012/10/mysql-connection-limitation-nproc/</link>
      <pubDate>Tue, 16 Oct 2012 07:48:35 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2012/10/mysql-connection-limitation-nproc/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;MySQL 내부에서는 최대 허용 가능한 Connection을 설정할 수 있습니다. 하지만 OS 파라메터의 제약으로 때로는 임계치만큼 Connection을 늘릴 수 없는 경우가 발생하기도 합니다. 게다가, 만약 OS가 업그레이드되면서 관련 Default Value 가 변경되었다면? 이유없는 장애가 발생할 수도 있는 것이죠.&lt;/p&gt;&#xA;&lt;p&gt;오늘은 OS 파라메터 중 CentOS 버전 별 nproc 값에 의한 Max Connection 제한에 대해 포스팅하겠습니다.&lt;/p&gt;&#xA;&lt;h1 id=&#34;environment&#34;&gt;Environment&lt;/h1&gt;&#xA;&lt;h3 id=&#34;1-centos-58&#34;&gt;1) CentOS 5.8&lt;/h3&gt;&#xA;&lt;p&gt;CentOS 5.x버전의 nproc(Max User Processes) 기본 값은 다음과 같습니다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ &lt;span class=&#34;nb&#34;&gt;ulimit&lt;/span&gt; -a &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep processes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;max user processes          &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;-u&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;4095&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-centos-63&#34;&gt;2) CentOS 6.3&lt;/h3&gt;&#xA;&lt;p&gt;이에 반해 CentOS 6.x버전부터는 &lt;code&gt;/etc/security/limit.conf&lt;/code&gt;에 nproc에 특별한 설정을 하지 않는 한 1,024를 기본값으로 가집니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>리눅스에 MySQL 설치하기(CentOS 5.6)</title>
      <link>/2011/12/mysql-installation-on-linux/</link>
      <pubDate>Tue, 20 Dec 2011 09:26:13 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2011/12/mysql-installation-on-linux/</guid>
      <description>&lt;p&gt;MySQL DBMS 를 설치할 때 제가 적용하는 내용을 공유합니다. root 계정으로 설치 준비를 하고, mysql 계정으로 DB를 구동합니다.&lt;/p&gt;&#xA;&lt;p&gt;일단 하단 내용들은 root계정으로 수행을 합니다.&lt;/p&gt;&#xA;&lt;h3 id=&#34;os-계정-추가&#34;&gt;OS 계정 추가&lt;/h3&gt;&#xA;&lt;p&gt;다음과 같이 dba 그룹을 추가하고 그 밑에 mysql 계정을 추가합니다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;groupadd -g &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; dba&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;useradd -g &lt;span class=&#34;m&#34;&gt;600&lt;/span&gt; -u &lt;span class=&#34;m&#34;&gt;605&lt;/span&gt; mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;linux-설정-변경&#34;&gt;Linux 설정 변경&lt;/h3&gt;&#xA;&lt;p&gt;세션 Limit 를 설정합니다.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi /etc/security/limits.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;##하단 내용 추가&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mysql            soft    nproc  &lt;span class=&#34;m&#34;&gt;8192&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mysql            hard    nproc  &lt;span class=&#34;m&#34;&gt;16384&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mysql            soft    nofile &lt;span class=&#34;m&#34;&gt;8192&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mysql            hard    nofile &lt;span class=&#34;m&#34;&gt;65536&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OS에서 limits.conf 파일을 읽어들이도록 설정합니다. 없으면 생성합니다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CentOS6 에 Apache&#43;PHP&#43;MySQL 구성</title>
      <link>/2011/12/centos-apache-php-mysql/</link>
      <pubDate>Sun, 11 Dec 2011 12:44:24 +0000</pubDate><author>gywndi@gmail.com (gywndi)</author>
      <guid>/2011/12/centos-apache-php-mysql/</guid>
      <description>&lt;p&gt;서버를 구성하면서 사용한 스크립트..&lt;br&gt;&#xA;나중에 재사용을 위해서 블로그에 올리자!!&lt;br&gt;&#xA;Apache -&amp;gt; MySQL -&amp;gt; PHP 순으로 설치!&lt;/p&gt;&#xA;&lt;p&gt;모든 설치 파일 혹은 소스는 하단 디렉토리에 위치한다.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Apache:&lt;/strong&gt; &lt;a href=&#34;http://apache.org&#34;&gt;http://apache.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;MySQL :&lt;/strong&gt; &lt;a href=&#34;http://dev.mysql.com&#34;&gt;http://dev.mysql.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PHP   :&lt;/strong&gt;  &lt;a href=&#34;http://php.net&#34;&gt;http://php.net&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;최근 릴리즈 버전을 &lt;code&gt;/usr/local/src&lt;/code&gt;에 다운로드 한다.&lt;/p&gt;&#xA;&lt;h2 id=&#34;apache-설치&#34;&gt;Apache 설치&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## 컴파일 및 설치&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /usr/local/src&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xvzf httpd-2.2.14.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; httpd-2.2.21&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./configure --prefix&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/apache &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;--enable-mods-shared&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;all &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;--enable-so &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;--enable-module&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;rewrite&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## 관리를 위해 Symbolic Link로 연결&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /usr/local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv apache apache-2.2.21&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s apache-2.2.21 apache&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;mysql-설치&#34;&gt;MySQL 설치&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## 압축 해제 설치&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xzvf mysql-5.5.19-linux2.6-x86_64.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv mysql-5.5.19-linux2.6-x86_64 /usr/local/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /usr/local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;## 관리를 위해 Symbolic Link로 연결&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ln -s mysql-5.5.19-linux2.6-x86_64 mysql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;자세한 설치는 &lt;a href=&#34;/2011/12/mysql-installation-on-linux/&#34;&gt;리눅스에 MySQL 설치하기(CentOS 5.6)&lt;/a&gt; 편을 참고하세요.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
