Awesome! To test, I run this a least once a day:
SELECT MAX(block_num) AS lastblock FROM sbds_core_blocks
And check against the head_block_number
here: https://api.steemjs.com/getDynamicGlobalProperties
I have fallen a bit behind a few times and as far as I can tell it's the public node we're connecting to that's the issue. Even so, stopping and restarting steem_sbds
should get you back on track eventually if you see you're falling behind.
Yes, I've been checking the max block_num against the head_block_number throughout the day, and for the past 24 hours it seems to be keeping up well with about a 20 block lag which seems reasonable.
As a test I reverted back to the high memory settings (line 38 of your high memory script) to see if steem_mysql would keep stopping like it was doing before, and so far it has been working well for the past hour, and I plan to continue testing it out tomorrow to see if I need to do any restarts. I'm thinking that the high memory settings may only run into issues when it is way way behind on the block_num because maybe the high memory mysql settings cause the system to try and catch up too fast. It will be interesting to see if steem_mysql has any stops tomorrow.
I've pretty consistently stayed within 20 blocks as well, which is one minute and more than reasonable.
You're exactly right, the settings you changed are exactly what to tweak. I've been working on a new 'tutorial' post the past couple of days after gleaning a bunch of insights from our discussion.
I'm gonna put something together that goes through each piece of my scripts in more detail, including these mysql settings.
The high memory settings stopped working around noon today so it made it through the last night and and this morning and then failed. I started things up again tonight and noticed the server load go up to 18 in about 10 or 15 minutes with kswapd0 being the top process which I think is related to virtual memory.
I briefly looked for a way to change the mysql settings in docker without having to do the thing where I do a docker stop, rm, run, but I couldn't find a way.
At some point tomorrow I plan to go back to the low memory settings to see if they continue to work as well as they did yesterday.
This is good to hear. I only ran the high memory instance for a couple of days. I thought I had proved it enough, but obviously there's more to learn there.
As far as changing mysql settings in docker, I can see the settings with
docker inspect
but cannot find a way to set them.