项目回忆录(二)

发财吧广告联盟

  暑假里去找的实习。这个项目和Google Adense类似,也是提供广告服务。项目使用了ADODB,SMARTY。以前我虽然看过一下,但从来没真的去用过(因为一直都是用自己写的东西)。网站的AJAX框架是从SAJAX修改过来的,但使用上感觉稍微复杂了点。我去的时侯项目刚开始,用一天时间看了下原来的代码,了解下程序的结构和编码风格,看了下ADODB和SMARTY的文档。整个程序基本上是结构化的,虽然我更倾向于面向对象,但在人家的公司里总要顾全大局的。第二天就开始写程序了。项目细节因为有保密协议,就不公开了。说下感想。因为广告部分的访问量是非常巨大的,所以性能方面就至关重要。每一次浏览,点击都要记录,数据库的结构和查询就需要仔细优化,同时还要考虑方便以后统计结算。性能测试的时侯发现一个有点意外的结果。一开始在测试服务器上,展开一个广告居然用了0.2xs,这个速度是不能接受的。一段一段测试,找哪个部分耗时最多。结果居然是载入ADODB,光载入就花了0.1xs!于是去掉了ADODB,把session也去掉,终于达到了可以接受的速度。
  在这个项目中,真正有了数据库优化效果的体会。修改了表的结构,合理设置索引之后,每日统计程序的运行时间从原来的十几分钟缩短到二十多秒,之后又提高到十几秒。那些理论知识确确实实是有用的,凭空要想出那些优化办法绝不会那么轻松。
  一开始就两个程序员,术负责人和我。直接在测试服务器上开了个samba,直接修改在服务器上的程序。因为编辑器在另一个人保存的时侯会有提示,所以没啥麻烦。但samba毕竟不是cvs/svn,出了问题不能退回去,所以只能靠本地的备份了。后来又加了一个程序员,出问题的次数也开始增加,不过不久之后随着假期的结束,我也离开了。对于团队开发,版本控制,BUG管理是相当重要的。而cvs/svn这样的工具也是必不可少的。

1 thought on “项目回忆录(二)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.