1.DNS解析有有个缺陷,每个单独域名里写在最前面的那个ip,它被轮询到的概率要比同组的服务器高10%,
而且随着同组服务器的增多,这个差距会变大。所以最解析时候,每个IDC最好把硬件性能最好的服务器ip放在最前面。
PS:不知道BIND机制是否也有这样的一个缺陷呢?定义一个单独域名然后配置多IP的时候是不是第一个IP被命中概念要高?
然后我们的这台IP所对应的服务器性能要相对要高一些的?
2.epoll 最擅长的事情是监视大量的闲散连接,批量返回可用描述符可以让单机跑到支撑上百万的连接!
PS:看来nginx的配置用它处理大量并发效果要好!
3.如何节约CPU资源
HTTP请求预处理:能预先知道的结果绝不计算第二次。
预压缩:从数据源头提供的就是预先压缩好的数据,一直到WEB输出都是经过压缩的数据然后在浏览器端自动解压缩掉!
PS:从DB提取出来的数据再传输到WEB层能否做一次压缩处理?加快速度针对读的请求
4.怎样高效使用内存
1.避免内核空间和用户进程空间内存copy(sendfile splice and tee)
sendfile: 它的威力在于,它为大家提供了一种访问当前不断膨胀的Linux网络堆栈的机制。
这种机制叫做“零拷贝(zero-copy)”,这种机制可以把“传输控制协议(TCP)”框架直接的从主机存储器中传送到网卡
的缓存块(network card buffers)中去,避免了两次上下文切换
固态硬盘SSD处理小文件随机效率高!
写少、读多的图片服务而且小图多 : SSD + sendfile 是非常好的组合!
PS:相册系统就可以使用这种组合的!
5.减少磁盘IO
采用共享内存的方式BDB实现。它能够跑到100万条/秒
6.这个方法测试一下
schema-free,即非固定表结构。实际使用key/value存储的,
一条记录的多个字段实际是用json方式合并存在value中。因此delete和update必须指定primary key。但也支持批量查询。
将一个表里面多个字段合并组成一段JSON片段然后再保存到数据表???
示例格式为:{"name":"abc","age":28}
查询的时候???有什么好处?能够提高速度吗?
{"topicid":[{"titlename":"aa","time":"dsaf"},{},{}]}
测试代码如下:
CREATE TABLE `json` (
`content` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
阅读(1224) | 评论(1) | 转发(0) |