linux系统优化 笔记

  今天终于辞职了。明天到新东家报道。名义是技术总监,实际我一个光杆司令。呵呵,不过过几天会找几个人。

  原公司做技术的都走光了。原系统设计很垃圾。据说还是花2w 买的。我看了里边的部分代码,简直乱的不行。总之一个字乱。再加上后来接手的一个刚毕业2年的工程师做的。是乱上加乱。

  交接到我手里。系统已经上量;每天量在几万请求,orcl 数据库cpu 直线上升。高峰时40-80%;系统每间隔一段时间就要重启。系统是昨天交接到我手。昨晚搞了一晚上,在研究怎么让原来的程序开机自启动。他们原先是手动启动数据库,手动启动tomcat,手动启动20多个程序;更可恶的时;如果要重启动程序,必须手动一个个kill 20多个程序;累不累啊? 
  昨晚,我把oracle 自启动的问题解决了;mysql,tomcat自启动不知道啥原因,无效,暂时不管它。
 
  经过我一番苦思,依然决定;重新构建新系统;数据库采用mysql.也是为了将来长远发展。废掉原来说有的程序 oracle数据库;数据库慢慢转移到mysql.当然过渡期在2个月

很简单,oracle 太庞大,太正规,不确定因素太多。
这里的不确定 1) 需要正规的dba 俺暂时请不起。目前我看到程序代码内,之前作者根本没有绑定变量的思想。没有连接池,导致共享池很快爆满,造成oracle cpu 很高
2)版权争端 目前是盗版的,公司发展大了;这是定时zd (抱歉这俩个字被和谐了)。

而mysql 很好解决这些问题;小巧而精致 ,存储过程,触发器,视图都支持。甚至支持内存表。只要设计精巧;可以很好的发挥作用。将来也可以容易扩展成集群cluster.


 在俺辞职回家的路上;俺的手机就开始报警。提醒服务器已经当机了。没办法,只能打电话给机房重启。10分钟后又连不上,又打。打得机房人不断的抱怨。俺决心好好研究下怎样解决。如果不解决,晚上又睡不好了。唉这都是给别人擦屁股。不过也应该感谢那位。

那位看官说了,你感谢啥? 呵呵。如果不是前边那位垃圾,怎么会有俺表现的机会,以及这份新工作?所以,什么事情有利必有弊。你获得比别人高的薪水,职位就要付出更多的辛苦。

这叫量能守恒,也叫定量。 什么不明白?那就去自己google去吧。

  好了。看到各位看俺博客基础上。给各位个奖赏。出道简单的题给各位考考。这是我的用人原则。这题我问了我前边那位跟我对接离职的老兄。他回答错了。
  
  题目如下:如果你手头有很多的事情要处理,有一件很重要的,但棘手的但必须做的;手边还有些急需处理的小事情,但非常容易解决的。你会先做哪件?

 想好了在心中默答。
 。。。。。

 

  


  我要公布答案了。

  我问那位老兄。他老实的跟我说。先做最重要的,后做那些小事情。
  
 我说,错了。

  我说要是我;我会先处理那些小事;因为它们简单不会花太多时间。迅速把小事情处理完后积累出来大块时间,单独留给那件重要而又费时的事情。如果不这样,小事情会越积累越多;会不到缠住你脱不开身,你就无心去做那件大而重要的事情。而我喜欢在做大的事情前,免除后顾之忧。就好比,我学认真的学;玩认真的玩。不能因为事情没做完有后顾之忧而玩,如果这样,我宁愿不玩,先处理事情,处理完后在放松的玩。


 这是我的处事原则。你答对了吗?


 嗯,好像走话题了。回来吧。

 再打电话给机房启动系统后,我没急于批量启动所有的程序(走的那位同事已经把它做到一体化)。而是跟踪测试 step by step
  每启动一个程序 
ps -ef|grep oracle |wc -l
查看下 oracle 进程数;看下有无异常;直到找到启动一个程序包,发现出现了 错误绑定变量类型错误,发现oracle 连接数不断攀升 ,立即kill 这个程序包。然后步步为营把所有的程序重新启动一边,没数据的就停掉;以避免增加orcle 的负担。

  到此 ps -ef|grep oracle |wc -l 看到服务器稳定连接在70个左右;而原先达到130 不死掉才奇怪。目前暂时稳定。但并没切底解决问题,我知道。但我给自己赢得了较为宽松的时间;至少客户不会抱怨。这个时间就是我自由支配2个周-1个月将所有的程序重新改写。包括数据库更换;说白了 重新架构,优化。


  总之,我相信短时间不会再重启服务器了;今晚可以放心睡个安稳觉了。至于那个坏掉的程序我停掉了;只能明天解决;手头没有源码。不能因为它导致整个服务器瘫痪。

  连续几天的忙活;搞得俺精疲力竭;该好好歇歇了。^&^:)

今天第一步发现了程序的大bug. 已经解决60%了。

下一章 SMG乾坤大挪移 

欲知后事如何,且听下回分解

$id by walksing 20100721 22:56

 







你可能感兴趣的:(oracle,tomcat,mysql,linux,Google)