{"id":707,"date":"2015-04-15T07:50:26","date_gmt":"2015-04-15T16:50:26","guid":{"rendered":"http:\/\/blog.box.kr\/?p=707"},"modified":"2015-04-15T07:50:26","modified_gmt":"2015-04-15T16:50:26","slug":"tips-spring-hibernate-%ec%bb%a4%eb%84%a5%ec%85%98-%ed%92%80-%ec%9c%a0%ec%a7%80%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=707","title":{"rendered":"[Tips- Spring, hibernate] \ucee4\ub125\uc158 \ud480 \uc720\uc9c0\ud558\uae30"},"content":{"rendered":"<p><a href=\"http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html\">http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c mysql\uc740 8\uc2dc\uac04 \uc774\ud6c4\uc5d0 \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \ucee4\ub125\uc158\uc740 \uc885\ub8cc\uc2dc\ud0b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \ucee4\ub125\uc158 \ud480\uc774 \ube44\uc815\uc0c1 \uc0c1\ud0dc\uac00 \ub420 \ud655\ub960\uc774 \uc788\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc124\uc815\uc774 \ud544\uc694\ud558\uac8c \ub429\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \ub370\uc774\ud130 \uc18c\uc2a4\ub294 dbcp, c3p0 \ub450\uac1c \uc911\uc5d0 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\uc2dc\uba74 \ub418\uace0, hibernateProperties\uc5d0 c3p0 \uc18d\uc131\uc744 \ucd94\uac00\ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4.<br \/>\n\ud55c\ubc88 \uc801\uc6a9\ud574\ubcf4\uc138\uc694. \uac00\ub054 TOMCAT\uacfc MySQL \uac04\uc758 CLOSE_WAIT\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc608\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>#The number of seconds the server waits for activity on a connection before closing it.<br \/>\nwait_timeout=28800<br \/>\n#The number of seconds the server waits for activity on an interactive connection before closing it.<br \/>\ninteractive_timeout=28800<\/p>\n<pre>&lt;bean id=\"dataSource\"\n        class=\"org.apache.commons.dbcp.BasicDataSource\"\n        destroy-method=\"close\"&gt;\n\t&lt;property name=\"driverClassName\"\n\t      value=\"${jdbc.driverClassName}\" \/&gt;\n\t&lt;property name=\"url\" value=\"${jdbc.url}\" \/&gt;\n\t&lt;property name=\"username\" value=\"${jdbc.username}\" \/&gt;\n\t&lt;property name=\"password\" value=\"${jdbc.password}\" \/&gt;\n\t&lt;property name=\"maxActive\" value=\"30\"\/&gt;\n\t&lt;property name=\"maxIdle\" value=\"10\"\/&gt;\n\t&lt;property name=\"maxWait\" value=\"20000\"\/&gt;\n\t&lt;property name=\"logAbandoned\" value=\"true\"\/&gt;\n\t&lt;property name=\"removeAbandoned\" value=\"true\"\/&gt;\n\t&lt;property name=\"removeAbandonedTimeout\" value=\"60\"\/&gt;\n\t&lt;property name=\"validationQuery\" value=\"${jdbc.validationQuery}\" \/&gt;\n\t&lt;property name=\"testOnBorrow\" value=\"true\" \/&gt;\n\t&lt;property name=\"testOnReturn\" value=\"true\" \/&gt;\n&lt;\/bean&gt;\n\ud639\uc740\n\n&lt;bean id=\"dataSource\" class=\"com.mchange.v2.c3p0.ComboPooledDataSource\"\n      destroy-method=\"close\"&gt;\n\t&lt;property name=\"driverClass\" value=\"${jdbc.driverClassName}\"\/&gt;\n\t&lt;property name=\"jdbcUrl\" value=\"${jdbc.url}\"\/&gt;\n\t&lt;property name=\"user\" value=\"${jdbc.username}\"\/&gt;\n\t&lt;property name=\"password\" value=\"${jdbc.password}\"\/&gt;\n\t&lt;property name=\"acquireRetryAttempts\" value=\"10\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"preferredTestQuery\" value=\"SELECT 1;\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"testConnectionOnCheckin\" value=\"true\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"testConnectionOnCheckout\" value=\"false\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"maxIdleTime\" value=\"300\"&gt;&lt;\/property&gt;\n\t&lt;property name=\"idleConnectionTestPeriod\" value=\"30\"&gt;&lt;\/property&gt;\n&lt;\/bean&gt;\n&lt;bean id=\"hibernateProperties\"\n        class=\"org.springframework.beans.factory.config.PropertiesFactoryBean\"&gt;\n\t&lt;property name=\"properties\"&gt;\n\t\t&lt;props&gt;\n\t\t    &lt;prop key=\"hibernate.dialect\"&gt;${hibernate.dialect}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.show_sql\"&gt;${hibernate.show_sql}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.hbm2ddl.auto\"&gt;\n\t \t\t\t${hibernate.hbm2ddl.auto}&lt;\/prop&gt;\n\t\t    &lt;prop key=\"jdbc.fetch_size\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;prop key=\"jdbc.batch_size\"&gt;25&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.cache.use_query_cache\"&gt;true&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.cache.provider_class\"&gt;\n\t\t    \torg.hibernate.cache.EhCacheProvider&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.query.substitutions\"&gt;\n                         true 1,false 0&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.initialPoolSize\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.minPoolSize\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxPoolSize\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.acquireIncrement\"&gt;2&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.timeout\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.max_statement\"&gt;50&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.testConnectionOnCheckin\"&gt;\n                         true&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.testConnectionOnCheckout\"&gt;\n                         false&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxStatementsPerConnection\"&gt;\n                         5&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxIdleTime\"&gt;300&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.maxConnectionAge\"&gt;14400&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.acquireRetryAttempts\"&gt;10&lt;\/prop&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.preferredTestQuery\"&gt;\n                         SELECT 1;&lt;\/prop&gt;\n\t\t    &lt;!-- dataSource\uac00 c3p0 \uc77c\uacbd\uc6b0 \uc0dd\ub7b5 --&gt;\n\t\t    &lt;prop key=\"hibernate.c3p0.idleConnectionTestPeriod\"&gt;\n                         300&lt;\/prop&gt;\n\t\t&lt;\/props&gt;\n\t&lt;\/property&gt;\n&lt;\/bean&gt;<\/pre>\n<p>PS : \uc704\uc758 \uc124\uc815\uc758 dataSource\ubd80\ubd84\uc5d0\uc11c com.mchange.v2.c3p0.ComboPooledDataSource \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud65c\uc6a9\ud560 \uacbd\uc6b0\uc5d0\ub294 <a href=\"http:\/\/www.mchange.com\/projects\/c3p0\/index.html\">c3p0 &#8211; JDBC3 Connection and Statement Pooling<\/a>\uc744 \ub2e4\uc6b4\ubc1b\uc544\uc11c WEB-INF\/lib\uc5d0 \uce74\ud53c\ud574\uc57c\ud568.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/www.mimul.com\/pebble\/default\/2008\/06\/24\/1214258760000.html &nbsp; \uae30\ubcf8\uc801\uc73c\ub85c mysql\uc740 8\uc2dc\uac04 \uc774\ud6c4\uc5d0 \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294 \ucee4\ub125\uc158\uc740 \uc885\ub8cc\uc2dc\ud0b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \ucee4\ub125\uc158 \ud480\uc774 \ube44\uc815\uc0c1 \uc0c1\ud0dc\uac00 \ub420 \ud655\ub960\uc774 \uc788\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc124\uc815\uc774 \ud544\uc694\ud558\uac8c \ub429\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \ub370\uc774\ud130 \uc18c\uc2a4\ub294 dbcp, c3p0 \ub450\uac1c \uc911\uc5d0 \ud558\ub098\ub97c \uc0ac\uc6a9\ud558\uc2dc\uba74 \ub418\uace0, hibernateProperties\uc5d0 c3p0 \uc18d\uc131\uc744 \ucd94\uac00\ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4. \ud55c\ubc88 \uc801\uc6a9\ud574\ubcf4\uc138\uc694. \uac00\ub054 TOMCAT\uacfc MySQL \uac04\uc758 CLOSE_WAIT\uac00 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\ub3c4 \uc608\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. #The number of seconds the server waits for activity on a connection before closing it. wait_timeout=28800 #The number of seconds the server waits for activity on an interactive connection before closing it. interactive_timeout=28800 &lt;bean id=&#8221;dataSource&#8221; class=&#8221;org.apache.commons.dbcp.BasicDataSource&#8221; destroy-method=&#8221;close&#8221;&gt; &lt;property name=&#8221;driverClassName&#8221; value=&#8221;${jdbc.driverClassName}&#8221; \/&gt; &lt;property name=&#8221;url&#8221; value=&#8221;${jdbc.url}&#8221; \/&gt; &lt;property name=&#8221;username&#8221; value=&#8221;${jdbc.username}&#8221; \/&gt; &lt;property name=&#8221;password&#8221; value=&#8221;${jdbc.password}&#8221; \/&gt; &lt;property name=&#8221;maxActive&#8221; value=&#8221;30&#8243;\/&gt; &lt;property name=&#8221;maxIdle&#8221; value=&#8221;10&#8243;\/&gt; &lt;property name=&#8221;maxWait&#8221; value=&#8221;20000&#8243;\/&gt; &lt;property name=&#8221;logAbandoned&#8221; value=&#8221;true&#8221;\/&gt; &lt;property name=&#8221;removeAbandoned&#8221; value=&#8221;true&#8221;\/&gt; &lt;property name=&#8221;removeAbandonedTimeout&#8221; value=&#8221;60&#8243;\/&gt; &lt;property name=&#8221;validationQuery&#8221; value=&#8221;${jdbc.validationQuery}&#8221; \/&gt; &lt;property name=&#8221;testOnBorrow&#8221; value=&#8221;true&#8221; \/&gt; &lt;property name=&#8221;testOnReturn&#8221; value=&#8221;true&#8221; \/&gt; &lt;\/bean&gt; \ud639\uc740 &lt;bean id=&#8221;dataSource&#8221; class=&#8221;com.mchange.v2.c3p0.ComboPooledDataSource&#8221; destroy-method=&#8221;close&#8221;&gt; &lt;property name=&#8221;driverClass&#8221; value=&#8221;${jdbc.driverClassName}&#8221;\/&gt; &lt;property name=&#8221;jdbcUrl&#8221; value=&#8221;${jdbc.url}&#8221;\/&gt; &lt;property name=&#8221;user&#8221; value=&#8221;${jdbc.username}&#8221;\/&gt; &lt;property name=&#8221;password&#8221; value=&#8221;${jdbc.password}&#8221;\/&gt; &lt;property name=&#8221;acquireRetryAttempts&#8221; value=&#8221;10&#8243;&gt;&lt;\/property&gt; &lt;property name=&#8221;preferredTestQuery&#8221; value=&#8221;SELECT 1;&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;testConnectionOnCheckin&#8221; value=&#8221;true&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;testConnectionOnCheckout&#8221; value=&#8221;false&#8221;&gt;&lt;\/property&gt; &lt;property name=&#8221;maxIdleTime&#8221; value=&#8221;300&#8243;&gt;&lt;\/property&gt; &lt;property name=&#8221;idleConnectionTestPeriod&#8221; value=&#8221;30&#8243;&gt;&lt;\/property&gt; &lt;\/bean&gt; &lt;bean id=&#8221;hibernateProperties&#8221; class=&#8221;org.springframework.beans.factory.config.PropertiesFactoryBean&#8221;&gt; &lt;property name=&#8221;properties&#8221;&gt; &lt;props&gt; &lt;prop key=&#8221;hibernate.dialect&#8221;&gt;${hibernate.dialect}&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.show_sql&#8221;&gt;${hibernate.show_sql}&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.hbm2ddl.auto&#8221;&gt; ${hibernate.hbm2ddl.auto}&lt;\/prop&gt; &lt;prop key=&#8221;jdbc.fetch_size&#8221;&gt;50&lt;\/prop&gt; &lt;prop key=&#8221;jdbc.batch_size&#8221;&gt;25&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.cache.use_query_cache&#8221;&gt;true&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.cache.provider_class&#8221;&gt; org.hibernate.cache.EhCacheProvider&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.query.substitutions&#8221;&gt; true 1,false 0&lt;\/prop&gt; &lt;prop key=&#8221;hibernate.c3p0.initialPoolSize&#8221;&gt;10&lt;\/prop&gt; [&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,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-bp","jetpack-related-posts":[{"id":653,"url":"https:\/\/blog.box.kr\/?p=653","url_meta":{"origin":707,"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":592,"url":"https:\/\/blog.box.kr\/?p=592","url_meta":{"origin":707,"position":1},"title":"[\ud38c]Spring ChainedTransactionManager \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud574\uc57c \ud558\ub098?","date":"2015-01-30","format":false,"excerpt":"\ub2e4\uc911\ud2b8\ub79c\uc7ad\uc158\uc5d0 \ub300\ud55c \uc88b\uc744 \uae00.. \u00a0 \u00a0 http:\/\/kwon37xi.egloos.com\/4886947 \u00a0 Spring ChainedTransactionManager \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud574\uc57c \ud558\ub098? \ud504\ub85c\uadf8\ub798\ubc0d by \uad8c\ub0a8 2014\/07\/12 18:13 kwon37xi.egloos.com\/4886947 \ub367\uae00\uc218 : 0 Spring Data Commons 1.6\uc5d0\ub294 ChainedTransactionManager\ub77c\ub294 \uac83\uc774 \ucd94\uac00 \ub3fc \uc788\ub2e4 \ud558\ub098\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc5ec\ub7ec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc811\uadfc\ud560 \ub54c @Transactional \uc560\ub178\ud14c\uc774\uc158\uc744 \ud1b5\ud574 \ud2b8\ub79c\uc7ad\uc158\uc744 \uc7a1\uc544\uc904 \ub54c \uc5ec\ub7ec \ub370\uc774\ud130\uc18c\uc2a4(DataSource)\uc758 \ud2b8\ub79c\uc7ad\uc158 \ub9e4\ub2c8\uc800(Transaction Manager)\ub97c \ub530\ub85c\ub530\ub85c \uc9c0\uc815\ud574\uc11c\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":720,"url":"https:\/\/blog.box.kr\/?p=720","url_meta":{"origin":707,"position":2},"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":707,"position":3},"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":707,"position":4},"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":[]},{"id":649,"url":"https:\/\/blog.box.kr\/?p=649","url_meta":{"origin":707,"position":5},"title":"[\ud38c]Tomcat7 tomcat-jdbc \uc124\uc815 &#8211; Broken pipe \uc5d0\ub7ec \ud68c\ud53c","date":"2015-04-05","format":false,"excerpt":"tomcat-jdbc\ub85c MySQL\uc5d0 \uc5f0\uacb0\ud55c \uacbd\uc6b0 \"java.net.SocketException: Broken pipe\" \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 - \uc77c\uc815 \uae30\uac04\ub3d9\uc548 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc73c\uba74 connection\uc744\u2026","rel":"","context":"In &quot;\uae30\uc220\uc790\ub8cc&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/707"}],"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=707"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/707\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}