5个月前【2012、7、17】换了份工作,当时对自己的未来很迷茫,不知道该如何来发展。日子就这样一天一天过了。直到4个月前公司安排我去开发一款微博和淘宝结合的应用,让我燃烧了尘封许久了兴趣,于是疯狂的学习微博和淘宝开发,过了1个月后【2012、8、25】项目差不多可以上线了,自己的学习也小有成就。
项目上线后,每天基本是维护了,觉得有点无聊。由于自己开发的是微博应用,于是就开始玩起微博来了。首先玩微博第一是要让自己的粉丝增加,于是我每天去微群里面喊:“互粉啦,有粉必回 ” 之类的,通过几天的积累,粉丝到了7、8百个,后来静下心来想一想,这样加粉丝实在是太累了,于是我结合了自己这近所学的微博知识,开始开发我的第一个微博小应用【妞妞助手】。
简单的介绍下妞妞助手,主要是用来增加粉丝的工具,这里的增加粉丝是双向的增加粉丝,也就是说是我关注你,同时你也会关注我。
经过地狱式的10多天开发,妞妞助手在2012、9、10正式上线了,看到当时每天新增的用户几十个,心里很兴奋,终于有人使用妞妞助手了。 说说当时的服务器配置吧,采用的服务器是在jspcn购买的一个tomcat空间【配置是256的内存,mysql数据库最大连接为20个】,面对日用户量几十个,完全足够了。
妞妞助手经过一周【2012、9、18】的发展,日用户量突增到了100多个,同时使用【参与互粉】功能的人增加。这时候遇到了一个问题,每到一定时间就会出现数据库连接超过最大限制。于是我咨询了jspcn的客服,问问能不能加到连接,对方的回答是可以的,要升级空间,需要交钱,看到要交钱我肯定是不愿意的,因为空间本来就小,速度也不是很快,于是我就拒绝了。
我在网上找寻各种价格便宜的主机,后来听同学说,阿里云主机不错,价格不高,服务态度也好【我不是在这里打广告】。于是我就先去申请试用7天。起初配置linux环境花费了好久,结果还是没有出来,后来在线阿里云技术,人家深夜打电话过来教我【在这里不胜感激】,总算是将apache+tomcat+mysql的环境搭建好了。第二天将妞妞助手迁移到了新的主机上了,妞妞助手又可以正常被人使用,也没有出现数据库达到最大连接数【是因为我主机上安装了mysql最大连接数是100个,当时所用的连接数也就40到50个左右,其实这个只是临时解决了问题】。
又过了10天【2012、9、28】,这次出现了重大问题,日用户增到1000左右,新浪接口每小时访问老是出现上限,于是查询了新浪的api,是对服务器IP进行限制的,每小时的请求是有限制的。于是我多购买了一台云主机来集群,当时公司采用的是nginx来集群的,于是我也采用nginx来集群。集群后,这个问题果然解决了,又可以悠闲的来开发了。
过了3天【2012、10、2】也就是国庆期间,用户量再次暴增,这时候又回到了老问题。数据连接超限和服务器cpu%99【这里服务器的配置是单核、512内存、40G硬盘】,我在网上找了一堆mysql的相关资料。首先设置了最大连接数为200个,结果还是不能解决问题。
问题持续了快1周,用户也很有耐心的使用它,我肯定得想办法解决。于是在网上接着找资料,看到了一篇有关高并发的文章,说加入Cache来减小数据库压力,于是我就从这方面入手。我在Ehcache和Memcached之间抉择了很久,因为它们各有优点,考虑到了后期Cache集群,于是我采用了Memcached。
再次过了3天【2012、10、10】优化好第一个板块了,发布后,发现数据库压力小了很多,由原来的高峰期%99到高峰期%99-%50之间徘徊。效果很好,于是我慢慢将系统高并发的地方加入Cache,到了【2012、11、20】总算将Cache处理完毕,发布后,系统mysql占cpu很少出现在%30以上了。我终于知道了Cache对于高并发项目的重要性了,不但可以解决mysql瓶颈问题,还能提高访问速度,还有一系列的好处,在这里感谢Cache了。
附上使用地址:http://www.niuniufun.com/weibo-tools/p/inviteFriendInfo.shtml?u=2137479257
妞妞助手,未完待续~