前段时间谷歌推出了新的 TCP-BBR 开源算法,可以起到单边加速 TCP 连接的效果,也就是不用客户端的配合,用来替代收费的锐速再合适不过,毕竟开源免费.TCP-BBR 的目的是要尽量跑满带宽,并且尽量不要有排队的情况,效果不比速锐差. Ubuntu 部署起来很方便,CentOS 稍麻烦,不过相信过不了多久就会有 CentOS 的一键包了.Ubuntu14 下已经测试成功!注意BBR和锐速一样不能用在 OpenVZ 的机器上,所以搬瓦工等是用不了的. TCP-BBR项目github主页:htt…
最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案.似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对之前所作的一些工作做一些总结和分享,省的时间长了自己也忘记了,也希望后来者能少走弯路,并找到适合自己的最佳方案. 背景: 项目需要在指定的linux服务器上对视频源进行转码存储,以节省存储空间.操作系统必须是Linux,用来硬加速转码的GPU是nViDIA的GT440. 方案1: 由于nViDIA的…
8.1.1 网络基础知识 计算机网络形式多样,内容繁杂.网络上的计算机要互相通信,必须遵循一定的协议.目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议. 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机.而TCP层则提供面向应…
浅析TCP/IP协议 0x00 什么是TCP/IP协议? ​ 想一想人与人之间交流需要什么?我们是不是要掌握一种我们都能体会到对方意思的语言.那么计算机与网络设备之间进行通信,是不是不同设备之间是不是也要确定一种让两者能够通信的方法.不同的硬件,不同的操作系统,等等不同的设备,他们想要通信,必须要有一种规则来保证它们之间能够通信.而这种规则就是协议. ​ 很多人都认为TCP/IP协议指的是TCP和IP这两种协议,也有人认为TCP/ IP 是在 IP 协议的通信过程中,使用到的协议族的统称.但我认…
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必要进一步的了解,这就要我们了解网络通信层了,提到网络通信层不得不说起ISO-OSI的七层协议经典架构,如图所示: 上图的左边部分就是osi架构模型了, ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标…
转自:http://blog.csdn.net/dog250/article/details/52830576 写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发.本文写于2016/10/15!        本文的写作方式可能稍有不同,之前很多关于OpenVPN,Netfilter,IP路由,TCP的文章中,我都是先罗列了问题,然后阐述如何解决这个问题.但是本文不同!本文的内容来自于我十分厌恶的一个领域,其中又牵扯到我十分厌恶的一家公…
一.Docker 监控方式 1.利用docker 的 docker stats API 命令: docker stats [容器ID/容器名称] [root@docker ~]# docker stats --help Usage: docker stats [OPTIONS] [CONTAINER...] Display a live stream of container(s) resource usage statistics -a, --all Show all containers (…
原文地址: https://teddysun.com/489.html 最近,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法.根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外.根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级.于是我根据目前三大发行版的最新内核,开发了一键安装最新内核并开启 TCP BBR 脚本. 本脚…
这是秋水逸冰提供的TCP BBR一键开启脚本,脚本详细说明地址: https://teddysun.com/489.html 按照说明操作就可以了,注意问题:这个脚本获取有的时候可能有问题,如果提示脚本获取失败,多执行几次就可以了. 如果脚本获取失败,那么可以把下面脚本保存到本地,随后上传到要开启TCP BBR的Linux服务器中,在root身份下执行就可以了.下面是秋水逸冰提供的TCP BBR一键开启脚本: #!/usr/bin/env bash # # Auto install latest…
原文来自:https://github.com/iMeiji/shadowsocks_install/wiki/%E5%BC%80%E5%90%AFTCP-BBR%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6%E7%AE%97%E6%B3%95 BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差 Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启 附:OpenVZ 架构VPS开启BBR (容易导…
前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT),谷歌一向的做法是,先上生产,然后发论文,然后有可能开源,所以这个已经合并到了内核4.9分支当中,算法带来的改变在出的测试报告当中有很详细的数据展示,这个看多了可能反而不知道到底会有什么明显改变,特别是对于我们自己的场景 那么本篇就是来做一个实践的…
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&qu…
# coding=utf-8 #非黑即白--谷歌OCR光学字符识别 # 颜色的世界里,非黑即白.computer表示深信不疑. # 今天研究一下OCR光学识别庞大领域中的众多分支里的一个开源项目的一个包-tesseract. # # 能让机器识别图片是无数工程师梦寐以求的事 # 任何物体只有成功转为二进制才有可能被机器识别,而识别是做出一系列智能行为的前提 # # 下面以一张验证码为例梳理一下机器识别的思路: # # 准备工作: # 1.取到图片地址,在线转化为图片流或者下载到本地 # 2.PI…
在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数. Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍: 最大TCP连接数 [HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]TcpNumConnections = 0x00fffffe (Default = 16,777,214) 以上注册表信…
概述 从2016年开始,我就在琢磨寻找一种新的绕过谷歌验证码v2的方法会有多难,如果这种方法能够适用于任何环境而不仅仅是针对特定的案例,那这种方法将是非常理想的.接下来我将向你介绍ReBreakCaptcha——一种全新的谷歌验证码v2的绕过技术. ReBreakCaptcha分为三个阶段: 1.音频挑战-获得正确的挑战类型 2.识别-转换音频挑战音频并将其发送到谷歌的语音识别API 3.验证-验证语音识别结果并绕过验证码 注:截至发布时(2017.02.28),该漏洞仍确认有效. ReBrea…
设置tcp参数一定要小心谨慎,轻易不要更改线上环境,我贴一下我们线上环境中,sysctl.conf的内容,见文章底部 net.ipv4.tcp_tw_reuse    = 1  net.ipv4.tcp_tw_recycle  = 1  net.ipv4.tcp_fin_timeout = 30  net.ipv4.tcp_keepalive_time = 1800  net.ipv4.tcp_max_syn_backlog = 4096  net.ipv4.tcp_syncookies = 1…
关键字:正则表达式.元字符.字符串.匹配: 1.正则表达式简介:正则表达式提供了功能强大.灵活而又高效的方法来处:.NET框架正则表达式并入了其他正则表达式实现的: 2.字符串搜索:正则表达式语言由两种基本字符类型组成:原义(正常:一般表达式语言是一种可以编写搜索表达式的语言: 3..NET框架的正则表达式类:下面通过介绍.NET框架的正则表达式类,熟悉一下: 1.正则表达式简介 正则表达式提供了功能强大.灵活而又高效的方法来处理文本.正则表达式的全面模式匹配表示法可以快速地分析大量的文本以找到…
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1. 首先项目图: 2. 这里的布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&…
转载,请注明出处:http://blog.csdn.net/tina_ttl 目录(?)[+] 标签(空格分隔): Linux学习 OpenCV ubuntu 1404 下利用apt-get方式安装OpenCV 前言 安装方法 opencv被安装在了哪里 1 opencv的安装源文件 2 opencv相关的头文件的安装位置 3 opencv的相关动态链接库的安装位置 4 linux下的opencv和windows下的opencv文件 测试代码 1 源码 2 make 3 测试程序 1.前言 相比…
1.什么是Socket 网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返 回一个整型的Socket描述符,随后的连接建立.数据传输等操作都是通过该Socket实现的.常用的Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式Socket(SOCK_DGRAM).流式是一种面向连接的Socket,针对于面向连接的TCP服务应用:数据 报式Socket是一种无连接的Soc…
https://blog.csdn.net/fgrass_163/article/details/6365296 Delphi下利用WinIo模拟鼠标键盘详解 2011年04月26日 21:03:00 阅读数:1815 前言 一日发现SendInput对某程序居然无效,无奈只好开始研究WinIo.上网查了很多资料,发现关于WinIo模拟鼠标键盘的资料很少,有的也只是支言片语讲的不是很详细,而且大部分都是关于模拟键盘的.自己写了一些程序研究一方,经历了无数次的键盘死锁.鼠标满屏乱飞.复位重启,总算…
win7下利用ftp实现华为路由器的上传和下载 1.  Win7下ftp的安装和配置 (1)开始->控制面板->程序->程序和功能->打开或关闭Windows功能 (2)在Windows功能对话框里勾选Internet信息服务->FTP服务器 (3)开始->控制面板->系统和安全->Internet信息服务(IIS)管理器 (4)打开Internet信息服务(IIS)管理器,在Internet信息服务(IIS)管理器窗口中右击主机名(例如我的是:ROOT-P…
Block的循环引用 对于非ARC下, 为了防止循环引用, 我们使用__block来修饰在Block中使用的对象: 对于ARC下, 为了防止循环引用, 我们使用__weak来修饰在Block中使用的对象.原理就是:ARC中,Block中如果引用了__strong修饰符的自动变量,则相当于Block对该变量的引用计数+1.…
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运行窗口中输入 sc start TlntSvr 开启Telnet服务! 第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.qq.com 25   然后回车 (此处以QQ邮箱为例,163邮箱可输入smtp.163.com .25表示建立连接的端口号) SMTP协议--在cmd下…
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar XXX.jar & &代表在后台运行. 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行. 继续改进,如何让窗口关闭时,程序仍然运行? 方式三 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,…
在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的windows客户端:https://windows.github.com/ 下载完安装后其实就搞定了一大半了.接下来我们把: C:\Users\[你的用户名]\AppData\Local\GitHub\PortableGit_c2ba306e一大串数字\bin C:\Users\[你的用户名]\AppD…
Mac下利用(xcode)安装git 一.AppStore 最安全途径:搜索下载Xcode,(需要AppleID). 其他:直接百度Xcode下载. 二.Xcode 打开Xcode-->Preferences(快捷键 Command + ,(逗号))点击Downloads选项,下载Command Line Tools. 三.终端 输入命令:git --version.查看当前git版本. 详解如下:安装命令行(Command Line Tools) 打开终端,输入命令:xcode-select…
在日常运维工作中,公司不同人员(一般是运维人员)共用root账号登录linux服务器进行维护管理,在不健全的账户权限审计制度下,一旦出现问题,就很难找出源头,甚是麻烦!在此,介绍下利用编译bash使不同人员在使用root账号登陆服务器后,能记录各自的操作,并且可以结合ELK日志分析系统收集登陆操作日志. 废话不多说!下面分享下操作记录: 服务器ip:192.168.1.180 首先是编译bash[root@dev ~]# cd /usr/local/src/[root@dev src]# wge…
在自己自定义的一个组件中由于需要用图片显示数字编号,而当前图片就只有一张,上面有0-9是个数字,于是不得不考虑将其中一个个的数字切割下来,需要显示什么数字,只需要组合一下就好了. 下面是程序的关键代码: 在MyView(继承于View)类中的重写的onDraw(Canvas canvas)方法中,有如下代码段: Bitmap resource = BitmapFactory.decodeResource(this.getResources(), R.drawable.num); Bitmap z…
Java下利用Jackson进行JSON解析和序列化   Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的JSON操作方法. 一.准备工作 首先去官网下载Jackson工具包,下载地址http://wiki.fasterxml.com/JacksonDownload.Jackson有1.x系列和2.x系列,截止目前2.x系列的最新版本是2.2.3,…