上周参加淘宝的校招面试,由于算是临时被派去的,除了基础的算法和数据结构,还有个编程题灵机一动 让大家 分解质因数

即类似 把 12 分解成 2_2_3来

基本上被我面到的都会问这个编程题.这题挺简单一般 10行代码就能搞定,但是要在短时间内,写的又好有严谨还是有难度了

Read More

@ https://bugzilla.redhat.com/show_bug.cgi?id=582570

just MARK


The performance counters are not available to profile in virtualized
environments. You might be able to use the timer mode within the
DomU.

If just measuring things within a domU, as root you could do the following to
use the timer mode:

opcontrol --deinit
rm -f /root/.oprofile/daemonrc
modprobe oprofile timer=1
opcontrol --reset
opcontrol --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux \
  --separate=library
opcontrol --start

这次再公开一个小工具 easy_runner 一个来用做压测的小工具

我主要用来做MySQL压测的时候,直接压业务端用的.

程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner这种重型压测工具使用起来方便多了

下载可以到 http://code.google.com/p/easy-runner/ checkout出源码来

使用说明见 http://code.google.com/p/easy-runner/wiki/Usage

Read More

最近大牛 姜承尧 也在测试Row Cache,发现使用sysbench来进行测试效果不是很明显.

分析了一下 sysbench的三个测试场景uniform,gaussian,special都不是很符合Row Cache的使用场景导致效果不明显

先来解释一下 Row Cache要解决的问题主要是在有热门数据且热门数据分布很离散的情况下Page缓存导致的内存利用率低的问题,我们做过测试,在innodb内部对Page访问打点的统计来看,一个row有500字节大小,热门数据大概占千分之一地情况下,Page缓存的利用率(就是16K读进来,真正被上层read的数据大小的比例)在20%以下,就是说 80%的内存是被浪费的.

而现在MySQL的应用由于数据量巨大使用MySQL后都是分库分表,而且为了能每个库没有热点,基本都是按取模的方式进行分表,导致热门数据基本都是很平均的分布在各个不同的Page上.而分库分表之后基本没有了range查询,都是类似select * from test where uuid=XX这样的key-value类型的查询,这样的查询就导致了内存利用率低的问题

Row Cache就是为了解决这样的场景(一般互联网应用规模到了一定程度应该都会有这个问题).

Read More

这次说说Flex的事

最近帮同事做了一个demo, 请求其他网站的一个图片,并在本地对这个图片进行一定的修改,这个时候就涉及到Flex的跨域问题.

Flex请求其他网站的图片是没有问题的,但是一旦需要在本地对图片进行修改的话,就需要对方网站的crossdomain.xml进行权限开放了,如果对方没有对你的域名设置为allow-access-from,那么你在Flex本地是不能对其进行直接修改的,那要怎么办呢?

实际上Flex本身提供了一种可以直接绕过跨域沙箱限制的方法,那就是在本地直接将对方网站图片转化为二进制数据再次重新载入就能绕过沙箱限制了,代码如下

Read More