- 博客(31)
- 资源 (15)
- 收藏
- 关注
原创 Python :多线程和多进程的选择
如果你的代码是CPU密集型,多个线程的代码很有可能是线性执行的。所以这种情况下多线程是鸡肋,效率可能还不如单线程因为有context switch。如果你的代码是IO密集型,多线程可以明显提高效率。因为Python的多线程不能调用多个核心,只能利用一个核心. 如果是IO密集带阻塞的任务,Python的多线程还是很不错的. 如果是CPU密集, 试试多进程好了.在Pytho
2016-10-31 15:10:01 2062
转载 Python中的None
None是一个特殊的常量。None和False不同。None不是0。None不是空字符串。None和任何其他的数据类型比较永远返回False。None有自己的数据类型NoneType。你可以将None复制给任何变量,但是你不能创建其他NoneType对象。Python中的None与 NULL(即空字符)的区别(1)是不
2016-10-31 14:43:23 5659
转载 理解 %IOWAIT (%WIO)
%iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 %wio,含义都是一样的,这个指标常常被误读,很多人把它当作I/O问题的征兆,我自己每隔一段时间就会遇到对 %iowait 紧张兮兮的客户,不得不费尽唇舌反复解释,事实上这个指标所含的信息量非常少,不能单独用来判断系统有没有I/O问题,在此我们详细探讨一下
2016-10-25 17:16:45 2497
转载 iostat和iowait详细解说--查看磁盘瓶颈
iostat和iowait详细解说%iowait并不能反应磁盘瓶颈iowait实际测量的是cpu时间:%iowait = (cpu idle time)/(all cpu time)这个文章说明:高速cpu会造成很高的iowait值,但这并不代表磁盘是系统的瓶颈。唯一能说明磁盘是系统瓶颈的方法,就是很高的read/write时间,一般来说超过20ms,就代表
2016-10-25 15:58:53 24808 1
转载 带外数据OOB与紧急模式URG
A,TCP支持带外数据OOB吗?与紧急模式URG有什么关系? TCP支持带外数据,但是只有一个OOB字节,TCP的带外数据是通过紧急模式URG实现的.B,我们知道send(sendfd,"ABC",3,MSG_OOB),将发送3个字节的带外数据OOB数据.但是这里TCP又只支持一个字节的OOB,难道丢掉2个字节? TCP将把紧急模式URG 置位,紧急指针定位第三个字节(
2016-10-25 11:01:30 1454
转载 http断点续传原理:http头 Range、Content-Range
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就支持了。一般断点下载时才用到 Range 和 Content-Range 实体头。Range 用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式:Range:(unit=first byte pos)-[last byte pos]
2016-10-21 16:02:33 756
转载 Http 206 文件断点续传下载原理
摘要: Http 206 文件断点续传下载原理HTTP 304/200(from cache) 静态资源缓存原理HTTP 204/205状态响应&HEAD请求header标头说明 断点续传下载需要重视2个请求头Range与If-Range一.断点续传的原理 其实断点续传的原理很简单,就是在http的请求上和一般的下载有所不同而已。 打个比方,浏览器请求
2016-10-21 15:10:18 16323
转载 分布式文件系统 FastDFS
FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所
2016-10-20 17:37:46 391
转载 FastDFS特性及问题思考
FastDFS是国人开发的一款分布式文件系统,目前社区比较活跃。系统中存在三种节点:Client、Tracker、Storage,在底层存储上通过逻辑的分组概念,使得通过在同组内配置多个Storage,从而实现软RAID10,提升简单负载均衡、并发IO的性能、及数据的冗余备份;同时通过线性的添加新的逻辑存储组,从容实现存储容量的线性扩容。 文件下载上,除了支持通过API方式,目前还提
2016-10-20 16:53:15 968
转载 TCP PUSH
由于发送该数据会清空发送缓冲,所以要加上PUSH标志。(告诉接收者:所有数据已发送,马上送到应用层去。)这里所说的数据包括与此PUSH包一起传输的数据以及之前就为该进程传输过来的数据设置PUSH标志:如果待发送的数据会清空发送缓存,那么栈就会自动为此包设置PUSH标志正在看《tcp/ip详解》8个wrtie,每个写1024的数据,每个都会加上push标志,原因是这么说的
2016-10-20 10:32:30 1105
转载 《TCP/IP详解》读书笔记(20章)-TCP的成块数据流
目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又v金金ZGTERRF可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提
2016-10-19 09:45:52 333
转载 怎样用通俗的语言解释什么叫 REST,以及什么是 RESTful?
作者:覃超链接:http://www.zhihu.com/question/28557115/answer/48094438来源:知乎著作权归作者所有,转载请联系作者获得授权。-- 简洁版 ---0. REST不是"rest"这个单词,而是几个单词缩写。但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);1. REST描述的
2016-10-18 18:42:12 2086
转载 理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必
2016-10-18 18:30:19 191
转载 HTTP四种常见的POST提交数据方式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、post、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主
2016-10-18 15:39:56 491
转载 使用PUT方法上传文件
HTTP中提供了这么多方法,放着不用简直浪费!流行使用POST上传文件是因为当年的Web没有太多API的支持,只能用表单来上传文件,所以后来大家也习惯了使用POST。但现在既然支持了这么多API,用PUT方法上传文件也是可以实现的,而且语义上更合适。PUT方法的特点是传输的实体部分是一个无结构的二进制数据,而POST方法则倾向于结构化的数据。上传文件这个行为本身就是无结构数据的传输(文件是
2016-10-18 15:22:35 21331 1
转载 再次谈谈TCP的Nagle算法与TCP_CORK选项
事件回放使用OpenVPN传输虚拟桌面流量,终端上有明显逐帧刷屏现象,网络环境为百兆局域网。分析1.首先将OpenVPN改为TCP模式,因为局域网环境下TCP和UDP差别不大,不会引起重传叠加问题。TCP的好处在于可以任意蹂躏分析,因为它的算法巨复杂,如果换UDP,太简单了,没啥好调整的;2.分析过程不是本文的目的,直接给结果吧。减小发送/接收缓冲区到MTU的2倍的样子,减小M
2016-10-18 14:09:46 323
转载 HTTP POST GET 本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,D
2016-10-17 18:39:10 232
转载 LOSF 海量小文件问题综述
摘要: 海量小文件LOSF问题是工业界和学术界公认的难题,分析了LOSF问题的由来以及典型的应用场景,并简要阐述了当前文件系统在LOSF优化方面的进展。重点分析LOSF问题的根本原因,并给出具体的优化方法和策略,期望对LOSF问题的研究和优化实践提供一定的理论指导。1、LOSF问题概述在互联网(尤其是移动互联网)、物联网、云计算、大数据等高速发展的大背景下,数据呈现爆炸式地增长。根
2016-10-14 18:03:59 2482
转载 FastDFS性能测试
FastDFS简介fastdfs是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,fastfd非常适用于基于文件服务的站点,例如图片分享和视频分享网站。fastfds有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口
2016-10-14 16:13:02 6673
转载 PV、TPS、QPS概念
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS是 TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器 做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以
2016-10-14 14:36:20 545
转载 系统吞吐量(TPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下:一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务
2016-10-14 14:20:41 620
转载 通过Nginx访问FastDFS文件系统并进行图片文件裁剪的性能测试和分析
前段时间公司的分布式图片文件系统(FastDFS)做了图片裁剪和缩放功能,并把缩放计算和FastDFS做了解耦 分离,前端用虚拟机作为图片文件缩放的访问代理层(Nginx Proxy),后端使用nginx直接访问FastDFS的文件系统。以下是测试和分析过程。1测试场景为了测试解耦后的图片读取并发和分析系统瓶颈,我们在内网中搭建了一个测试环境。以下是测试环境的网络的物理架构图:
2016-10-14 14:19:21 2894
转载 FastDFS压力测试
使用FastDFS安装包中自带的工具进行测试,该工具是开源代码工具,可以根据自身情况进行修改。测试步骤:自带的工具是没有编译过的源码,需要进行编译生成测试脚本首先解压FastDFS安装包tar zxvf FastDFS_v5.03.tar.gz进入测试脚本目录cd FastDFS/test编译make make insta
2016-10-13 18:32:23 3548
转载 nginx的root 指令
好长时间都没搞清nginx的root路径:location /img/ { alias /var/www/image/;}#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件location /img/ { root /var/www/image;}#若按照这种配置的话,则访问/img/目录下的文件时,n
2016-10-13 14:17:14 3509 2
转载 linux下socket的close和shutdown
在Linux socket关闭连接的方法有两种分别是shutdown和close,首先看一下shutdown的定义#includeint shutdown(int sockfd,int how);how的方式有三种分别是SHUT_RD(0):关闭sockfd上的读功能,此选项将不允许sockfd进行读操作。SHUT_WR(1):关闭sockfd的写功能,此选
2016-10-13 10:03:33 602
转载 解读TCP 四种定时器
一.TCP的四种定时器TCP使用四种定时器(Timer,也称为“计时器”):重传计时器:Retransmission Timer坚持计时器:Persistent Timer保活计时器:Keeplive Timer时间等待计时器:Time_Wait Timer。 (1)重传计时器:重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间
2016-10-12 09:58:29 13642
转载 TCP/IP中的TTL
TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器
2016-10-12 09:12:12 1119
转载 对Linux目录和文件系统的理解
inux里最重要的理念是“一切对象都是文件”所有的目录,文件,命令(也是一种可执行文件),设备等,归根结底都是一种文件,被分成若干个基本的存储单元,存放在磁盘的不同物理地址上,并具有特定的读,写,执行权限。Linux中文件类型只有以下这几种: 1.-,普通文件。 2.d,目录文件,d是directory的简写。 3.l,软连接文件,亦称符号链接文件,s是soft或者sy
2016-10-11 18:34:34 308
转载 Linux中硬盘物理扇区 与文件系统文件对应关系
1 概述系统读写文件过程中,如下面内核打印信息,报告读写某个扇区错误。那么我们如何能够通过sector找到读写哪个文件错误?kernel: end_request: I/O error, dev sdb, sector 419134992 物理扇区与文件对应关系计算以下面打印信息为例。kernel: end_req
2016-10-11 18:28:02 3899
转载 Linux文件存储结构,包括目录项、inode、数据块
本文转载http://c.biancheng.net/cpp/html/2780.html C语言中文网,仅方便学习大部分的Linux文件系统(如ext2、ext3)规定,一个文件由目录项、inode和数据块组成:目录项:包括文件名和inode节点号。Inode:又称文件索引节点,包含文件的基础信息以及数据块的指针。数据块:包含文件的具体内容。先说inode理解in
2016-10-11 18:26:34 8710
转载 从缓冲上看阻塞与非阻塞socket在发送接收上的区别
最近在网络上看到一些帖子以及回复,同时又搜索了一些网络上关于阻塞非阻塞区别的描述,发现很多人在描述两者的发送接收时操作返回以及缓冲区处理的区别时有不同程度的误解。所以我想写一篇文章来纠正错误,并作为记录方便查阅,如有转载,注明作者(jwybobo2007)以及出处即可。 首先socket在默认情况下是阻塞状态的(未指异步操作以及其它一些特殊用途下,直接默认为非阻塞),这就使得发送以及接收
2016-10-11 15:56:55 214
深入编程内幕.pdf
2015-03-28
C++编程指南.pdf
2015-03-28
Berkeley DB 资料
2010-09-21
linux c函数速查手册
2009-10-13
lcd ampire128x64 的使用 proteus
2009-05-17
autocad做的小户型平面图
2009-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人