MyISAM中读写是相互阻塞的锁,很多人误认为MyISAM存储引擎是完全串行化,没有办法并行的,实际上,MyISAM中提供了一个非常有用的特性,就是Concurrent Insert。 在my.cnf中对Concurrent Insert可以进行配置,有三个可选值:0,1,2. 1) concurrent _insert =0 ,无论MyISAM的表数据文件中间是否存在因为删除而留下俄空闲空间,都不允许concurrent insert。 2)concurrent_insert = 1,是当MyISAM存储引擎表数据文件中间不存在空闲空间的时候,从文件尾部进行Concurrent Insert。 3)concurrent_insert = 2, 无论 MyISAM存储引擎的表数据文件的中间部分是否存在因为删除而留下的空闲空间,都允许在数据文件尾部进行concurrent insert操作。 从以上的赋值说明可以得出,在删除操作不是很多的情况下,可以选用 concurrent_insert =2 ,这样可以增大并发速度,但是会浪费一部分数据文件的空间,因为中间删除的空隙得不到数据填充。这个浪费在删除操作较多的情况下是非常可观的,所以在删除操作较多的情况下应该选用concurrent_insert =1,当然,假如你的对空间不是特别在乎,而且能很好的处理备份问题,选用concurrent_insert =2显然能提高你的MyISAM的并发读写能力。
Monthly Archives: 六月 2009
信息泛滥
初中时代,老师告诉我们,我们即将进入一个信息爆炸的社会,你们要学习,学习,再学习。到了高中,老师说:21世纪是信息社会,谁先得到信息,谁就能获取胜利。到了博弈论里面就演变成了:成功者都是因为减少信息不对称。我想做个成功者,于是我想尽办法减少信息不对称,于是我注册了各种各样的社交网站,关注各种各样的我觉得有谱的信息,但突然有一天,有很多这样的同类社交网站诞生了,而且都宣称拥有很多用户,事实上也确实有很多用户。于是又诞生一个个类似hellotxt的网站,中国有嘀咕,饭否,叽歪等等,结果我现在打开网站得到的都是重复的信息,就像中国的几大门户网站一样。 于是我关闭FriendFeed ,Facebook,校内等等,我开始怀疑google的效能,我开始更多的关注语义搜索。 未来的世界,不是比拼谁能得到更多的信息,而是比拼谁更过滤掉无用的信息,语义搜索更好的传达了这一点。 所以新闻网站只要看一个就行了,社交网站也只要一个就可以,IM工具更只要一个…… 忽然有一个想法,谁要是能做一个应用,把Facebook,twitter,校内,饭否,myspace等等网站聚合在一起,然后将一个用户可能看到的多条重复信息过滤之,这个应用应该能火起来。
开发环境的三大规则
1)使用源码控制 2) 使用单步创建 3)跟踪程序缺陷 每个人都有自己偏好的事情和做事方法,无论在开发那种大规模应用程序时,他们都会严格遵循这些作诗方法。具体的做事原则取决于所选择的特定的开发方法理论,但还是有一些普遍规则实际上是放之四海而皆准。对于大型Web应用程序的开发领域而言,以上三条在成功开发团队中屡见不鲜。可能是规则这个次太夸张了,称之为指导方针可能更适合一些。当然,不去应用这三条简单的规则也是可行的,仍然可以产出可用的产品。但这三条规则能够帮助你避开小规模应用程序迁移到大型程序时常常遇到的问题,并且帮助你更快的完成这个迁移过程。