{"id":649,"date":"2015-04-05T22:30:02","date_gmt":"2015-04-06T07:30:02","guid":{"rendered":"http:\/\/blog.box.kr\/?p=649"},"modified":"2015-04-05T22:30:02","modified_gmt":"2015-04-06T07:30:02","slug":"%ed%8e%8ctomcat7-tomcat-jdbc-%ec%84%a4%ec%a0%95-broken-pipe-%ec%97%90%eb%9f%ac-%ed%9a%8c%ed%94%bc","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=649","title":{"rendered":"[\ud38c]Tomcat7 tomcat-jdbc \uc124\uc815 &#8211; Broken pipe \uc5d0\ub7ec \ud68c\ud53c"},"content":{"rendered":"<p>tomcat-jdbc\ub85c MySQL\uc5d0 \uc5f0\uacb0\ud55c \uacbd\uc6b0 &#8220;java.net.SocketException: Broken pipe&#8221; \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub97c \uac00\ub054 \ubcfc \uc218 \uc788\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 connection idle time\uc774 MySQL\uc5d0 \uc124\uc815\ub41c wait_timeout\uc744 \uc9c0\ub098\uc11c DB\uc5d0\uc11c \uc5f0\uacb0\uc744 \ub04a\uc740 \uac83\uc774\ub2e4. \uc774\ub97c \ubc29\uc9c0\ud558\ub824\uba74 connection\uc774 \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 close\ub418\ub3c4\ub85d \uc124\uc815\ud558\uac70\ub098 connection \ub300\uc5ec\uc2dc\uc5d0 connection\uc744 \uccb4\ud06c\ud558\ub3c4\ub85d \ud558\uba74 \ub41c\ub2e4.<\/p>\n<p><b>\uc124\uc815 1<\/b> &#8211; \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 \ud14c\uc2a4\ud2b8<\/p>\n<p>validationQuery=&#8221;SELECT 1&#8243;<\/p>\n<p>testWhileIdle=&#8221;true&#8221;<\/p>\n<p>minEvictableIdleTimeMillis=&#8221;3600000&#8243;<\/p>\n<p>timeBetweenEvictionRunsMillis=&#8221;60000&#8243;<\/p>\n<p>(*) DB\uc5d0 \ucffc\ub9ac\ub97c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc774 \ub54c\ub9c8\ub2e4 DB\uc758 session idle time\uc774 \uac31\uc2e0\ub41c\ub2e4. \ub9cc\uc57d connection\uc774 \uc774\ubbf8 \ub04a\uacbc\ub2e4\uba74 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud560\ud14c\uace0 \ud574\ub2f9 connection\uc740 pool\uc5d0\uc11c \uc81c\uac70\ub41c\ub2e4.<\/p>\n<p>(*) timeBetweenEvictionRunsMillis\uc758 \uae30\ubcf8\uac12\uc740 5000 (5\ucd08)\uc774\uace0,\u00a0minEvictableIdleTimeMillis\uc758 \uae30\ubcf8\uac12\uc740\u00a060000 (60\ucd08)\uc774\ub2e4.\u00a0minEvictableIdleTimeMillis \uac12\uc740 MySQL\uc5d0 \uc124\uc815\ub41c wait_timeout\uc774\ub098 \ubc29\ud654\ubcbd\uc5d0 \uc124\uc815\ub41c session timeout \uac12\ubcf4\ub2e4 \uc791\uc544\uc57c \ud55c\ub2e4.<\/p>\n<p><b>\uc124\uc815 2<\/b> &#8211; connection \ub300\uc5ec \uc2dc \ud14c\uc2a4\ud2b8<\/p>\n<p>validationQuery=&#8221;SELECT 1&#8243;<\/p>\n<p>testOnBorrow=&#8221;true&#8221;<\/p>\n<p>(*) \ub9e4\ubc88 connection \ub300\uc5ec \uc2dc \ub9c8\ub2e4 \uccb4\ud06c\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4. \uccb4\ud06c \ud55c connection\uc740 validationInterval \uae30\uac04 \uc548\uc5d0\ub294 \ub2e4\uc2dc \uccb4\ud06c\ud558\uc9c0 \uc54a\ub294\ub2e4. validationInterval\uc758 \uae30\ubcf8\uac12\uc740 30000 (30\ucd08).<\/p>\n<p><b>\uc124\uc815 3<\/b> &#8211; \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 close<\/p>\n<p>minIdle=&#8221;0&#8243;<\/p>\n<p>\uc124\uc815 1\uc744 \uc0ac\uc6a9\ud55c JDBC Resource \uc124\uc815 \uc608<\/p>\n<table class=\"__se_tbl\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"484\">\u00a0context.xml<\/td>\n<\/tr>\n<tr>\n<td width=\"484\">\u00a0&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;&lt;Context&gt;\n<p>&lt;Resource name=&#8221;jdbc\/testDB&#8221; auth=&#8221;Container&#8221; type=&#8221;javax.sql.DataSource&#8221;<\/p>\n<p>factory=&#8221;org.apache.tomcat.jdbc.pool.DataSourceFactory&#8221;<\/p>\n<p>driverClassName=&#8221;com.mysql.jdbc.Driver&#8221;<\/p>\n<p>url=&#8221;jdbc:mysql:\/\/localhost\/smartconnect?useUnicode=true&amp;amp;characterEncoding=utf8&#8243;<\/p>\n<p>username=&#8221;username&#8221;<\/p>\n<p>password=&#8221;password&#8221;<\/p>\n<p>initialSize=&#8221;10&#8243;<\/p>\n<p>minIdle=&#8221;10&#8243;<\/p>\n<p>maxIdle=&#8221;50&#8243;<\/p>\n<p>maxActive=&#8221;50&#8243;<\/p>\n<p>maxWait=&#8221;5000&#8243;<\/p>\n<p>validationQuery=&#8221;SELECT 1&#8243;<\/p>\n<p>validationInterval=&#8221;30000&#8243;<\/p>\n<p>testWhileIdle=&#8221;true&#8221; \/&gt;<\/p>\n<p>&lt;\/Context&gt;<\/p><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>tomcat-jdbc PoolCleaner \ub3d9\uc791<\/b><\/p>\n<p>PoolCleaner thread\ub294\u00a0timeBetweenEvictionRunsMillis \ub9cc\ud07c sleep\ud558\ub2e4 idle\/abandoned connection\uc744 \uccb4\ud06c\ud55c\ub2e4.<\/p>\n<ul>\n<li>removeAbandoned=&#8221;true&#8221;\uc774\uba74 abandoned connection \uccb4\ud06c\n<ul>\n<li>connection\uc774 \ub300\uc5ec\ub41c \ud6c4 removeAbandonedTimeout (\ucd08, \uae30\ubcf8\uac12 60)\uc548\uc5d0 \ubc18\ub0a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 pool\uc5d0\uc11c \uc81c\uac70\ud558\uace0 close\ud55c\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<li>pool\uc758 idle connection \uac1c\uc218\uac00 minIdle\ubcf4\ub2e4 \ud06c\uba74 \uccb4\ud06c\n<ul>\n<li>idle connection \uac1c\uc218\uac00 minIdle\uc774 \ub420 \ub54c \uae4c\uc9c0 \ub9c8\uc9c0\ub9c9 \uc0ac\uc6a9\uc2dc\uac04\uc774\u00a0minEvictableIdleTimeMillis (\uae30\ubcf8\uac12 60000)\uc744 \uc9c0\ub09c idle connection\uc744 \ucc3e\uc544 pool\uc5d0\uc11c \uc81c\uac70\ud558\uace0 close\ud55c\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<li>testWhileIdle=&#8221;true&#8221;\uc774\uba74 idle connection\ub4e4\uc5d0 \ub300\ud574 validation \ud14c\uc2a4\ud2b8\n<ul>\n<li>\uc804\uccb4 idle connection\uc5d0 \ub300\ud574 validationQuery\uc5d0 \uc124\uc815\ub41c SQL\uc744 \uc218\ud589\ud574\uc11c Exception\uc774 \ubc1c\uc0dd\ud558\uba74 pool\uc5d0\uc11c \uc81c\uac70\ud558\uace0 close\ud55c\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>MySQL wait_time \uc124\uc815\uac12 \ud655\uc778 \ubc29\ubc95\u00a0(\ub2e8\uc704: \ucd08)<\/p>\n<p>mysql&gt;select @@global.wait_timeout;<\/p>\n<p>+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<\/p>\n<p>| @@global.wait_timeout |<\/p>\n<p>+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<\/p>\n<p>| \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 28800 \u00a0 \u00a0 \u00a0 \u00a0 |<\/p>\n<p>+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<\/p>\n<p>1 row in set (0.00 sec)<\/p>\n<div class=\"autosourcing-stub-extra\">\n<p><strong>[\ucd9c\ucc98]<\/strong> <a href=\"http:\/\/blog.naver.com\/clotho95\/140142861915\" target=\"_blank\">Tomcat7 tomcat-jdbc \uc124\uc815 &#8211; Broken pipe \uc5d0\ub7ec \ud68c\ud53c<\/a>|<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>[[\ucd94\uac00]]<\/p>\n<p>jdbc connection string\uc5d0 \ud558\uae30\uc640 \uac19\uc774 autoconnection option\uc744 \ucd94\uac00 \ud574\uc918\ub3c4 \ub41c\ub2e4.<\/p>\n<p>\uc989 \uc774 \uc635\uc158\uc774 \ucf1c \uc788\uc73c\uba74 \ub04a\uae34 \ucee4\ub125\uc158\uc744 \uc790\ub3d9\uc73c\ub85c \uc7ac \uc811\uc18d \ucc98\ub9ac \ud55c\ub2e4.<\/p>\n<p>\ubb38\uc81c\ub294.. \ud2b8\ub79c\uc7ad\uc158\uc774 \uac78\ub824 \uc788\uc744 \uacbd\uc6b0 \uc798 \ubabb \ud558\uba74 \ud2b8\ub79c\uc7ad\uc158\uc774 \uaf2c\uc77c \uc218 \uc788\uc73c\ubbc0\ub85c<\/p>\n<p>\ubcf5\uc7a1\ud55c \uc791\uc5c5\uc744 \ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \uc774 \uc635\uc158\uc744 \uaebc \ub193\ub294\uac8c \uc88b\ub2e4..<\/p>\n<p>&nbsp;<\/p>\n<p>\uc798 \ubabb\ub41c \ub370\uc774\uc11c \uc0dd\uc131 \ubcf4\ub2e4\ub294 \uc624\ub958 \uba54\uc2dc\uc9c0 \ud45c\ucd9c\uc774 \ub098\uc73c\ub2c8\uae50..<\/p>\n<p>Cannot get a connection, pool error Timeout waiting for idle object (Tomcat forum at JavaRanch)<\/p>\n<table border=\"0\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<table border=\"0\" width=\"97%\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\">\n<tbody>\n<tr>\n<td class=\"bodyline\">\n<table id=\"postTable\" class=\"forumline\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr class=\"messageRow\">\n<td id=\"post_text_2225663\" class=\"row2 postbody\" valign=\"top\">\n<div>\n<div id=\"highlighter_154496\" class=\"syntaxhighlighter  java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">url=<\/code><code class=\"java string\">\"jdbc:<a href=\"mysql:\/\/ipAddress\/dbName?autoConnect=true\">mysql:\/\/ipAddress\/dbName?autoConnect=true<\/a>\"<\/code>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\ucca8\uc5b8:: \uac01 \uc635\uc158\uc744 \ubcf5\ud569\uc801\uc73c\ub85c \uc0ac\uc6a9\ud560\ub54c\ub294 &amp;\ub97c \uc368\uc57c \ud558\ub294\ub370 \uc774\uac8c \uc624\ub958\ub97c \uc77c\uc73c\ud0a8\ub2e4. \uadf8\ub798\uc11c<\/p>\n<p>&amp;amp; \ub85c \ubc14\uafd4\uc11c \uac01 \uc635\uc155\uc744 \uc774\uc5b4\uc8fc\uba74 \ub41c\ub2e4.<\/p>\n<p>?characterEncoding=UTF-8&amp;amp;autoConnect=true<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>tomcat-jdbc\ub85c MySQL\uc5d0 \uc5f0\uacb0\ud55c \uacbd\uc6b0 &#8220;java.net.SocketException: Broken pipe&#8221; \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub97c \uac00\ub054 \ubcfc \uc218 \uc788\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 connection idle time\uc774 MySQL\uc5d0 \uc124\uc815\ub41c wait_timeout\uc744 \uc9c0\ub098\uc11c DB\uc5d0\uc11c \uc5f0\uacb0\uc744 \ub04a\uc740 \uac83\uc774\ub2e4. \uc774\ub97c \ubc29\uc9c0\ud558\ub824\uba74 connection\uc774 \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 close\ub418\ub3c4\ub85d \uc124\uc815\ud558\uac70\ub098 connection \ub300\uc5ec\uc2dc\uc5d0 connection\uc744 \uccb4\ud06c\ud558\ub3c4\ub85d \ud558\uba74 \ub41c\ub2e4. \uc124\uc815 1 &#8211; \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 \ud14c\uc2a4\ud2b8 validationQuery=&#8221;SELECT 1&#8243; testWhileIdle=&#8221;true&#8221; minEvictableIdleTimeMillis=&#8221;3600000&#8243; timeBetweenEvictionRunsMillis=&#8221;60000&#8243; (*) DB\uc5d0 \ucffc\ub9ac\ub97c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc774 \ub54c\ub9c8\ub2e4 DB\uc758 session idle time\uc774 \uac31\uc2e0\ub41c\ub2e4. \ub9cc\uc57d connection\uc774 \uc774\ubbf8 \ub04a\uacbc\ub2e4\uba74 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud560\ud14c\uace0 \ud574\ub2f9 connection\uc740 pool\uc5d0\uc11c \uc81c\uac70\ub41c\ub2e4. (*) timeBetweenEvictionRunsMillis\uc758 \uae30\ubcf8\uac12\uc740 5000 (5\ucd08)\uc774\uace0,\u00a0minEvictableIdleTimeMillis\uc758 \uae30\ubcf8\uac12\uc740\u00a060000 (60\ucd08)\uc774\ub2e4.\u00a0minEvictableIdleTimeMillis \uac12\uc740 MySQL\uc5d0 \uc124\uc815\ub41c wait_timeout\uc774\ub098 \ubc29\ud654\ubcbd\uc5d0 \uc124\uc815\ub41c session timeout \uac12\ubcf4\ub2e4 \uc791\uc544\uc57c \ud55c\ub2e4. \uc124\uc815 2 &#8211; connection \ub300\uc5ec \uc2dc \ud14c\uc2a4\ud2b8 validationQuery=&#8221;SELECT 1&#8243; testOnBorrow=&#8221;true&#8221; (*) \ub9e4\ubc88 connection \ub300\uc5ec \uc2dc \ub9c8\ub2e4 \uccb4\ud06c\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4. \uccb4\ud06c \ud55c connection\uc740 validationInterval \uae30\uac04 \uc548\uc5d0\ub294 \ub2e4\uc2dc \uccb4\ud06c\ud558\uc9c0 \uc54a\ub294\ub2e4. validationInterval\uc758 \uae30\ubcf8\uac12\uc740 30000 (30\ucd08). \uc124\uc815 3 &#8211; \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 close minIdle=&#8221;0&#8243; \uc124\uc815 1\uc744 \uc0ac\uc6a9\ud55c JDBC Resource \uc124\uc815 \uc608 \u00a0context.xml \u00a0&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;&lt;Context&gt; &lt;Resource name=&#8221;jdbc\/testDB&#8221; auth=&#8221;Container&#8221; type=&#8221;javax.sql.DataSource&#8221; factory=&#8221;org.apache.tomcat.jdbc.pool.DataSourceFactory&#8221; driverClassName=&#8221;com.mysql.jdbc.Driver&#8221; url=&#8221;jdbc:mysql:\/\/localhost\/smartconnect?useUnicode=true&amp;amp;characterEncoding=utf8&#8243; username=&#8221;username&#8221; password=&#8221;password&#8221; initialSize=&#8221;10&#8243; minIdle=&#8221;10&#8243; maxIdle=&#8221;50&#8243; maxActive=&#8221;50&#8243; maxWait=&#8221;5000&#8243; validationQuery=&#8221;SELECT 1&#8243; validationInterval=&#8221;30000&#8243; testWhileIdle=&#8221;true&#8221; \/&gt; &lt;\/Context&gt; tomcat-jdbc PoolCleaner \ub3d9\uc791 PoolCleaner thread\ub294\u00a0timeBetweenEvictionRunsMillis \ub9cc\ud07c sleep\ud558\ub2e4 idle\/abandoned connection\uc744 \uccb4\ud06c\ud55c\ub2e4. removeAbandoned=&#8221;true&#8221;\uc774\uba74 abandoned connection \uccb4\ud06c connection\uc774 \ub300\uc5ec\ub41c \ud6c4 removeAbandonedTimeout (\ucd08, \uae30\ubcf8\uac12 60)\uc548\uc5d0 \ubc18\ub0a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744 pool\uc5d0\uc11c \uc81c\uac70\ud558\uace0 close\ud55c\ub2e4. pool\uc758 idle connection \uac1c\uc218\uac00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[5],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-at","jetpack-related-posts":[{"id":653,"url":"https:\/\/blog.box.kr\/?p=653","url_meta":{"origin":649,"position":0},"title":"[\ud38c]Too many connection \ubb38\uc81c \ud574\uacb0","date":"2015-04-05","format":false,"excerpt":"http:\/\/netholic.tistory.com\/116 \u00a0 \u00a0 \uc774\ubc88\ud574 \ucd08\ubd80\ud130 \uc2dc\uc791\ub41c too many connection \ubb38\uc81c\uac00 \ud558\ub8e8\uc5d0 \ud55c\ubc88\uc529 mysql \uc744 \ubed7\uac8c \ub9cc\ub4e4\uc5c8\ub2e4. \ub418\ub294\ub300\ub85c... \uc544\ubb34\uac83\ub3c4 \ubaa8\ub978\ucc44\ub85c \ub9cc\ub4e0 \uc6b4\uc601\ud234\uc774 \uadf8 \uc6d0\uc778... \ucffc\ub9ac\ub3c4 10\ucd08 \uc774\uc0c1 \uac78\ub9ac\ub294 \uac83\ub3c4 \uc874\uc7ac\ud588\uace0..\uc778\ub371\uc2a4\ub3c4 \uc81c\ub300\ub85c \uc548\uac78\ub824\uc788\uace0.. \uadf8\ub798\uc11c \uc2ac\ub85c\uc6b0 \ucffc\ub9ac\ub97c \uc7a1\uace0 \uc778\ub371\uc2a4\ub3c4 \uc81c\ub300\ub85c \uac78\uc5b4\uc11c...\uadf8\ub7f0 \ucffc\ub9ac\ubb38\uc81c\ub97c \uc5c6\uc570\uc73c\ub85c\uc11c \ucee4\ub125\uc158 \ubb38\uc81c\ub294 \uc5c6\uc5b4\uc9c8 \uc904 \uc54c\uc558\ub2e4. \uadf8\ub7f0\ub370 \uc5ec\uc804\ud788 \ud558\ub8e8\uc5d0 \ud55c\ubc88\uc529...\uc11c\ubc84\ub97c \ub0b4\ub838\ub2e4\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":61,"url":"https:\/\/blog.box.kr\/?p=61","url_meta":{"origin":649,"position":1},"title":"WebtoB + JEUS + web application","date":"2014-06-12","format":false,"excerpt":"WebtoB + JEUS + web application webgosu.egloos.com\/9123240 1. WebtoB \uc124\uce58 1.1 \uc124\uce58\ud30c\uc77c, \ub77c\uc774\uc13c\uc2a4(license.dat)\uc900\ube44 1.2 \ub77c\uc774\uc13c\uc2a4 \uc801\uc6a9 : webtoB4.1licenselicense.dat 2. WebToB \uc2e4\ud589 2.1 \uc2e4\ud589\ud30c\uc77c\uc0dd\uc131(wsconfig) --> \ud658\uacbd\ud30c\uc77c \ucef4\ud30c\uc77c : wscfl -i [\ud658\uacbd\ud30c\uc77c] 2.2 \uc2e4\ud589 : wsboot --> wsboot -w (handler\uac00 process\ub4e4\uc744 \ud655\uc778\ud558\uba70 booting->\uc548\uc815\uc801\uc778 booting) 2.3 \uc885\ub8cc : wsdown --> wsdown -i (\uc9c8\uc758\ub97c\u2026","rel":"","context":"In &quot;JEUS &amp; WEBToB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":379,"url":"https:\/\/blog.box.kr\/?p=379","url_meta":{"origin":649,"position":2},"title":"[\ud38c]\ube60\ub974\uac8c \ud6dd\uc5b4 \ubcf4\ub294 node.js","date":"2014-09-15","format":false,"excerpt":"http:\/\/bcho.tistory.com\/889 \ube60\ub974\uac8c \ud6dd\uc5b4 \ubcf4\ub294 node.js - #6 MongoDB \uc5f0\ub3d9 (mongo-native) \ud074\ub77c\uc6b0\ub4dc \ucef4\ud4e8\ud305 & NoSQL\/Vert.x & Node.js\u00a0|\u00a02014\/04\/03 23:49\u00a0|\u00a0Posted by\u00a0\uc870\ub300\ud611 \ube60\ub974\uac8c \ud6dd\uc5b4\ubcf4\ub294\u00a0node.js #6- mongo-native \ubaa8\ub4c8\uc744 \uc774\uc6a9\ud55c MongoDB \uc5f0\ub3d9 \uc870\ub300\ud611\u00a0(http:\/\/bcho.tistory.com Persistence\u00a0\uc5f0\ub3d9 node.js\ub294\u00a0DB\ub098\u00a0NoSQL\ub4f1\uc758 \uc5f0\ub3d9\uc744 \uc9c0\uc6d0\ud558\ub294\ub370,\u00a0\uc774 \uc5ed\uc2dc \ucca0\uc800\ud558\uac8c\u00a0non-blocking io\u00a0\ubc29\uc2dd\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4.\u00a0\uc989\u00a0db\u00a0\uc5f0\uacb0\u00a0socket\uc744 \uc5f4\uc5b4\uc11c\u00a0query\ub97c \ub358\uc838\ub193\uace0, query\u00a0\uacb0\uacfc\uac00 \uc624\uba74 \uc774\ubca4\ud2b8\ub97c \ubc1b\uc544\uc11c\u00a0callback\u00a0\ud568\uc218\ub85c \ucc98\ub9ac\ud558\ub294 \uc21c\uc11c\uc774\ub2e4. \uadf8\ub7ec\uba74 \uc5ec\uae30\uc11c\ub294 \uba87\uac00\uc9c0\u00a0persistence\u00a0\uc5f0\ub3d9 \ubc29\uc2dd\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\ubcf4\ub3c4\ub85d \ud55c\ub2e4.\u2026","rel":"","context":"In &quot;\ucc38\uace0\ub97c \uc704\ud55c \uc800\uc7a5\ubb3c&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":720,"url":"https:\/\/blog.box.kr\/?p=720","url_meta":{"origin":649,"position":3},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30","date":"2015-04-15","format":false,"excerpt":"http:\/\/kwon37xi.egloos.com\/ \ub300\uaddc\ubaa8 \uc11c\ube44\uc2a4 \uac1c\ubc1c\uc2dc\uc5d0 \uac00\uc7a5 \uae30\ubcf8\uc801\uc73c\ub85c \ud558\ub294 \ud29c\ub2dd\uc740 \ubc14\ub85c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\uc11c Write\uc640 Read DB\ub97c Replication(\ub9ac\ud50c\ub9ac\ucf00\uc774\uc158)\ud558\uace0 \uc4f0\uae30 \uc791\uc5c5\uc740 Master(Write)\ub85c \ubcf4\ub0b4\uace0 \uc77d\uae30 \uc791\uc5c5\uc740 Slave(Read)\ub85c \ubcf4\ub0b4\uc5b4 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a4\ub294 \uac83\uc774\ub2e4. \ud2b9\ud788 \ub300\ubd80\ubd84\uc758 \uc11c\ube44\uc2a4\ub294 \uc77d\uae30\uac00 \uc555\ub3c4\uc801\uc73c\ub85c \ub9ce\uae30 \ub54c\ubb38\uc5d0\u00a0 Slave\ub294 \uc5ec\ub7ec \ub300\ub97c \ub450\uc5b4 \uc77d\uae30 \ubd80\ud558\ub97c \ubd84\uc0b0 \uc2dc\ud0a8\ub2e4. \uadf8\ub7f0\ub370 \ub610 \ud558\ub098 \uae30\uc5b5\ud574\uc57c \ud560 \uac83\uc774 Replication\uc740 \ube44\ub85d \uc9e7\ub354\ub77c\ub3c4\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":590,"url":"https:\/\/blog.box.kr\/?p=590","url_meta":{"origin":649,"position":4},"title":"[\ud38c]Java \uc5d0\uc11c DataBase Replication Master\/Slave (write\/read) \ubd84\uae30 \ucc98\ub9ac\ud558\uae30 \ud504\ub85c\uadf8\ub798\ubc0d","date":"2015-01-30","format":false,"excerpt":"Cloud\ud658\uacbd\uc5d0\uc11c DB\ub97c \uc0ac\uc6a9\ud558\ub2e4\ubcf4\ub2c8 Disk I\/O\ub098 \ub108\ubb34 \ub290\ub824\uc11c \ub9ce\uc740 \uace0\ubbfc\uc744 \ud558\uac8c \ub410\ub2e4. \uc77c\ub2e8 \uc0dd\uac01\ub098\ub294\uac83\uc774 \ub9ce\uc774 \ub4e4 \ud558\ub294 Replication\uc744 \uc774\uc6a9\ud55c \ubd80\ud558\ubd84\uc0b0 ( Master\ub294 Insert\/Update\ub9cc, Slave\ub294 SELECT\ub9cc ) \uadf8\ub7f0\ub370 \ub9c9\uc0c1 \ud560\ub824\uba74 \uc774\uac83 \uc800\uac83 \uc190\uc774 \ub9ce\uc774 \uac04\ub2e4.. \uadf8\ub798\uc11c.. \uc0dd\uac01\ub9cc \ud558\uace0 \uc801\uc6a9\uc744 \uc548\ud588\uc5c8\ub294\ub370.. \u00a0 \uc6f9\uc11c\ud551\uc744 \ud558\ub2e4\uac00 \uc774\ub7f0 \uae00\uc744 \ubc1c\uacac.. \uc544!! \uc774\ub807\uac8c \uc88b\uc744 \uc218\uac00.. \u00a0 \uc5ed\uc2dc\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":801,"url":"https:\/\/blog.box.kr\/?p=801","url_meta":{"origin":649,"position":5},"title":"[scrap] MySQL Replication \uc124\uc815\uacfc \uba87 \uac00\uc9c0 \ud14c\uc2a4\ud2b8","date":"2015-05-18","format":false,"excerpt":"http:\/\/blog.hibrainapps.net\/130 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 MySQL\uc744 DB\ub85c \uc0ac\uc6a9\ud558\uba74\uc11c \uc11c\ubc84\uc758 \ubd80\ud558 \ubd84\uc0b0\uc744 \uc704\ud55c \ubc29\ubc95 \uc911 \ud558\ub098\ub85c Replication \uc744 \uc0ac\uc6a9\ud55c\ub2e4. Replication \uc740 Master \ud558\ub098\uc5d0 n\uac1c\uc758 Slave\ub85c \uc9c0\uc815\uc774 \uac00\ub2a5\ud558\ub2e4. Slave\ub294 \ub2e4\uc2dc Master \uc5ed\ud560\uc744 \ud560\uc218 \uc788\uc73c\uba70 \uc5ed\uc2dc \ub610 \ub2e4\ub978 n\uac1c\uc758 Slave\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4. \ubd80\ud558 \ubd84\uc0b0\uc758 \ud6a8\uacfc\ub294 inser,update \ub4f1 \ubcc0\uacbd\uacfc \uad00\ub828\ub41c \ubaa8\ub4e0 \uc791\uc5c5\uc740\u2026","rel":"","context":"In &quot;DB\uad00\ub828&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/649"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=649"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/649\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}