- 浏览: 252495 次
- 性别:
-
最新评论
文章列表
影响套接字选项的函数
getsockop 和 setsockop函数
fcntl
ioctl
getsockopt 和 setsockopt
//其中sockfd必须指向一个打开套接字描述符,level(级别)指定系统中解释选项的代码或
//为通/用套接字代码,或为某个特定于协议的代码,optval是一个指向某个变量(*optval)
//的指针,setsockopt从*optval中取得选项待设置的新值,getsockopt则把已获取的
//选项当前值存放到*optval,*optval的大小由最后一个参数optlen指定,
//它对于setsockop ...
一段打印客户端的ip和端口,并返回一段当前时间的代码,客户端通过telnet就可以连接了
#include <stdio.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <strings.h>
#include <netinet/in.h>
#include <time. ...
打印当前机器是小头派还是大头派类型
注意,如果没有加这两个头文件
#include <stdio.h>
#include <stdlib.h>
编译时候会报 警告:隐式声明与内建函数‘printf’不兼容 这个错误
编译: gcc -o byteorder byteorder.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv) {
union {
short s;
...
大型网站系统与java中间件
- 博客分类:
- 学习笔记
第一章 分布式系统介绍
为什么要有分布式系统?
1.升级单机处理能力的性价比越来越低
2.单机处理能力存在瓶颈
3.处于稳定性和可用性的考虑
线程与进程的执行模式
1.互不通信的多线程模式
2.基于共享容器协同的 ...
Hadoop-远程过程调用
- 博客分类:
- hadoop
Hadoop IPC类图如下
连接
//为了提高通讯效率,连接是可以复用的,通过ConnectionId来区分不同的连接
class ConnectionId {
InetSocketAddress address; //远端服务器的地址
UserGroupInformation ticket; //用户和用户组的信息
Class<?> protocol; //IPC接口对应的类对象
}
//ConnectionHeader类是客户 ...
第一章 数据的分片与路由
分片包括二个映射:
1.key-partition映射,将数据记录映射到数据分片空间中,一般是多对一的映射即一个数据分片包含多条记录
2.partition-macheine映射,将数据分片映射到物理机器中,也是多对一映射,即一台物理机器容纳多个数据分片
哈希分片(hash partition)
1.Round Robin
H(key) = hash(key) mod (K+1) K为当前机器数量,新增一台物理机器就是K+1
RoundRobin算法在增加一台机器后整个结果都变了
2.虚拟桶(Virtual Buc ...
24小时365天不间断服务
- 博客分类:
- 学习笔记
第一章 服务器及基础设施搭建入门
系统的冗余可以通过以下步骤实现
1.设想可能发生的故障
2.根据故障准备备份设备
3.部署故障发生时切换到备份设备的工作机制
常用的健康检查方式
1.ICMP监控(三层)
2.端口监监控( ...
第一章 网络技术概述
很多在线公司的业绩已经证实
1.网站越快,用户的黏性越高
2.网站越快,用户忠诚度更高
3.网站越快,用户转化率越高
延迟:分组从信息发送到目的地所需的时间
带宽:逻辑或物理通信路劲最大的吞吐量
延迟的构成
1.传播延迟(消息欧星发送端到接收端需要的时间,是信息传播距离和速度的函数)
2.传输延迟(把消息中的所有比特转移到链路中需要的时间,是消息长度和链路速度的函数)
3.处理延迟
4.排队延迟(到来的分组排队等待处理的时间)
光在真空中是30W公里/秒,但是传播分组中的光钎折射率在1.4到1.6之间,折射率越低速度越快
...
java性能优化权威指南
- 博客分类:
- 学习笔记
ff
Java应用的基准测试
使用命令行选项 -XX:+PrintCompilation 可以打印出JVM优化和逆优化的函数输出日志
debug jdk 还有一个选项-XX:+PrintInlining 可以输出被编译器内联优化的函数
基准测试的时候需要做热身,因为JVM会做很多优化,尤其是server级别的,配合PrintCompilation 参数观察
Java并发编程实践
- 博客分类:
- 学习笔记
第一章 介绍
线程的优点使用多处理器对异步事件的处理用户界面的更加响应性线程的风险 1.安全危险 2.活跃度危险 3.性能危险线程无处不在1.定时器2.JSP3.RMI4.Swing和AWT
第二章 线程安全编写线程安全的代码,本质上就是管理对状态的访问,而通常都是共享的、可变的状态 无论何时,只要有多余一个的线程访问给定的状态变量,而且其中某个线程会写入该变量,此时必须使用同步来协调线程对该变量的访问。在没有正确同步的情况下,如果多个线程访问了同一个变量,你的程序就存在隐患,有三种方法修复它:1.不要跨线程共享变量2.使状态变量为不可变的;或者3.在任何访问状态 ...
构建高性能WEB站点
- 博客分类:
- 学习笔记
2.数据的网络传输带宽数据如何发送 1.数据首先先入用户内存地址空间 2.调用系统库接口比如send(),将用户内存数据复制到系统核心维护的内核缓冲区中 3.内核缓冲区将复制到网卡缓冲区中 4.网卡将缓冲区中的数据发送到线路中
HBase-cache相关
- 博客分类:
- hadoop
一些配置参数
hbase.lru.blockcache.min.factor
hbase.lru.blockcache.acceptable.factor
hbase.regionserver.global.memstore.upperLimit 默认为0.4
hbase.regionserver.global.memstore.lowerLimit 默认为0.35
cacheFlusher线程
主要用于定期清理 memstore中的数据,具体逻辑如下:
//在单独线程中运行,定期检查是否有
//超过阈值的region,有则执行 ...