加载中…
个人资料
手香的不得了
手香的不得了
  • 博客等级:
  • 博客积分:0
  • 博客访问:81,381
  • 关注人气:9
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
好友
加载中…
博文
标签:

it

分类: C/C++

assign成员函数:

re.assign(re2)   复制一个正则式

re.assign(str)   正则式为str

re.assign(str, flag)  正则式为str,使用flag语法选项,flag是一组常量的组合。

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: C/C++

http://dozb.bokee.com/1976532.html

模板类:

l         basic_regex          用来保存一个“正则表达式”的类。

l

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-12-04 19:56)
标签:

it

分类: C/C++
单键模式保证一个类只有一个实例!
实现的方法一般如下:
1,私有化所有构造函数,禁止外部随意构造对象;
2,实现该类的唯一对象,并使该类的使用者通过某种方法访问该对象。

遵循这种思想,我想到一个最简单的实现,便是定义该类的一个public的静态数据成员供外部使用即可。
class Singleton
{
private:
    // 所有构造函数
public:
    static Singleton ms_Instance;
    ....
};
但 是仔细一想,该方法有问题。C++中非局部静态对象的构造时机不能确定,如果在该对象尚未构造时使用该对象就会出问题;再者该静态数据成员可能会在 main函数之前并已经初始化,但是该对象使用的某些数据可能要等到程序进入main函数中才会有效,这样该对象构造可能失败。因此,该方法不能使用。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: 网络服务

lighttpd

在error.log看到“(mod_fastcgi.c.2866) backend is overloaded, we disable it for a 2 seconds and send the request to another backend instead: reconnects: 3 load: 4147 /tmp/php.socket”时,说明lighttpd+fastcgi的load较高了。

可按如下步骤优化:

1) 首先检查swap使用情况。如果使用了swap,一般说明php进程数偏多,适当减少php进程。调整max-procs和 PHP_FCGI_CHILDREN的数值,根据公式num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ),启动时php5进程大概占13M内存,如果num-procs超过200,高峰期php就会占去2G内存,不大合适

2) 安装PHP加速软件。有XCache, eAccelerator和Zend Optimizer。推荐公开源代码的XCache, eAccelerator

3) 调整Keep Alive参数。对于动态程序来说,Keep Alive的意义不大,可以关闭。
server.max-keep-alive-requests = 0

4) 优化程序代码。呵呵,一般也是最有效的;)

CODE: 
#### fastcgi module
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-11-25 23:09)
标签:

it

分类: 网络服务

一,为什么要使用lighttpd?
    apache不可以吗?
    在支持纯静态的对象时,比如图片,文件等 ,
    lighttpd速度更快,更理想
    至于它和apache的比较,很多文档,大家可以google一下

二,从何处下载lighttpd?
    http://www.lighttpd.net/download/
    这个是它的官方站

三,如何安装?
    1,编译安装
      ./configure --prefix=/usr/local/lighttpd
      make
      make install

configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: 网络服务
############ Options you really have to take care of ####################

## modules to load
# at least mod_access and mod_accesslog should be loaded
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
server.modules              = (
                              'mod_rewrite',
                              'mod_redirect',
                              'mod_alias',
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: 网络服务
1、首先说什么是文件描述符,它有什么作用?
文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。Unix 操作系统通常给每个进程能打开的文件数量强加一个限制。更甚的是,unix 通常有一个系统级的限制。

因 为squid 的工作方式,文件描述符的限制可能会极大的影响性能。当squid 用完所有的文件描述符后,它不能接收用户新的连接。也就是说,用完文件描述符导致拒绝服务。直到一部分当前请求完成,相应的文件和socket 被关闭,squid 不能接收新请求。当squid发现文件描述符短缺时,它会发布警告。

在运行./configure 之前,检查你的系统的文件描述符限制是否合适,能给你避免一些麻烦。大多数情况下,1024 个文件描述符足够了。非常忙的cache可能需要4096或更多。在配置文件描述符限制时,我推荐设置系统级限制的数量为每个进程限制的2 倍。
2、怎么突破,具体方法?
先查看LINUX默认的文件描述符:
# ulimit -n
1024
我们用命令
ulimit -HSn 65536
来增大文件描述符,然后编译安装squid,
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: 网络服务

文件描述符的限制

当使用了很多虚拟主机,而每个主机又使用了不同的日志文件时, Apache可能会遭遇耗尽文件描述符(有时也称为file handles) 的困境。 Apache使用的文件描述符总数如下:每个不同的错误日志文件一个、 每个其他日志文件指令一个、再加10-20个作为内部使用。 Unix操作系统限制了每个进程可以使用的文件描述符数量。 典型上限是64个,但可以进行扩充,直至到达一个很大的硬限制为止(a large hard-limit)。

尽管Apache会试着增大限制,但如果发生以下情况,则这个机制无法起作用:

  1. 您的操作系统没有提供setrlimit()这个系统调用。
  2. setrlimit(RLIMIT_NOFILE)调用无法在您的系统上正常工作(比如Solaris 2.3)
  3. 文件描述符的需求量已经超出了硬件的限制。
  4. 您的操作系统对文件描述符作出了其他限制。 比如说限制了stdio流只能使用256以下的文件描述符。(Solaris 2)

如果遇到了这样的问题,您可以这样解决:

  • 减少日志文件的数量。不在
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

分类: C/C++
虚函数和纯虚函数 

在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现 了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说, 它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 

那么,什么是虚函数呢,我们先来看看微软的解释: 

虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。 

——摘自MSDN 

这个定义说得不是很明白。MSDN中还给出了一个例子,但是它的例子也并不能很好的说明问题。我们自己编写这样一个例子: 

#i nclude 'stdio.h' 
#i nclude 'conio.h' 

class Parent 



public: 
     char data[20]; 


     void Function1();&nb

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-11-10 17:53)
标签:

it

分类: phthon
Python线程编程(一)线程对象



我们在做软件开发的时候很多要用到多线程技术。例如如果做一个下载软件象flashget就要用到、象在线视频工具realplayer也要用到因为要同时下载media stream还要播放。其实例子是很多的。

线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多相同的资源。

python中如何创建一个线程对象

如果你要创建一个线程对象,很简单,只要你的类继承threading.Thread,然后在__init__里首先调用threading.Thread__init__方法即可

import threading
class mythread(threading.Thread):
def __init__(self, threadname):
threading.Thread.__init__(self, name = threadname)
....

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有