<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>子プロセス | ～下町物語～</title>
	<atom:link href="https://blog.rurineko.com/archives/tag/%e5%ad%90%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.rurineko.com</link>
	<description>入り組んだ現代社会に鋭いメスを入れ、おもしろおかしく書綴るブログである</description>
	<lastBuildDate>Thu, 31 Aug 2017 15:47:55 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://blog.rurineko.com/wp-content/uploads/2017/04/cropped-image2_9-32x32.jpg</url>
	<title>子プロセス | ～下町物語～</title>
	<link>https://blog.rurineko.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://blog.rurineko.com/archives/tag/%e5%ad%90%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9/feed"/>
	<item>
		<title>ブログサイトのserverをチューニングしました。</title>
		<link>https://blog.rurineko.com/archives/8447</link>
		
		<dc:creator><![CDATA[rurineko]]></dc:creator>
		<pubDate>Thu, 31 Aug 2017 00:04:46 +0000</pubDate>
				<category><![CDATA[1.趣味関連]]></category>
		<category><![CDATA[2.IT関連]]></category>
		<category><![CDATA[Linux(Apache)WebServer]]></category>
		<category><![CDATA[Linux(ミドル）]]></category>
		<category><![CDATA[Linux（OS）]]></category>
		<category><![CDATA[Mobile投稿]]></category>
		<category><![CDATA[クラウド]]></category>
		<category><![CDATA[ネットワーク関連]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mariaDB]]></category>
		<category><![CDATA[Out of memory]]></category>
		<category><![CDATA[子プロセス]]></category>
		<guid isPermaLink="false">http://blog.rurineko.com/?p=8447</guid>

					<description><![CDATA[<p><span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">この記事を読む およそ時間</span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">分</span></span>先日の大幅性能劣化を受けて さて、先日の大幅性能劣化を目の当たりにして、流石に昨日ブログサイトのserverをチューニングしました。その後２時間くらいモニタリングしましたが、４つ程子serverが自動起動してきた位でメモ [&#8230;]</p>
<p>The post <a href="https://blog.rurineko.com/archives/8447">ブログサイトのserverをチューニングしました。</a> first appeared on <a href="https://blog.rurineko.com">～下町物語～</a>.</p>]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">この記事を読む およそ時間</span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">分</span></span><h2 id="midashi2">先日の大幅性能劣化を受けて</h2>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-8455" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-8-31_23-46-59_No-00.jpg" alt="" width="388" height="222" /></p>
<p>さて、先日の大幅性能劣化を目の当たりにして、流石に昨日ブログサイトのserverをチューニングしました。その後２時間くらいモニタリングしましたが、４つ程子serverが自動起動してきた位でメモリーは残量400MBくらい残量がある状態で安定しています。</p>
<h3 id="midashi3">行ったチューニングについて</h3>
<p>nginx側とphp側をチューニングしました。チューニングポイントとしては、次の通りです。</p>
<p>設定ファイル：/etc/php-fpm.d/www.conf　こいつをいじってあげます。</p>
<p>○リソースの自動配分の設定<br />
変更前＞pm = dynamic<br />
変更後＞pm = static</p>
<p>これについては、dynamicだと、serverに重みを任せる運用が出来る反面、リソースが潤沢に用意されている場合は有効ですが、このブログが動いて居るような品祖なserverでは、すぐout of memoryが発生して駄目になります。予想も出来ない為、基本的にstaticに設定を行うポリシーとしたいと思います。</p>
<p>○作成される子プロセスの最大数(apacheでいうとmaxclient) 同時に処理をする可能性がある子プロセス数<br />
pm.max_children = 3</p>
<p>下記3つ動作している事が確認出来る。<br />
<img decoding="async" class="aligncenter size-medium wp-image-8457" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-8-31_23-55-58_No-00-620x95.jpg" alt="" width="620" height="95" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-8-31_23-55-58_No-00-620x95.jpg 620w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-8-31_23-55-58_No-00-400x61.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-8-31_23-55-58_No-00.jpg 638w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<p>○起動時に作成される子プロセス数(min_spare_servers + (max_spare_servers &#8211; min_spare_servers) / 2) プロセス開始時に生成される子プロセス<br />
pm.start_servers = 5</p>
<p>○アイドル状態のサーバプロセス数の最小値<br />
pm.min_spare_servers = 5</p>
<p>○アイドル状態のサーバプロセス数の最大値<br />
pm.max_spare_servers = 10</p>
<p>○各子プロセスが再起動するまでに実行するリクエスト数(メモリーリーク防止)設定例だと200リクエストすると、破棄され再度起動されます。<br />
pm.max_requests = 200</p>
<p>○phpのメモリ利用制限（これが前の設定では1024Mと大幅にでかい設定になってました）<br />
php_admin_value[memory_limit] = 128M</p>
<p>○timeoutの設定(単一のリクエストを処理する際のタイムアウト。この時間を過ぎるとワーカープロセスが kill されます)<br />
request_terminate_timeou = 20</p>
<p>とりあえず、上記有効そうなパラメーターのチューニングを行いました。今まで子serverのpm.max_requestsが入ってなかったので、200リクエストをカウントしたら、その子serverは削除されて別の子serverに引き継がれる設定を行いました。これが入ってないと長時間処理を行いメモリーリークの発生する確率が上がります。</p>
<h3 id="midashi3">zabbixの監視状況はどうよ？</h3>
<p>昨日からのメモリーの状況ですが、特に変わり無く安定しています。<br />
<img decoding="async" class="aligncenter size-medium wp-image-8458" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-8-0_No-00-620x254.jpg" alt="" width="620" height="254" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-8-0_No-00-620x254.jpg 620w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-8-0_No-00-400x164.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-8-0_No-00.jpg 674w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<p>cacheサイズをロガーしてますが、これを見るとどこで人が一杯見てくれたのか？更新したタイミングとかモロわかりですね。<br />
<img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-8459" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-10-34_No-00-620x263.jpg" alt="" width="620" height="263" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-10-34_No-00-620x263.jpg 620w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-10-34_No-00-400x170.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-10-34_No-00.jpg 656w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<p>若干、小serverの数が少ない設定になってますが、ちょっと様子見ですかね。もともとserverのメモリーが少ないので、しょっぱい設定以外できないです。ただ、SSDの恩恵はかなり受けていると思います。</p>
<p>チューニングを行ってからCPUが結構食われている気がします。その分速度は出ている気がします。<br />
<img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-8460" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-26-50_No-00-620x285.jpg" alt="" width="620" height="285" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-26-50_No-00-620x285.jpg 620w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-26-50_No-00-400x184.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-26-50_No-00.jpg 682w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<p>今度時間が合ったら、zabbixで子プロセスの情報をロガーしてグラフを書いたりしてもおもしろいのかな？と思いました。</p>
<p>余談ですが、ちょっと負荷が高いと思ったら、Botがブログを舐めに来ている様ですね。<br />
<img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-8461" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00-620x65.jpg" alt="" width="620" height="65" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00-620x65.jpg 620w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00-400x42.jpg 400w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00-768x80.jpg 768w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00-940x98.jpg 940w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-28-55_No-00.jpg 1288w" sizes="auto, (max-width: 620px) 100vw, 620px" /></p>
<p>さっき無茶な設定したら、out of memoryになってOSがダウンしましたｗｗｗ<br />
コンソールよりフォースリセットをかけました。mariaDBが壊れていない事をねがって・・・。お願いマリアさーーーーん！！<br />
<img loading="lazy" decoding="async" src="http://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-44-23_No-00.jpg" alt="" width="502" height="296" class="aligncenter size-full wp-image-8462" srcset="https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-44-23_No-00.jpg 502w, https://blog.rurineko.com/wp-content/uploads/2017/08/SnapCrab_NoName_2017-9-1_0-44-23_No-00-400x236.jpg 400w" sizes="auto, (max-width: 502px) 100vw, 502px" /></p><p>The post <a href="https://blog.rurineko.com/archives/8447">ブログサイトのserverをチューニングしました。</a> first appeared on <a href="https://blog.rurineko.com">～下町物語～</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
