未加星标

A Conversation with Mike Perham

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

One of the most gratifying aspects of working in the Open Source world is the ability to get to know the people who build the tools you rely on. I’ve been in the Open Source world since ‘99 and I’ve been to a lot of conferences. Not to humble brag but here are some of the people who’ve I’ve gotten to know:

Greg Stein / Apache Monte / mysql George and Theo Schlossnagle /php Matt Mullenweg / WordPress and so much more

This isn’t a humble brag because probably only one of these people might recognize me on the street maybe. I’m a user of their stuff and I promote it as much as I can. I’ve been using Apache and promoting it, honestly, because it is what I know. But also because I know Greg and once upon a time he was chair of the Apache foundation. And also because Apache has been good to me; it just works. And I use MySQL / MariaDB not only because its fast and stable but also because I’ve seen my wife go shot for shot with Monty (picture a tiny red head drinking shots with a Finn; priceless). I bailed out of the PHP world years and years ago but I still love the work that the Schlossnagle brothers do; I learned more solid computer science from George’s book than I ever learned in college and I still read it from time to time when there’s a problem I know he would have a perspective on. And I’m a fan ofMatt even though I moved to the dark side and use Jekyll.

Today I got the chance to know Mike Perham , the author of Sidekiq , just a little bit. I sat in on his weekly Happy Hour . This is where he offers a video chat about Sidekiq and answers questions / gives suggestions. Mike Perham is someone who’s intellectual work product is very familiar to me. And I’ve long lauded his work as “the best guy in Ruby threading in known space”. When people ask me about Ruby threading, I tend to just point them toward’s Mike’s blog .

Now, despite my positive opinions about Mike, I’ve actually used Sidekiq only sporadically. I had a bad experience with asynchronous job processors years ago and ever since I’ve been gun shy. I’ve always taken the perspective that when you’re doing big back end systems, your data processing is core to your application and you should own the IP. So I wrote my own threaded code, years ago, and I’ve been using it ever since. But when my code gave up the ghost with an MTBF of 30 minutes, Sidekiq leapt to my rescue and has given me a 38x improvement. Machine’s still crash but I can now go to bed and sleep thru the night. Given my recent trials and travails with SSH problems and machines crashing due to out of memory issues, I thought that talking to the literal source might at least give insight. And it did .

Here’s what I learned:

Mike is a very professional, very nice guy Shared tenancy on AWS really is an issue; nearest neighbors can actually hurt your performance pretty dramatically Redis really wants high performance box; not necessarily a ton of cores Memory leaks are always an issue; sometimes its your code; sometimes its a gem that you use or an update to a gem that you use (so it can be fixed and then a gem update causes it to happen again) THE ANSWER TO MY PROBLEM : The best approach is belt and suspenders. Memory leaks are as much a state of being in a dynamic, garbage collected language. Even if it gets fixed, a gem update could break everything once again. The best approach is to use process monitoring and simply kill the process and restart it if the memory use is too great. Either use Monit or Inspeqtor . Mike has a great video on this page and I’d recommend watching it; having setup monit in the past, Inspeqtor looks awesome. Tracking down memory leaks in Ruby is hard and just may not be worth it. Process monitoring would also fix my ruby segfault issues I need to look into the commercial offerings for Sidekiq and Inspeqtor. We’re already a commercial support customer for Sphinx; we might be able to be a commercial customer for Sidekiq.

Thank you very, very much Mike.

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

主题: RubySQLMySQLPHPSphinxRedisWordMTBF
分页:12
转载请注明
本文标题:A Conversation with Mike Perham
本站链接:http://www.codesec.net/view/481295.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(38)