当前位置: 首页 > news >正文

php连接池 php–cp

原文地址:http://blog.sina.com.cn/s/blog_9eaa0f400102v9fd.html

 

数据库连接池php-cp介绍
时间 2015-01-23 11:53:05 数据库连接池 php-cp
php-cp(php-connect-pool)是用php扩展写的一个数据库连接池。

我们知道php开发速度快,适合创业快速迭代,但当流量大了之后,php大量的短连接给db层造成多余的消耗,而php处理请求过程中连接会一直持有再加上进程之间不能共享tcp连接会导致撑高mysql的连接,mysql的性能会随着连接数的升高而急速下降,所以很多大公司都强转java,这很大一部分原因是php没有连接池!当然你可以用开源的数据库中间件来缓解这个问题,但是本项目和现有的开源产品有以下几点不同。

一.它不同于市面上其他的开源数据库中间件产品:

1.它不需要单独部署中间件集群,是跑在应用服务器上的代理进程,减少了一层外部依赖,这样使得架构更加简单、清爽、可靠。

2.性能更高,减少了一次网络传输,它通过高效的ipc方式和php进程通信,并且避免了协议解析的消耗。

3.同时支持redis和mysql,不需要部署2套单独的中间件系统。

二.简单原理图:

数据库连接池php-cp介绍

三。 技术特性

1.支持最大最小连接数配置。

2.支持压力小自动回收连接(力度和频率可配置)。

3.支持平滑重启。

4.支持连接用光的排队机制。

5.同时支持mysql和redis。

6.使用简单,框架简单整合后(修改new 方法),现有业务一行代码都不用改即可用上连接池。

7.提供了get_disable_list函数,来获得不可用的宕机ip列表,这样负载均衡也可以做在客户端(配置文件全部的ip和宕机ip做差集,然后再随机即可)。

btw:你也可以用lvs,但是lvs转发在系统架构上引入了依赖,dr模式不能跨网段又限制了扩容,而且后端db出问题只能知道lvs的vip。

8.连接池进程会启动ping进程来监听宕机列表,如果可用会反映到get_disable_list函数的返回值上.

9.做了大量优化,虽然请求经过连接池进程转发,但是基本无qps损耗。

四.使用它

1.把pool.ini文件放到 /etc/ 并按需修改里面的配置。

2.启动代理进程

./pool_server start

支持 “start” “stop” “restart” “reload”命令

3.修改php脚本

$db = new PDO(xxxxx);

修改成 $db = new pdo_connect_pool(xxxx);//dont use persistent

$redis = new Redis();

修改成 $redis = new redis_connect_pool();//dont use pconnect

提示:尽早调用$db/$redis->release() 来释放这个进程占用的连接到池子里面;

五.API

get_disable_list($pdo_config,CP_DEFAULT_PDO_PORT);

get_disable_list($redis_conf,CP_DEFAULT_REDIS_PORT);

– 第一个参数是你的配置文件.

– 如果配置文件变了,不可用列表将会被清空

– 返回失效的数据库ip.

六.压力测试:

1.带有连接池:

php脚本如下:

$obj = new pdo_connect_pool(‘mysql:host=192.168.20.130;dbname=test1’,”admin”,”admin”);

$stmt = $obj->query(“show tables”);

$data = $stmt->fetchAll();

var_dump($data);

$obj->release();

30s完成的请求数:

数据库连接池php-cp介绍 完成了大概19w次请求

mysql服务器cpu占用:

数据库连接池php-cp介绍mysql服务器消耗52%的cpu

2.短连接压测,不带连接池

php脚本如下:

$obj = new PDO(‘mysql:host=192.168.20.130;dbname=test1’,”admin”,”admin”);

$stmt = $obj->query(“show tables”);

$data = $stmt->fetchAll();

var_dump($data);

30S完成请求:

数据库连接池php-cp介绍 完成了大概12w次请求

mysql服务器cpu占用:

数据库连接池php-cp介绍 cpu占用大概122%

可见连接池虽然经过请求转发,但是减少了建立和释放tcp的时间,总的QPS有大幅提升,同时对mysql服务器的负载有大幅降低。

以上压测机器为debian,4core机器。

七.安装:

phpize=>./configure=>make install=>echo “extensions=xx/connect_pool.so”>php.ini

需要:

PHP 5.3 +(no zts)

linux 2.6+

并且已经安装了pdo和redis扩展

 

转载于:https://www.cnblogs.com/xiaotaoing/p/6687395.html

相关文章:

  • 记录一个表,COUNT多列的写法
  • luogu P1379 八数码难题(A*算法入门详细讲解)
  • Mysql Cluster7.4.6安装与配置
  • js函数、事件、补充知识
  • IBM Lotus Domino Designer 下载安装记录
  • 《Java技术》第四次作业
  • codevs——1230 元素查找
  • 制作ecc证书(linux命令行)
  • vue-计算属性不能直接修改
  • 把握linux内核设计思想系列【转】
  • SylixOS SylixOS CAN总线驱动之三
  • Effective C++ 条款 50:了解new和delete的合理替换时机
  • tomcat之组成结构
  • 数据命脉:未来将性命攸关
  • (42)JS运动之多物体框架--多个div变宽
  • Swift iOS : plist
  • 图片水印工具类java
  • sedna进行xquery查询
  • 哥们的面试经历
  • CentOS6.8下实现配置配额
  • 为什么会找不到D层文件?
  • Eclipse导出WAR包
  • table中background背景图片自动拉伸
  • 解决 https 证书验证不通过的问题
  • asp.net页面生命周期之页面的终结阶段
  • 排序算法速度测试(插入排序、二分法插入、选择排序、快速排序、堆排序)js实现...
  • js获取页面 窗口的宽高
  • 快速实现python c扩展模块
  • 爬虫入门系列(四):HTML 文本解析库 BeautifulSoup
  • 我的博客初始“话”
  • 《树莓派Python编程入门与实战(第2版)》——2.2 使用Raspbian命令行
  • 《Linux/UNIX OpenLDAP实战指南》——1.4 OpenLDAP目录条目概述
  • 《版式设计——日本平面设计师参考手册》—第1章置入其他格式的文件
  • Andrew Ng机器学习公开课笔记 -- Generative Learning algorithms
  • 《Android游戏开发详解》——导读
  • 《Lua游戏AI开发指南》一第2章 创建并移动智能体
  • Linux有问必答:如何查看Linux上程序或进程用到的库
  • 给linux用户的11个高级MySQL数据库面试问题和答案
  • 《自己动手做交互系统》——第1章 欢迎来到有形交互的世界 1.1 项目简介和背景知识...
  • 《从Excel到R 数据分析进阶指南》一2.6 查看数据表数值
  • 《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.2 IEEE
  • 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——2.11节生产网络模拟问题2-1...
  • 试试只用U盘加载Linux系统
  • 《深入理解Android:卷III A》一一2.2Java层中的Binder分析
  • 《Python编程初学者指南》——第1章 启程:Game Over程序 1.1 剖析Game Over程序
  • (H2与HBase)面向行or面向列的存储模型?
  • 线程执行者(八)执行者周期性地运行一个任务
  • 《移动App测试实战》——1.4 本章小结
  • 大数据能消除在招聘和相关商业行为中的偏见吗?
  • easyui missingMessage
  • Go -- go语言指针
  • 使用Postman访问OAuth2保护的WebAPI
  • 段落超出,省略...
  • 《设计模式》组合模式---伊利工厂
  • hexo sever端口占用,localhost:4000无响应
  • 数据库增删改复习
  • VC6下OpenGL 开发环境的构建外加一个简单的二维网络棋盘绘制示例
  • 第一次冲刺-个人工作总结06
  • 汇编程序:成绩分段统计
  • 怎样设置才能允许外网访问MySQL
  • 对通用查询组件初始化组织过滤条件
  • 怎样提高团队管理能力7
  • GitLab non-standard SSH port
  • UTCformat 转换UTC时间并格式化成本地时间
  • 还原二叉树--根据后序中序输出先序
  • HDU 4968(杭电多校#9 1009题)Improving the GPA (瞎搞)
  • 【模板】负环(spfa)
  • springMVC3学习(十)--注解式控制器
  • 采用C#泛型实现状态(State)模式
  • 第二次项目冲刺(Beta阶段)--第五天
  • python随机生成6位数验证码
  • 转 linux shell 数组建立及使用技巧
  • 如何用 R 语言的 Shiny 库编写 web 程序
  • [Curator] Leader Latch 的使用与分析
  • C语言之浅析网络包解析
  • 工作职位推荐系统的算法与架构
  • sed用法详解(转载)
  • Android - 找到当前类的Context
  • HashMap hash 原理分析
  • iOS 获取设备的方向
  • LInux终端中Ctrl+S卡死
  • 【DevExpress】 SearchLookUpEdit
  • 原生 javascript 操作 websocket
  • 微软再次强调:爱开发 爱 Linux!
  • Node.js 8有哪些重要功能和修复?
  • ECJia 到家 v1.5.1 发布,基于 O2O 的移动电商开源系统
  • 喜欢《权利的游戏》就一定要看《代码的游戏》
  • 存储知识学习之--IP网络存储iSCSI的概念与工作原理
  • 【cluvfy】集群验证工具cluvfy使用方法——stage
  • 易进难出,“Vim 退出” 难住百万程序员
  • 2.Node.js access_token的获取、存储及更新
  • GNU glibc 爆 gethostbyname 缓冲区溢出漏洞
  • 红帽为开发订阅成员提供的免费福利
  • 甲骨文超 IBM 成全球第二大软件公司
  • 多线程下不反复读取SQL Server 表的数据
  • webpack打包非模块化js
  • HIVE json格式数据的处理
  • APP开发难吗?澳大利亚10岁儿童已开发5个手机App
  • NextApp —— 开源的手机博客 App 自动生成系统
  • dubbo-Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
  • 用 keepalived 搭建高可用集群之 IP Failover
  • 测试代码耗时的时间段(.net)
  • [LeetCode]Patching Array
  • P2835 刻录光盘
  • OSChina 周二乱弹 ——追风的少年已经阵亡
  • 《容器技术系列》一3.2 Docker Daemon的启动流程
  • Mac下关于ssh命令的简化
  • 请描述osi七层模型,并简要概括各层功能
  • 我的面试准备过程--队列与栈(更新中)
  • Ubuntu下安装uwsgi报错的解决方案
  • 雅礼集训 Day6
  • H5JS二维动画制作!two.js的基本操作class2
  • 电商购物网站 - 需求与设计
  • JavaScript开发工具大全
  • UI_UISlider控件
  • [华为机试真题][2014]63.等式变换
  • jdbc02
  • Android驱动工程师职位要求
  • Ubuntu LVM扩展LV
  • 自由测试人Jarod的一天
  • 美国科技股昨日普遍下跌:华尔街受特朗普影响抛售科技股票
  • 从项目、产品、运营型看发展
  • ADI公司完成对凌力尔特公司的收购
  • SDN最新研究进展
  • 用例设计思路 C/S测试—安装与卸载
  • SDN、NFV:一枝独秀不是春
  • 网络风险成为中国企业新挑战
  • 《Linux嵌入式实时应用开发实战(原书第3版)》—2.2 硬件需求
  • 工信部:中国4G用户量已居世界首位
  • 深入浅出数据中心里的OpenStack
  • 设计模式入门,工厂模式,c++代码实现
  • 高通“扶”大唐 狙击低端芯片玩家
  • 技术人观点:开发人员在处理云应用时该注意什么?
  • Kotlin中定义编译时常量
  • Mellanox:撑起国内超融合的网络天空
  • 关于智能家居的四大思维误区 并非你想的那样
  • 《数据科学:R语言实现》—— 第1章 R中的函数 1.1 引言
  • 《Core Data应用开发实践指南》一2.15 小结
  • 一些实用但不为人知的Unix命令
  • 宁夏打造会思考更智能新型智慧城市
  • 兰州市智能交通实现智慧城市 智能化立体车库有效缓解停车难
  • 太阳能光伏发电行业将重入佳境
  • Facebook正测试对话式的评论新界面
  • 浙江省智慧城市建设改变百姓生活
  • sql查询慢原因及优化
  • 黑客们成功地在土豆上安装了Linux!
  • AMD上线Linux专版驱动17.10:支持最新API接口
  • 云擎供应链:为中小仓库提供SaaS供应链解决方案
  • 蚂蚁金服安全应急响应中心上线
  • 东芝如何看待蓝牙在物联网热潮下的机遇
  • spin_lock浅析【转】
  • 算法笔记--带权并查集及其模板题。
  • Salesforce正面叫板微软Office:5.82亿美元收购Quip
  • 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表...
  • self-sizing cell的一个问题
  • R语言学习笔记-Error in ts(x):对象不是矩阵问题解决
  • 服务器内存太小,伤不起![异常与应用程序池引发的连锁命案]
  • 统计Linux服务器连接数
  • Oracle问题小记五:服务启动-索引-子查询-分页存储过程
  • springweb 初步理解
  • 大数据服务,至少有四点还值得存疑
  • Pure Storage到底是一家怎样的企业?
  • 企业Web应用中的敏捷测试和瀑布测试
  • 为何超四成人反感大数据应用
  • tomcat实现多端口、多域名访问(只针对一个tomcat)
  • 资金流学习 - 关注点
  • Windows NAS迁移工具
  • shell编程学习笔记之特殊变量($0、$1、$2、 $?、 $# 、$@、 $*)
  • js里面的垃圾回收
  • Spring Data JPA 介绍和使用
  • 【good】在CentOS 6.x上安装GlusterFS
  • 300多个城市加入信用城市建设,信用时代已来!
  • Helloworld之Spring依赖注入/控制反转(DI/IoC)版
  • ArcGIS 后台服务器抛出异常
  • 软件构建--系统设计
  • PHP non-thread-safe和thread-safe这两个版本的区别
  • 79.iOS 设备的UI规范和iOS各控件默认高度
  • Java 基本语法----数组
  • c# 知识点
  • HTML5初学笔记
  • android文章 - 收藏集 - 掘金
  • 第十三 关于JavaScript
  • AI时代,运维和测试岗位如何开启第二春?
  • AWS 技术峰会真的50%都是技术
  • ERROR Utils: Uncaught exception in thread stdout writer for python
  • Asp.net core WebApi 使用Swagger生成帮助页实例
  • 无法打开登录所请求的数据库 xxxx。登录失败。 用户 'NT AUTHORITY\SYSTEM' 登录失败。...
  • Tomcat + Spring MVC + HttpClient:怎样使用PUT和PATCH方法传递数据
  • DEDE中如何过滤掉Html标签,并且截取字符串长度
  • 面试感悟----一名3年工作经验的程序员应该具备的技能--读后感
  • 那些初创互联网公司CEO最常说的的谎言
  • 简析边缘数据中心技术
  • Facebook推出高速光网络技术将共享
  • Dell’Oro 5年期数据中心报告预测25G/100G端口速率市场快速上升
  • 使用Spring自定义注解实现任务路由
  • 成为高级程序员的 10 个步骤
  • Java专业人员必备工具 优缺点解析中文版
  • SAP漏洞:为什么补丁没有发挥作用?
  • Linux 用户的 3 个命令行小技巧
  • 为什么Java 8 中不再需要StringBuilder拼接字符串
  • 软件吞噬世界之前 SDS还要解决这些问题
  • CVPR 2017精彩论文解读:综合使用多形态核磁共振数据的3D生物医学图像分割方法...
  • 零基础搭建Hadoop大数据处理-初识
  • GraphQL的JavaScript实现graphql-js应用举例
  • 中国高铁走向全球,一个行业标准帮了大忙
  • [C/C++11语法]_[0基础]_[lamba 表达式介绍]
  • 云计算的三大挑战:安全性、合规性和成本控制
  • 深入了解基于容器的红帽PaaS和OpenShift
  • 别被数据分析师骗了!用数据说谎的三种办法
  • GartnerSynergy:一场IBM云业务营收引发的争议
  • Android Transition Framework详解---超炫的动画框架
  • 《算法设计与分析》一一第3章 线性表的遍历
  • hdu4757(可持久化 Trie )
  • 品牌怎么做知乎营销?
  • 【转】HBase架构解析
  • tomcat 日志catalina.out 按天自动分割 设定时任务定时清除
  • 设置mybatis 的sql 打印
  • 浅谈微服务下异常处理
  • ListView 复用学习
  • 搭建nfs共享存储服务之三客户端配置
  • git 总是要求输入密码的问题
  • iOS 取消多余tableView的横线的写法
  • man exportfs(exportfs命令中文手册)
  • 【原创】Linux下追加磁盘空间的方法
  • AIX版本降级
  • 【SAE 部署 JavaWeb 项目报 404 错误】
  • PMC 任命Edward Sharp为首席战略及技术官
  • 硅谷卖场里看家庭监控设备:Dropcam难撼传统DVR系统
  • daterangepicker日历插件使用参数注意问题
  • MySQL老是提示视图没有主键
  • 第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制...
  • AI 时代,程序员从小白到小牛的发展攻略丨今晚直播送机械键盘!
  • 原生JS实现各种经典网页特效——Banner图滚动、选项卡切换、广告弹窗等
  • LCA Tarjan
  • Codeforces 768B - Code For 1(分治思想)
  • 判断是否为一棵树的子树 Subtree of Another Tree
  • UIPickerView的使用
  • FFmpeg基础库编程开发学习笔记——视频常见格式
  • 怎样调整服务器C盘空间
  • apache基本配置
  • 在Docker和Kubernetes上运行MongoDB微服务
  • Spring: 代理模式JDK, CGlib, ASM
  • 51nod 1067 Bash游戏 V2 博弈
  • VM安装CentOS6-相关NAT上网VM-tools安装
  • Day7组合
  • Linux SMB和NFS文件共享
  • Timeline Storyteller 现已加入自定义图表库
  • 关于testNG和JUnit的对比
  • shiro之入口:EnvironmentLoaderListener
  • [洛谷1681]最大正方形II
  • 高性能迷你React框架anujs1.0.8发布
  • 团队开发时该如何同步数据库变更到本地
  • 0819 - 要想富,追新不守旧
  • Centos硬盘IO性能检测命令iostat[转]
  • codevs——1517 求一次函数解析式
  • 首份《敏捷回顾年度报告》发布
  • 智能家居如何让消费者心甘情愿地买单
  • vue $emit 父组件与子组件之间的通信(父组件向子组件传参)
  • go 基础(一)
  • 华为S9303三层交换机一次配置经历和心得
  • 【机器学习笔记之八】使用朴素贝叶斯进行文本的分类
  • 新建mavan项目转为web项目
  • Downloading Quest SQL Optimizer for Oracle
  • HTTP 请求头(首部)一览表
  • 第17章 高级数据表示 17.7 二叉搜索树(第一部分ADT 和 接口)
  • javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等...
  • 动手实现MVC: 4. AOP的设计与实现
  • 抽象数据结构-栈
  • h5 喜帖
  • Mysql高可用方案mmm
  • 【BZOJ】1690: [Usaco2007 Dec]奶牛的旅行
  • Spark Mllib里数据集如何取前M行(图文详解)
  • 初探单点登录 SSO
  • 44个基于SaaS的商业智能解决方案
  • 家政O2O要在寒冬下为用户创造体验春天
  • IDC:第三季度企业WLAN市场增长强劲
  • 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一3.3 验证XML文档
  • Linux系统Web网站目录和文件安全权限设置
  • 某IDC服务商机房宕机致银行业务中断 银监会发布风险提示
  • Hibernate_02
  • 阿里云推出香港高防IP服务 为中国企业出海安全护航
  • python 回溯法 子集树模板 系列 —— 17、找零问题
  • 微服务设计笔记——几种远程过程调用方法
  • 剑指offer03
  • 钉钉现身数博会:增长200% 年内要覆盖450万家企业组织
  • spring的AOP机制
  • 如果想成为数据科学家,请学习这3种语言
  • android 在非UI线程更新UI仍然成功原因深入剖析
  • 《数据虚拟化:商务智能系统的数据架构与管理》一 1.8 数据虚拟化的不同实现...
  • Thrift Server与Client
  • 给你的站点添加 DNS CAA 保护
  • DMTF云计算开放管理标准内容
  • OSPF计算环路:RFC:2328与RFC1583
  • hdu 6205: card card card【输入挂】
  • 四大顶级开源网络管理工具详解
  • JS获取项目目录
  • C# 获取exe、dll中的图标,支持获取256x256分辨率
  • 分享一下滑动验证码的模拟滑动攻克
  • Go Hack 2017 报名开启:十月魔都约一场 Go 语言烧脑之战
  • HTML 5 会为 Flash 和 Silverlight 送终吗?
  • 职业生涯的一点思考
  • docker深入2-API示例
  • k邻近算法应用实例(一) 改进约会网站的配对效果
  • 鸡蛋究竟宜不宜生吃——看阿里云计算怎么破?
  • Django REST框架
  • 高性能WEB开发:DOM编程
  • Kubernetes Job Controller源码分析
  • 快速部署PostgreSQL
  • android开发学习——android studio 引入第三方库的总结
  • 基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD
  • 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(二)之分库分表路由...
  • 阿里云在西雅图招人挖角 微软居多
  • 架设samba服务器
  • java提高篇(四)-----抽象类与接口
  • POJ 2287 田忌赛马 贪心算法
  • 1196971406
  • SAP 43亿美元收购Ariba 拓展云计算市场
  • 网页缓存清理
  • Ubuntu 16.04将ISO镜像写入U盘
  • Linux之 linux7防火墙基本使用及详解
  • 线性结构-实验报告
  • ZStack源码剖析之核心库鉴赏——Defer
  • Vuex的API文档
  • 基于Android的小巫新闻客户端开发系列教程
  • 2017-9-19Linux基础知识(2)
  • java编程——图片旋转
  • python笔记(求100偶数的和)
  • zabbix3.2监控linux内存
  • 【安全牛学习笔记】SSL、TLS拒绝服务***和补充概念
  • docker容器运行jar
  • ssh隧道配置
  • 使用tomcat7-maven-plugin部署Web项目
  • 如何应对企业的数字灾难
  • Swift: Swift中Selector的变化
  • tomcat中开启SSL
  • Angular4+ 页面切换 显示进度条
  • IT忍者神龟之Java动态代理与CGLib代理
  • 【spring Boot】spring boot获取资源文件的三种方式【两种情况下】
  • 文件下载及上传
  • Javascript的函数直接量定义
  • JAVA-数据库之MySQL与JDBC驱动下载与安装
  • linux下导入mysql数据库命令
  • 美国旧金山之行第三天
  • hibernate的flush()、refresh()、clear()针对一级缓存的操作的区别
  • 个人笔记------无级分类格式化
  • Swift 面向协议编程入门
  • Javadoc注释的用法
  • Facebook界面设计、网络操作系统和SNS大锅饭。
  • cmder中设置code page为utf8的方法
  • python初学小结三:文件、集合、函数、变量等
  • jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
  • 如何在没有域的环境中搭建AlwaysOn(一)
  • 一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
  • 初识 Node.js
  • Kata: 从随机的三字符列表组中恢复秘密字符串
  • Git基础入门(一)Git基础概念
  • java, android的aes等加密库
  • [译] TensorFlow 教程 #15 - 风格迁移
  • 009 HDFS的shell命令(里面有一个安全模式)
  • 关于Kafka幂等producer的讨论
  • SVN密码密文生成
  • 呦乐乐_百科讲解大全
  • Android Studio 第五十五期 - Studio3.0升级到gradle3.0.0后API失效方案
  • 在树莓派上搭建gitea
  • 有IO流
  • C# 委托和事件高级进阶
  • 外部库依赖以及 编译
  • 敏捷开发相关概念——学习笔记
  • Oracle grant connect, resource to user语句中的权限
  • 案例学习——网站高并发处理相关技术
  • [HDU3756]Dome of Circus
  • js经典试题之数组与函数
  • 【安全牛学习笔记】初识sql注入漏洞原理
  • 算法学习--链表/Hash--LRU cache
  • AJax的简单分析
  • SQL数据查询语句(一)
  • 浏览器渲染过程与性能优化
  • 第十次课:Python函数(一)
  • 【小贴士】工作中的”闭包“与事件委托的”阻止冒泡“
  • 最小编辑距离算法
  • IDDD 实现领域驱动设计-理解限界上下文
  • Socket.IO文档(1)
  • 计算出 3 至 1000 范围内最大的十个素数,放入数组中,并计算出其累加和。
  • 简单说 !![]==true 与 []==true 引发的思考
  • 关于编码儿的那些事
  • 第九章-安装RPM包或源码包
  • Python中List,tuple,Dictionary之间的区别
  • 掘金翻译计划月报 — 2017 年 10 月
  • linux 日志清理
  • 结对-贪吃蛇游戏-测试过程
  • mysql dba系统学习(15)mysql用户管理之二
  • ubuntu的apt源
  • LVM逻辑卷管理总结
  • 网管开始往ITSM迁移(第二季)
  • 将系统语言设置成英语
  • zookeeper安装和基本操作
  • T-Sql 创建全文索引
  • Excel数据透视表中的值计算
  • Veeam backup job(3)
  • 【探索PowerShell 】【二】基本操作
  • DreamWeaver CS3中的SPRY的自定义验证
  • OpenStack踩坑记录
  • Python---装饰器
  • QTP总结
  • CentOS下的sudo相关配置的总结归纳
  • 基于RabbitMQ RPC实现的主机异步管理
  • vc链接数据库和操作数据库的函数清单
  • SQL_TRACE
  • Linux 安装python 模块及库
  • java 线程安全 Lock
  • raid及mdadm命令之一(含shell显示字体颜色等)
  • 大K提醒各位常备DOS杀毒盘
  • 【No.11 默认实参的匹配】
  • Power Shell08当你远程运行powershell指令(不需要管理员权限)
  • boost shared_ptr 用法
  • 7.2 rpm介绍
  • 单元测试及最佳实践
  • 浅谈SQL SERVER的备份还原模式
  • CrazyWing:Python自动化运维开发实战 七、Python数据类型之数字
  • PostgreSQL Oracle 兼容性之 - rowid (CREATE TABLE WITH OIDS)
  • MySQL的快速修复
  • Linux Centos date使用心得
  • IIS7下MP4视频无法加载解决方法
  • Windows PowerShell初体验——.NET对象支持
  • solr4.2增量索引之同步(修改,删除,新增)
  • 数学类书籍
  • Java多线程(六)线程池
  • python时间处理,datetime中的strftime/strptime
  • 网站和搜索引擎是分工协作的伙伴关系
  • Oracle for Windows Embedded CE
  • 有些东西需要深刻理解概念才行
  • echarts 模拟迁徙
  • 各种强大的资源搜索引擎及搜索各大网盘资源的方法
  • 回发或回调参数无效
  • 删除VS工程下的临时文件
  • [android底层]jni中获取自定义的类函数编写
  • XML文件处理总结 - 1
  • 【版本控制工具】svn服务器、客户端安装配置及eclipse的svn检出
  • Oracle Study之-- enq:SQ contention等待事件
  • 详解百度地图API之地图操作
  • [编程] C语言变量和数据类型总结练习题
  • mysql导入
  • Android开发学习笔记:圆角的Button
  • UITableViewController与UIViewController中使用UITableView
  • Clean-Code: 有意义的名字
  • 实用 —— PowerCLI (二)
  • Excel单元格格式选择货币格式US$时变成US$¥
  • Linux的基本权限和特殊权限
  • kvm virtio功能配置
  • 疯狂ios讲义疯狂连载之图像控件(UIImageView)
  • 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下后篇)—减少不必要...
  • GPO 安装 .net 4.5和WMF4
  • 10.15 iptables filter表小案例;10.16—10.18 iptables nat
  • oracle VM manager 3.1 试验备忘录
  • 【码云周刊第 47 期】6个开源项目提升物联网开发效率
  • Xcode的gdb调试
  • idrac忘记密码
  • 使用源代码编译安装基于LAMP的网站架构
  • Operations Manager 2007 R2系列之单台服务器拓扑图监控
  • 矩表 - 现代数据分析中必不可少的报表工具
  • Android Studio 第五十三期 - 自定义EditText密码键盘
  • nginx的location优先级
  • Linux设备驱动程序学习 高级字符驱动程序操作[阻塞型I/O和非阻塞I/O]【转】
  • char *转为pansichar
  • delphi2010:按键 控制键 组合键的判断 响应
  • Centos 6.4 /var/log/secure 日志不记录问题
  • pfSense book Html版下载!
  • Lync 小技巧-39-批量-设置-AD-分机-手机-启用-Lync-设置-Lync-分机
  • 常用的DIV+CSS网站布局的基本框架结构-完整版
  • 跨域解决方案(一)
  • 从零开始搭建ELK+GPE监控预警系统
  • 数据库专家:MySQL分片水很深
  • 高可用Hadoop平台-应用JAR部署
  • [转]微信小程序之购物车功能
  • RegeX版本更新至2.0.0.4 加入英文语言包
  • SQLServer公历转农历函数(1900年-2049年)
  • Oracle--sqlplus如何设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置
  • Unicode -- 从code point到UTF16的计算方法
  • QA: 自闭合标签要不要手动闭合?
  • FreeMarker中获取Map内容
  • linux内存基础知识和相关调优方案
  • linux内存管理2:内存映射和需求分页(英文名字:demand Paging,又叫:缺页中断)【转】...
  • VCenter 5.5 数据库过大造成的问题和解决方法
  • 灵敏度和稳定性能兼具 新气体传感器技术适用于工业应用
  • 介绍一下python getopt 模块
  • git中clone出来项目,导入到eclipse并运行web项目
  • MySQL数据表类型及文件结构
  • 通过配置IP SLA跟踪静态路由
  • jquery ajax 向spring MVC controller中传值并接受及解析返回值
  • 垃圾回收的一行代码
  • php打印文本中随机行内容
  • 使用spring的JdbcTemplate进行查询的三种回调方式的比较
  • 神秘的Windows7 Send To
  • MySQL grant、revoke 用户权限注意事项
  • mysql:赋予用户权限、查看及修改端口号
  • 手机浏览器都是按照什么分辨率解析移动端网页的
  • Exchange 2016 之删除与恢复用户邮箱
  • 利用二层端口安全防止两个三层交换机长距离光纤线路被乱接测试
  • 嵌入式Linux内存使用与性能优化
  • 使用chkrootkit工具检查linux服务器是否被攻击