时间过的真快,转眼间2015年已到后半期,10月即将过完,自己大了一岁,成熟了一岁,当然也老了一岁。这一年感觉过的很快,很多事不容我思考,很多事顾不上思考,很多事又思考不清楚。只感觉转眼间,自己的变化,自己周围的变化,感慨:太瞬息万变了!好了,感慨话不多说,下边我生活,工作两个方面来总结一下。
生活,自己正在慢慢的成熟,正在慢慢长大,不再是以前那个天真烂漫,活泼捣蛋的小男孩了;不再是那个无拘无束,随心所欲的小青年了;更不是那个只知道学习与玩,只能靠花家里钱的学生样了。
上半年,我用了五个月的周末时间,学习了驾驶本,并能够独自上路了;上半年我的三伯,二姑相继去世,使我们这一辈成为了我们这个大家庭的顶梁柱;7月份,和我阔别已久的老师见面了,化干戈为玉帛,短短的几句话,使彼此更加舒服更加温暖;9月份,我脱单了,和我亲爱的对象,现在的老婆正式走进了我们县城的民政局,并带着喜悦的表情走了出来,我不再仅仅是一个管好自己就够的男孩儿了,我成为了别人的老公,我要担起做老公的角色(虽然还没办证,但是应该不久了吧);同样,9月份,咬咬牙,买了属于我们自己的房子,虽然有各种债,但是我俩都是笑容满面………
我,现在需要做好自己,做好母亲的好儿子,老婆的好老公,兄长的好兄弟,亲戚的好亲戚,朋友的好朋友,因为我长大了。但是我们明白,这一切的根本就是做好自己!而这一切,就需要我,在生活中多思考,多总结,多反思,多行动,多改变,多成长……
好了,写惯了技术博客,突然写写自己的想法,都自己感觉有些没变章法了!好了,下别写写最近在工作中的收获吧!不写的太大了,从解决问题的这个角度来思考总结一下吧。
-----------------------------------------------------------------------------------------------------
做为开发程序员,我们用我们掌握的编程技术,加上自己的智慧来实现着各种各样人的不同的想法,从而一款款软件便诞生了。但是在完成一件工程的路上,各种挫折,各种坑都需要我们一个个去扛过去,去战胜它。好,下边就简单小结一下我这段时间遇到的几个比较典型的问题吧。
一,项目中问题的大概分类:
1,前期需求明确的困难;2,将需求转化为很合理的设计的困难;3,项目架构配置适当与否的困难;4,具体编程逻辑、语法、新知识运用的困难;5 与各种系统交互同步上的困难;6,数据库方面的困难……
二,我遇到并解决的几个困难:
问题1:随着我们系统的用户的不断增加,经常会出现服务器内存溢出的问题,也就是我们经常说的内存泄露导致的内存溢出。 问题根源:由于用户表的用户数据过多,达到了70多万条,而用超级管理员登录时,会查询员工信息,由于超级管理员的缘故导致没有查询条件,从而70多万条数据一下加载到内存中,从而导致内存溢出; 问题解决:很简单,查询这种单表数据过多(超过几万,几十万,几百万……根据服务器的条件承受的压力不同)的情况,必须要有条件,避免查询全表的数据加载内存中; 追根溯源:当时设计这个超级管理员admin的时候,需要考虑到很多特殊的情况,因为它有任何菜单权限,数据权限,避免因为admin的特殊性,随着数据量的增大,造成各种性能问题。
问题2:在一个动态生成各种表单数据量过大的页面上,随着需求的不断的增加,不同程序员的填写自己的代码,导致页面的加载速度特别慢,有时达到了10秒左右反应速度; 问题根源:还是数据量不断增大造成的结果,由于需要根据条件到很多张表中(20多张)查询各种数据,而有的表中数据达到了几十万,几百万,导致从几百万中根据条件查询很慢; 问题解决:也很简单,表中加索引,尤其是在查询字段上(其实以前加着索引呢,不知道怎么没了),速度立马就上来了,快了10倍左右; 追根溯源:表设计时,主键,外键,表关联查询,索引使用,视图,触发器,存储过程使用,都需要考虑全面。
问题3:异步系统的数据同步我们通过kettle进行抽取,但是突然服务器的定时同步任务失效了,但是所有的kettle,拿到本地执行都没问题,导致很多数据同步不成功,影响系统正常使用; 问题根源:经过各种检查,发现在服务器上有一个分支服务器连接不同,导致其它kettle分支也无法正常执行,但是在本地电脑是可以的,推断:我们服务器和异同系统服务器连接有问题,通过服务器之间的相互ping,来证明的确存在此问题; 问题解决:告诉网络部,查询彼此服务器之间的连接,发现客户服务器防火墙屏蔽了我们的服务器,客户网络部门进行设置即OK; 追根溯源:这种问题发现是网络部门的问题,但是我们kettle之间的耦合性太高了,设计不是太合理。
问题4:随着系统的进一步推广,大批用户进入进行使用,使系统运行慢,有些用户登录不进去,有些用户还报500 Internal Server Error错误。由于前段时间项目数据库锁表宕过,再加上SVN刚刚更换了新的地址,再加上使登录不进行的为多数用户,导致检查方向到了cas到主系统的之间的交互问题,这三个方面导致追求原因方向性错误; 问题根源:通过百度,很容易发现,出现这个问题时因为nginx的配置出现了问题(打开文件句柄),随着用户的突然猛增,nginx的默认配置不能够承受,加大配置即可,大家可以看下这个网址:http://www.poluoluo.com/server/201304/204448.html
问题解决:打开nginx文件配置,进行参数放大即可。这需要我们根据网络,和我们实践来选择一个最合理的参数。 追根溯源:用户量的猛增,导致以前的一些配置跟不上节奏了,高并发前期考虑的不足……
三,解决问题小结:
找问题所在是关键,只要我们有了对的方向,正确的目标,那么实现解决就容易多了,就怕我们瞎子点灯白费蜡。找问题:1,遇到问题不要慌,不要怕,心想有问题就对,自己又可以提高了,更重要的是体现自己价值的时机到了;2,通过清新的大脑分析问题,通过排除法进行推断问题来源;3,通过查找日志,查找报错信息,分析问题现象去找问题;4,通过百度,谷歌来善于善于站在巨人的肩膀上;5,善于和周围的同事进行讨论,很多问题往往以讨论就没了。
问题分类:1,一般具体的问题都是容易解决的,因为我们有百度谷歌上的网络老师,相信你遇到的问题上边都会有设计到;2,数据量大的问题,这个需要我们前期设计时就要考虑这些问题,需要我不断学习,不断积累经验的地方;3,高并发的问题,这个也是我要去学习积累的地方。
好了,零零总总,写了些东西,主要是针对工作中问题的总结吧,顺便捎带了生活的点点滴滴,不过还是努力把,以后常思考,常总结吧。
怎么突然感觉,思路不够清晰呢????