性能问题

记点笔记:High-Performance Server Architecture 性能问题一般因以下四个原因而起: Data copies(数据复制) Context switches(上下文切换) Memory allocation(内存分配) Lock contention(锁争用) 为避免Data copies,作者使用的方法是间接使用和通过buffer descriptor来代替buffer pointer,每一个buffer descriptor由以下部分构成: A pointer and length for the whole buffer. 一个指向整个buffer的指针和大小。 A pointer and length or offset and length for the part of the buffer that’s actually used. 一个指向buffer实际使用部分的指针和大小或偏移量及大小。 Forward and back pointers to other descriptors in a list. 指向其他描述符的向前及向后的指针列表。…

HS: sify.com的构架

刚才看过了High Scalability的新文:SIFY.COM ARCHITECTURE – A PORTAL AT 3900 REQUESTS PER SECOND。构架里有许多有意思的地方,他们在GFS上存储所有数据,没有DB,没有NoSQL,而是使用Apache Solr来做数据的索引。使用了Drools这个rule引擎来处理缓存过期的问题。文章的最后把他们在构架进化过程的问题也抛出来了,这一点很不错,弯路谁没走过,把这样的经验分享出来是相当不错的。 从抛出来所遇到的问题和解决方法来看,系统重启以解决还是相当的普遍。