MySQL单机多实例方案

2011年6月28日 由 jacky 没有评论 »

MySQL单机多实例方案,是指在一台物理的PC服务器上运行多个MySQL数据库实例,为什么要这样做?这样做的好处是什么?
1.存储技术飞速发展,IO不再是瓶颈
普通PC服务器的CPU与IO资源不均衡,

iDataForum2011日程安排

2011年6月28日 由 江枫 没有评论 »

iDataForum2011将于7.10在杭州之江饭店开启数据技术分享之旅,期待与各位报名参加的技术人一起畅赏技术交流的快感。 View Larger Map iDataForum — 主论坛 时间 主题 拟邀嘉宾 【9:30 – 9:45】 开场致辞 阳振坤/正祥(淘宝网) 【9:45 – 10:45】 开放环境下的数据管理 周晓方(澳大利亚昆士兰大学) 【11:00 – 12:00】 MySQL+SSD数据库优化实践 陈长城/天羽(淘宝网) iDataForum — 分论坛一 时间 主题 拟邀嘉宾 【13:30 – 14:30】 网易分布式数据库平台介绍 王磊 (网易) 【14:45 – 15:45】 高性能模糊查询内存数据库介绍 罗立刚(百度) 【15:45 – 16:45】 MySQL新技术探索与实践 彭立勋(阿里巴巴) 【17:00 – 18:00】 MySQL高可用圆桌讨论 主持人+嘉宾 现场互动 iDataForum — [...]

Fusionio性能测试与瓶颈分析

2011年6月21日 由 jacky 没有评论 »

测试环境:Dell R510,2×E5620,24G,Fusion-io ioDrive 320G MLC
测试工具:Redhat Linux 5.3,Oracle Orion 11
测试一:8K随机读,IOPS超过5W,吞吐量超过400M,响应时间在IOPS达到4W时出现拐点(超过1ms),并迅

spinlock剖析与改进

2011年6月17日 由 子嘉 没有评论 »

—-by 淘宝子嘉

1, spinlock介绍

spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任何时刻时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执行时间过长)会导致cpu busy飙高。

2, spinlock与mutex对比

2.1,优缺点比较

spinlock不会使线程状态发生切换,mutex在获取不到锁的时候会选择sleep

mutex获取锁分为两阶段,第一阶段在用户态采用spinlock锁总线的方式获取一次锁,如果成功立即返回;否则进入第二阶段,调用系统的futex锁去sleep,当锁可用后被唤醒,继续竞争锁。

Spinlock优点:没有昂贵的系统调用,一直处于用户态,执行速度快

Spinlock缺点:一直占用cpu,而且在执行过程中还会锁bus总线,锁总线时其他处理器不能使用总线

Mutex优点:不会忙等,得不到锁会sleep

Mutex缺点:sleep时会陷入到内核态,需要昂贵的系统调用

2.2,使用准则

Spinlock使用准则:临界区尽量简短,控制在100行代码以内,不要有显式或者隐式的系统调用,调用的函数也尽量简短。例如,不要在临界区中调用read,write,open等会产生系统调用的函数,也不要去sleep;strcpy,memcpy等函数慎用,依赖于数据的大小。

3, spinlock系统实现

spinlock的实现方式有多种,但是思想都是差不多的,现罗列一下:

3.1glibc-2.9中的实现方法:

</pre>
int pthread_spin_lock (lock) pthread_spinlock_t

IE和Firefox的Javascript兼容性大总结

2011年6月9日 由 yybean 没有评论 »

长久以来JavaScript兼容性一直是Web开发者的一个主要问题。在正式规范、事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬。为此,主要从以下几方面差异总结IE和Firefox的Javascript兼容性:

一、函数和方法差异;

二、样式访问和设置;

阅读全文——共9417字