近期杂记之VOD

  终于打开space写VOD的事了(想写“提起笔来”,后来一想不对,我是在打字)。从1月初接任务,2月初开始写,2月下旬部署出BUG,一连两周查BUG,改配置,也承受着上面的和网络上的一些压力。现在终于基本完工了(剩下部分今天晚上搞下,内测两天就差不多了)。
  一开始总是很顺利的,写代码,写页面,配置框架和数据库大概就两周完成了。25号准备正式部署。没想到这个不成熟的决定导致了以后种种问题的出现–没有压力测试、内部测试的情况下直接上,往往问题很麻烦。
  起了个大早,6点38,出宿舍到工作室正好7点,带了包饼干先填肚子。以为9点就可以好,然后再去外面买东西吃。
  SSH上去,开始找Web Server。操作系统是Linux,但是什么发行版本的就不知道了,所以用得也比较郁闷(后来知道是slackware)。比较好的是应用程序一般都在/home下,比较好找。
  发现Web Server不是Tomcat,是Resin后开始觉得有点难办。只用过一次,上次根据Net写的文章用velocity的时候配过一次。打了一个WAR,放到目录下发现没有反应,于是放弃,改用Tomcat。
  Tomcat装上去后发现跑不起来,打开日志看,居然说JDK1.4不支持,要我用5.0。。。FT。。。装JDK可没有装TOMCAT那么简单了,还要改那些路径,然后重启下。
  接下来是数据库的转换。VOD的数据库本来是在elearning上的,还要开放一下权限。然后把elearning的字符集从gb2312转成utf-8。虽然以前搞过两次了,但是从来没有在SSH的情况下搞过。这些全部搞好,已经是11点钟了。本来我发贴公告说7点半到9点半的。。。。
  晚上再到工作室的时候,VOD却不行了,服务停止了。看日志看不出什么名堂的,重启tomcat告诉我端口已占用。于是我怀疑是不是有人关了tomcat,重新开了resin。实在找不到什么东西占用着80端口,netstat告诉我是个Java程序,只好重启机器了。
  第二天发现有人更新了VOD,但却是按照以前的方式更新的。这当然不行了。。。以前的系统用的是GB2312,现在是UTF-8,网页上顿时都是乱码。。。马上进数据库手动改了。。。到了晚上,VOD又变得不可用了,网上也开始有了一些声音。不管了,明天再看看吧。
  周一(2.27),EVER回来了。他问我是怎么回事,我也不知道。。晚上怀疑是负荷的问题,于是用一些命令看系统信息。不看不要紧,一看吓一跳。。。CPU显示有6个!!硬盘也有500G,但是内存只有256M。马上报告ever。居然还在网络中心,他告诉我是硬件故障。上次搬机器的时候松了。重新登录上去,发现这是台有4个双核P41.4GCPU、4G内存的巨牛服务器。。。。估计在南大的机器中也排得上号了。。。于是很心安理得的以为没事了。。
  但是周二、周三同样的情况还是发生了。。。我不得不转向搜索。。。看来网上报告Tomcat并发的问题还是不少的,然后按照上面说的,改了JAVA_OPTS和Tomcat并发的配置。这次应该好了吧?
  接下去问题还是没有解决,拖啊拖的,拖了快两个星期,我终于从程序上找到了突破口。。。原来我的Hibernate初始化得不对,每访问一次页面就建造一个SessionFactory,而资料上说,一个数据库只需要一个实例。。。FT。。。。怪不得总是并发问题,平时不出问题。也用了简单的压力测试工作AB做了简单的测试,大部分页面是过关的,还有一个movie_download不行。原因也找到了,事务提交的跨度太大了,可能造成了数据库的死锁。
  虽然挺痛苦的,但做好的感觉总是非常非常的好。其间特别鸣谢:LP。一次次给我鼓励,给我加油打气,最相信我的人。你的支持一直是最重要的哦。没想到这个项目对IBM的笔试还是有一点帮助的,至少多知道了两题Java吧,呵呵

Leave a Reply

Your email address will not be published.