自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

转载 Apache2 httpd.conf 配置

转载至:http://yizhu2000.cnblogs.comhttp://blog.csdn.net/yizhu2000 ## 基于 NCSA 服务的配置文件。##这是Apache服务器主要配置文件。#它包含服务器的影响服务器运行的配置指令。#参见以取得关于这些指令的详细信息##不要只是简单的阅读这些指令信息而不去理解它。#这里只是做了简单的说明,如果你没有参考在线文件,你

2013-10-12 11:04:17 1035

转载 Linux下的IO监控与分析

各种IO监视工具在Linux IO 体系结构中的位置                                 源自 Linux Performance and Tuning Guidelines.pdf1 系统级IO监控iostat  iostat -xdm 1    # 个人习惯%util         代表磁盘繁忙程度。100% 表示磁盘繁忙, 0%表示磁盘空

2013-10-11 15:56:04 1056

转载 Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

2013-10-09 09:57:47 1028

转载 解决mysql“Access denied for user 'root'@'localhost'”

# mysql -uroot -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)使用网上介绍的方法修改root用户的密码:# mysqladmin -uroot -p password 'newpassword'Enter pa

2013-10-08 18:08:09 1194

转载 修改Linux内核参数,解决TCP连接中的TIME-WAIT socket

最近网站流量有些上升,感觉到访问速度有些慢;用netstat -na命令发现系统中有大量状态为TIME-WAIT的TCP连接,google了下;修改了/etc/sysctl.conf中一些内核参数;解决了TCP连接中TIME-WAIT sockets的问题。编辑/etc/sysctl.conf文件,增加如下内容:#vi /etc/sysctl.confnet.ipv4.tcp_fi

2013-09-05 22:33:44 2927

转载 TCP和UDP协议发送数据包的大小方面的知识介绍

MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。由于以太网EthernetII最大的数据帧是15

2013-09-05 16:05:00 745

转载 linux web服务器压缩方法

Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载

2013-09-04 10:19:56 1333

转载 LibCurl编程流程

原文:http://hi.baidu.com/zhujinyu/item/1c100ae8350bcc3b87d9de64在基于LibCurl的程序里,主要采用callback function (回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时libcurl将调用用户的回调函数实现特定功能。下面是利用libcurl完成传输任务的流程:1.   

2013-09-03 16:55:06 735

转载 服务器性能评估(cpu,内存,磁盘IO)

一、影响Linux服务器性能的因素1. 操作系统级    CPU    内存    磁盘I/O带宽    网络I/O带宽        2. 程序应用级        二、系统性能评估标准         影响性能因素    影响性能因素     评判标准    好     坏     糟糕    CPU     user% + sy

2013-08-27 10:23:15 15275

转载 各种字符串Hash函数比较

常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进行了

2013-08-19 16:57:07 764

转载 常见的Hash算法

简介哈希方法学哈希函数和素数位偏向各种形式的哈希常用的哈希函数各版本哈希代码下载简介哈稀函数按照定义可以实现一个伪随机数生成器(PRNG),从这个角度可以得到一个公认的结论:哈希函数之间性能的比较可以通过比较其在伪随机生成方面的比较来衡量。一些常用的分析技术,例如泊松分布可用于分析不同的哈希函数对不同的数据的碰撞率(collision rate)。一般来说,对任意一

2013-08-19 16:51:37 1000

转载 libcurl多线程超时设置不安全

(1), 超时(timeout)libcurl 是 一个很不错的库,支持http,ftp等很多的协议。使用库最大的心得就是,不仔细看文档,仅仅看着例子就写程序,是一件危险的事情。我的程序崩溃了,我 怀疑是自己代码写的问题,后来发现是库没用对。不仔细看文档(有时候文档本身也比较差劲,这时除了看仔细外,还要多动脑子,考虑它是怎么实现的),后果很 严重。不加思索的使用别人的库或者代码,有时候很惬

2013-08-17 17:47:09 5417

转载 windows和linux中程序栈空间

一般来说,我们所用的内存有栈和堆之分,其它的我们很少控制,栈的速度快,但是空间小、不灵活;而堆的空间几乎可以满足任何要求、灵活,但是相对的速度要慢了很多,并且在VC中堆是人为控制的,new了就要delete,否则很容易产生内存泄露等问题。系统     栈的字节数    bits   digits                 以兆为单位的值Linux     8192K byte

2013-07-26 10:15:20 4357 2

转载 C、C++写二进制数据到mysql的Blob字段

引子--由于调试需要,需直接往数据库里写入二进制数据。本来这些数据是由上层软件来写的,用的是C#。为了熟悉C语言的数据库操作,还是决定用C来写这段调试代码。概况:表名:Task涉及的字段及属性:NumDest:int(11) 用于存储目标数目destIDs: blob 用于存储具体的目标ID废话不多说,入正题。--二进制数据写入--二

2013-07-10 20:21:24 3994

转载 Linux下通用线程池的创建与使用

Linux下通用线程池的创建与使用本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池目前的大多数网络服务器,包括Web

2013-07-09 11:21:36 916

转载 Epoll模型详解

Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后    首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜

2013-07-09 09:56:34 619

转载 libcurl使用例程

前段时间写了个linux下的多线程下载工具, 使用到了强大的libcurl库. 现将libcurl的使用总结如下:关于libcurl的文章网络上很多, 这里不再描述. 以下是如何使用libcurl的例子.一、常用函数    1) libcurl的全局初始化及释放     CURLcode curl_global_init(long flags)   

2013-07-03 11:57:43 994

转载 Linux hosts.allow与hosts.deny文件设置

一、概述这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:#服务进程名:主机列表:当规则匹配时可选的命令操作server_name:hosts-list[:command]/etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。如果两个文件的配置有冲突,以

2013-06-01 20:05:53 1139

转载 Linux下passwd和shadow文件内容详解

一、/etc/passwd/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式: name:password:uid:gid:comment:home:shell name 用户登录名 password 用户口令。此域中的口令是加密的,常用x表示。当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较。如果此域为空,表明该用户登录时不需要口令。

2013-06-01 19:37:42 734

转载 /usr/bin/ld: cannot find -l* 错误的解决方法

/usr/bin/ld: cannot find -l* 错误的解决方法原因:1.系统缺乏对应的库文件;2.版本不对应;3.库文件的链接错误;4.库文件路径设置问题解决办法:(原因1、2)方法一:可用yum install libtool-l*来安装yum -y install libtool-l*譬如:/usr/bin/ld: cannot fin

2013-05-31 10:20:00 7692

转载 linux编译动静态库

Linux 版本是 Red Hat 9 ,内核版本是 2.4.18输入 which gcc 查看 gcc 的位置在 /usr/bin/gccgcc -v 查看 gcc 编译前的配置信息--prefix=/usr 说明了安装目录没有 --with-headers 说明默认的 include 就在安装目录下所以 gcc 默认的 include 目录是 /usr/include ,要

2013-05-31 09:30:28 787

转载 MAKEWORD(2,2)使用

大凡在WIN32平台上的WINSOCK编程都要经过下列步骤:定义变量->获得WINDOCK版本->加载WINSOCK库->初始化->创建套接字->设置套接字选项->关闭套接字->卸载WINSOCK库->释放资源下面介绍WINSOCK C/S的建立过程:服务器 客户端________________________________________________1 初始化

2013-05-27 13:59:12 922

转载 mongoose源码解析: 外篇之web服务器

在深入Mongoose源码剖析之前,我们应该清楚web服务器是什么?它提供什么服务?怎样提供服务?使用什么协议?客户端如何唯一标识web服务器的资源?下面我们抛开Mongoose,来介绍一个web服务的这些通性。web服务器:通常是指一个计算机程序(web服务器是什么?),在World Wide Web上提供诸如web页面的服务(提供什么服务?),使用HyperText Transfer Pr

2013-05-23 09:18:54 866

原创 mysql中更新(update)blob字段

mysql_stmt_init() 通过将问号字符“?”嵌入到SQL字符串的恰当位置,应用程序可包含SQL语句中的一个或多个参数标记符。标记符仅在SQL语句中的特定位置时才是合法的。例如,它可以在INSERT语句的VALUES()列表中(为行指定列值),或与WHERE子句中某列的比较部分(用以指定比较值)。但是,对于ID(例如表名或列名),不允许使用它们,不允许指定二进制操作符(如等于号“=”)的

2013-04-19 14:47:51 13052 1

转载 mysql开发规范文档

1.mysql数据库命名规范2.表结构设计、数据类型选择3.开发注意事项   www.2cto.com  1.mysql数据库命名规范1.1 命名规范:Table/view/procedure/function/package:object类型简称+功能模块简称的小写字母+“_”+业务意义小写单词,如:主键/外键/索引:object类型简称+”_”+表名简称+字

2013-04-18 11:10:24 714

转载 c/c++ 个数据类的最大值宏定义

#include #include #include #include int main(void){clrscr();printf("char的位数:%u\n",CHAR_B99v);printf("char类型的最大值:%d\n",CHAR_MAX);printf("char类型的最小值:%d\n",CHAR_MIN);printf("signe

2013-03-26 11:50:37 4794

转载 程序员如何保持优秀

转载致:http://www.aqee.net/how-to-be-an-excellent-programmer-for-many-years/1. 小范围的选择一些有用技术,透彻的学习它们,拥抱它们。然后不断的扩展这个范围。2. 理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。3. 理解各种算法的优点和缺点。4. 了解你的工作领域。关上电脑,

2013-02-21 13:20:35 466

转载 析构函数和虚析构函数

1. 析构函数和虚析构函数      如果基类的析构函数是虚的,那么它的派生类的析构函数都是虚的       这将导致:当派生类析构的时候,它的所有的基类的析构函数都将得到调用       否则,只调用派生类的析构函数(这可能导致基类的某些对象没有得到释放)          所以CObject类的析构函数是虚的,所有由它派生的类析构的时候一级一级的进行,不会造成内存泄漏。

2013-02-21 10:37:17 1099

转载 errno值

经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。    在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量

2013-02-21 09:32:40 550

转载 Nginx虚拟主机配置教程

Web服务器主要任务就是处理来自客户端的请求,一般情况下Web服务器处理并发连接请求的工作模型有以下几种方式:1、单线程web服务器(Single-threaded web servers)此种架构方式中,web服务器一次处理一个请求,结束后读取并处理下一个请求。在某请求处理过程中,其它所有的请求将被忽略,因此,在并发请求较多的场景中将会出现严重的性能问题。(即一次只能处理一个请求

2013-02-20 18:26:49 578

转载 浅谈C语言位段

位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。     位段的定义格式为:     type  [var]: digits    其中type只能为int,unsigned int,signed int三种类型(int型能不能表示负数视编译器而定,比如V

2013-02-20 13:39:37 402

转载 Apache与Nginx的优缺点比较

1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx

2013-02-20 13:06:43 485

转载 c/c++操作mysql数据库

1.用到的数据结构#ifndef GLOBAL_H#define GLOBAL_H#include using std::string;struct Data_Param //数据库操作参数{ string db_name; //数据库名 string tab_name; //表名 string col_name; //列名

2013-02-19 12:06:30 2208

原创 c++ 中operater delete和operater new重载

如果一个类中重载了operater delete (void* pMem)和 operater new(size_t nSize) 函数如: static void* operator new(size_t, void* pMem); static void operator delete(void*, void* pMem);同时则一定要定义如下的operator delete函

2013-02-01 11:44:06 1272

原创 关于c++的多态

c++多态分为两种:1.静态多态(静态绑定): 绑定发生在编译期.如函数重载--------两个函数名称一样,参数类型或个数不完全相同,函数的返回类型可以不一样.2.动态多态(动态绑定): 绑定发生在运行期.        动多态则是通过继承、虚函数(virtual)、指针(应用)来实现.例子1.#include #include #include class A

2013-01-14 14:39:43 518

转载 C++: 静态成员和子继承

Meyers在条款7中给出了一个用于实现 "class   专属的new-handlers ",用class   X实现了一个 用template和inheritance实现了一个,在template版本中,Meyers解释说: 之所以使用inheritance是为了使derived   class   也具有这种能力(class   专属的new-handlers)。 而之所以使用t

2013-01-10 14:30:19 832

转载 linux下进程的最大线程数、进程最大数、进程打开的文件数

linux 系统中单个进程的最大线程数有其最大的限制 PTHREAD_THREADS_MAX这个限制可以在 /usr/include/bits/local_lim.h 中查看对 linuxthreads 这个值一般是 1024,对于 nptl 则没有硬性的限制,仅仅受限于系统的资源这个系统的资源主要就是线程的 stack 所占用的内存,用 ulimit -s 可以查看默认的

2012-12-22 17:22:05 653

转载 Linux内存点滴 用户进程内存空间

http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770 经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。VIRT , Virtual Image (kb)RES, Resident size (kb)SHR, Shared Mem size (kb)%MEM,

2012-12-22 16:37:09 556

转载 new和delete的使用

总结C++中三种关于"new"的使用方法虽然有三种new的用法,但是分为两大类也未尝不可,那么是哪两类呢?其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:string* ps = new string("abc");上面这个new表达式

2012-12-22 15:55:42 491

转载 MYSQL中TIMESTAMP类型的默认值

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。1、自动UPDATE 和INSERT 到当前的时间:表:———————————Table   Create Table                                                                        —————————————————————————

2012-11-29 14:26:11 1486

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除