{"id":100,"date":"2004-02-20T01:55:35","date_gmt":"2004-02-20T01:55:35","guid":{"rendered":"http:\/\/grind.rpol.net\/?p=100"},"modified":"2010-03-15T23:35:25","modified_gmt":"2010-03-15T23:35:25","slug":"i-give-up","status":"publish","type":"post","link":"https:\/\/grind.rpol.net\/?p=100","title":{"rendered":"I give up!"},"content":{"rendered":"<p>RPoL&#8217;s been extremely hard on the server it shares, utilising quite a bit of the CPU (and I&#8217;d guess other resources).<\/p>\n<p>I&#8217;ve been thinking that I should probably move off Berkeley DB, so I decided to port the user database to a mySQL one. \u00a0I then ran some benchmark tests to see how much better one was from the other;<\/p>\n<pre>Benchmark: timing 1 iterations of 1 mySQL, 2 Berkeley...\r\n\r\n   1 mySQL:  5 wallclock secs ( 2.10 usr +  0.30 sys =  2.40 CPU) @  0.42\/s\r\n\r\n\r\n2 Berkeley:  1 wallclock secs ( 0.67 usr +  0.23 sys =  0.90 CPU) @  1.11\/s<\/pre>\n<p>Both benchmarks read in 10,000 random user DB entries one by one, with Berkeley DB showing it&#8217;s some 5 times faster&#8230;<\/p>\n<p>So now my current thought is along the lines of the fact that each game has it&#8217;s own lil Berkeley DB for the public threads in it, and another for the private threads&#8230; and then one per user in the game for their private threads. \u00a0Each of these lil DB&#8217;s is its own file, so maybe it&#8217;s all the file opening and closing&#8230; perhaps mySQL would come into it&#8217;s own when it&#8217;s just one open DB with the above mentioned thread stuff in a table each.<\/p>\n<p>Why can&#8217;t some DB expert see my plight and decide I&#8217;m in need of rescuing?!<\/p>\n<p>I shall now commence the beating of my head against a wall.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>RPoL&#8217;s been extremely hard on the server it shares, utilising quite a bit of the CPU (and I&#8217;d guess other resources). I&#8217;ve been thinking that I should probably move off Berkeley DB, so I decided to port the user database to a mySQL one. \u00a0I then ran some benchmark tests to see how much better [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-default-ramblings","tag-rpol"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=100"}],"version-history":[{"count":2,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":102,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions\/102"}],"wp:attachment":[{"href":"https:\/\/grind.rpol.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grind.rpol.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}