手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:闲聊

张宴:Google 构建大规模信息检索系统中的挑战

原文来自:http://blog.s135.com/post/407/,本文纯粹是转载。
不过,我看到张宴博客里介绍的时候,很是惊讶于google docs的功能,原来,google docs居然也能够象其他那些Webshare网站那样显示PPT或者PDF?点击放大后,还能够下载成PDF或者PPT,而且效果不错,感觉就象FLASH一样。看来什么时候是需要学习一下如何使用了,因为google的速度不错,在与很多人分享资料的时候就比较方便了

更多看全文

» 阅读全文

Tags: 信息检索

何时升级硬件,何时更新配置

一直在关注着MYSQL的优化工作,但却也从来没有从硬件方面进行过探讨,前段时间有人在群里贴了一个msyql部落的链接,跑上去偷偷看了两眼,发现还是有点料的。以下就是其中的一点料:

http://www.mysqlsystems.com/?p=3

以前一直在MySQL的本家做咨询工作,所以我下面和大家讨论的话题是一个我在工作中经常遇到的问题。

什么时候我们应该升级硬件?什么时候应该修改配置?

作为DBA,老板和公司总是希望我们以最小的投入换来最大的性能(效益)。不过我并没有暗示大家,我接下讨论的话题,会是让各位避免购买硬件。

对于上面的答案很多人肯定会说两者都做,或者只做配置修改。我想我没有给大家出选择题,只是拿出来做任何一个考虑的时候,哪些因素影响着我们。我的回答经常是:

1.使劲优化MySQL服务器和查询语句

 

先看看别人的例子,或者仔细读一些MySQL的手册吧,这样你可以优化一些非常简单的my.cnf。也许最简单的index提高了几十倍的性能。不要轻易买硬件!

2. 先看看你的硬件整体架构是否平衡?

这个问题比较复杂,需要配合你的系统管理员来做,比较小的公司可能是一个人包了 这两个角色。我曾经去过一个沈阳的ISV那边,他们是一个大数据量,并发的使用MySQL。后来随着业务增加,其中三台IBM的P机放数据库的机器负担非 常重,后来老板下死令要dba调性能。DBA在尝试了很多种手册上的方法后,均无明显效果。后来在很多次交流以后才得知,他们信息中心还有4台机器跑着 Mail服务器,任务量非常轻。在建议他们利用上这些机器可能配置的情况下,性能很快就上去了

3. 没办法,服务器全用上了?

这种情况也非常常见,特别是对于那些服务器24小时都有人访问的web公司,如 youtube。如果用一些性能监视工具去监控整个服务器,结果看看一整天的流量和性能图,可能会大跌眼镜,服务并不是每时每刻都非常慢,而是某个特定时 间段,排除网络的原因,服务器备份的时候或者DBA下班的时候设置的半夜Cron工作总是对数据库有非常大的压力。

4. 还是买硬件吧,有什么建议?

性能调优有句老话,没有最好只有更好。一个系统的性能出现问题,是各个环节的累计造成的。用微观经济学的说法就是我们要使用边际成本最高的投入。

下面几种情况可以考虑相应的部件升级,经济危机了,整机成本太高而且是在没有必要。

IO读写太多,也许考虑买一条200块的内存?
增加CPU运算,也许考虑买一台x86的服务器,忘记Sun的CMT吧,因为MySQL的限制,使用不了这么多线程,反倒增加负担。

Tags: mysql, 升级, 优化

为什么要做接口测试

最近一直被接口的事所烦恼,接口,测试,测试,接口。为什么要做,要做的目的是什么?

突然看到淘宝的QA上有这篇文章,立刻转摘,希望也能给其他想做接口或者正在做接口的朋友提供点帮助吧。

原文:http://rdc.taobao.com/blog/qa/?p=307
  1. 先给不了解接口测试的同学给个接口测试的定义:接口测试的目的是为了测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。(雪樱mm给出的非常好的定义,我盗用一下。)  
  2.   
  3. 本文主题是想谈谈为什么要做接口测试。曾经我们功能测试、性能测试、GUI自动化回归测试已经能够cover我们的测试需求,能够保证我们的网站质量。而随着产品功能越来越多,系统架构越来越复杂,新人越来越多,一些预想不到的缺陷突兀的出现在我们面前,我们怎么办?我们必须寻找一种更有效的测试方法来适应当前的变化,来持续保证我们的网站质量。因此接口的测试就是为了满足这个朴素的愿望。  
  4.   
  5. 从项目来说,由于产品的复杂度加大,系统的复杂度也加大,很多TestCase靠之前的GUI测试已经无法覆盖,那么必须深入代码,对代码进行更有力的破坏才能让系统更稳定。它不是站在系统角度的单元测试,而是与大多数功能测试一样是站在用户需求角度的接口测试。  
  6.   
  7. 从回归来说,也是有很朴素的需求存在:系统A改了一个接口,相关联系统B的开发人员并不知道(当然系统A的开发人员也不知道他会影响到B),导致A发布后,B出错,B的用户开始抱怨.此时如果有那么一套单元测试or接口测试在持续集成运行的话,当B测试出错,B的开发一下就能发现,也就能立即改掉。  
  8.   
  9. 因此接口测试不是仅仅为了接口的测试。只有它能够帮助我们做更多更好的测试,解决我们测试业务中的困难,保证我们当前GUI测试无法保证的质量,才是我们真正的目的。  

——END——

颇为感慨

Tags: 测试, 接口, 自动化