上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页
摘要: 转自:http://siteguide.jzxue.com/jianzhanjingyan/200910/08-2877.html我们知道,对于一个大型门户网站来说,可伸缩性是非常重要的,怎么样在纵向和横向有良好的可伸缩性,就需要在做架构设计的时候考虑到一个分的原则,我想在多个方面说一下怎么分:首先是横向的分:1. 大的网站化解为多个小网站:当我们一个网站有多个功能的时候,可以考虑把这个网站拆分成几个小模块,每一个模块可以是一个网站,这样的话我们到时候就可以很灵活地去把这些网站部署到不同的服务器上。2. 静态动态分离:静态文件和动态文件最好分离开成2个网站,我们知道静态网站和动态网站对服务器来 阅读全文
posted @ 2010-05-12 14:27 k1988 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.vcmy.com/article/2006-4-3/242-1.htm如要对服务器的性能进行优化,首先要了解服务器的用途和影响这类服务器性能的主要因素。一旦因素被确定,就可以有效地解决性能问题。下边讨论通用服务器类型和各类服务器性能的瓶颈。一、domain controller 域控制服务器提供认证服务,实现对网络资源进行管理,包括用户、设备、计算机。维护并实施安全策略,提供一个可靠的网络环境。具有以下的功能:1、用户认证2、资源访问认证3、安全控制例如:LDAP 和 Microsoft’s Active Directory.可能成为Windows 2003域控制器 阅读全文
posted @ 2010-05-12 14:26 k1988 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 转自:http://hi.baidu.com/jrckkyy/blog/item/e86835d61e60722506088b6a.html构造函数构造函数的主要动作就是调用CreateIoCompletionPort创建了一个初始iocp。Dispatch和post的区别Post一定是PostQueuedCompletionStatus并且在GetQueuedCompletionStatus 之后执行。Dispatch会首先检查当前thread是不是io_service.run/runonce/poll/poll_once线程,如果是,则直接运行。poll和run的区别 两者代码几乎一样,都 阅读全文
posted @ 2010-05-12 09:45 k1988 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 打开或新建一个VS2010工程项目View菜单Other windows菜单点击Property Manager弹出Property Manager框里面有Debug|Win32和Release|Win32选项这2个选项可以设置Debug和Release的工程属性设置打开其中一个双击Microsoft.Cpp.Win32.user会弹出Microsoft.Cpp.Win32.user Property Pages页面, 点击左边VC++ Directories,会出现相应得页面可以在Include Directories与Library Directories里面设置全局的头文件和库路径,保存 阅读全文
posted @ 2010-05-11 21:18 k1988 阅读(1074) 评论(0) 推荐(0) 编辑
摘要: // BoostTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#define BOOST_MEM_FN_ENABLE_STDCALL#define BOOST_MEM_FN_ENABLE_FASTCALL#include <boost/cstdint.hpp>#include <boost/bind/bind.hpp>#include <boost/asio/io_service.hpp>#include <boost/asio/strand.hpp>#include <bo 阅读全文
posted @ 2010-05-11 17:40 k1988 阅读(901) 评论(0) 推荐(0) 编辑
摘要: Email:kruglinski_at_gmail_dot_comBlog:kruglinski.blogchina.com早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载请注明出处及作者,谢谢!以一个文件传输服务端为例,在我的机器上它只起两个线程就可以为很多个个客户端同时提供文件下载服务,程序的性能会随机器内CPU个数的增加而线性增长,我尽可能做到使它清晰易懂,虽然程序很小却用到了NT 5的一些新特性,重 阅读全文
posted @ 2010-05-11 14:31 k1988 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 异步IO、APC、IO完成端口、线程池与高性能服务器转载: http://www.vchelp.net/原作者姓名 Fang(fangguicheng@21cn.com) 异步IO、APC、IO完成端口、线程池与高性能服务器之一 异步IO背景:轮询 PIO DMA 中断 早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能的迅速提高,这种效率低下的工作方式浪费了大量的CPU时间。因此,中断工作方式开始成为普遍采用的技术。这种技术使得IO设备在需要得到服务时,能够产 阅读全文
posted @ 2010-05-11 14:27 k1988 阅读(225) 评论(0) 推荐(0) 编辑
摘要: template<class Item_type, const char xml_root_name[]> class CConfigItemList{ public: CConfigItemList(){ m_xml_root_name = xml_root_name; } private: string m_xml_root_name; }extern const char hostport_root_name[];typedef CConfigItemList<string,hostport_r... 阅读全文
posted @ 2010-05-11 14:15 k1988 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://kenshinf.blog.51cto.com/1088256/252541关于记号粘贴操作符(tokenpasteoperator):##1.简单的说,“##”是一种分隔连接方式,它的作用是先分隔,然后进行强制连接。其中,分隔的作用类似于空格。我们知道在普通的宏定义中,预处理器一般把空格解释成分段标志,对于每一段和前面比较,相同的就被替换。但是这样做的结果是,被替换段之间存在一些空格。如果我们不希望出现这些空格,就可以通过添加一些##来替代空格。另外一些分隔标志是,包括操作符,比如+,-,*,/,[,],…,所以尽管下面的宏定义没有空格,但是依然表达有意义的定义:def 阅读全文
posted @ 2010-05-07 12:42 k1988 阅读(18160) 评论(0) 推荐(0) 编辑
摘要: 选项语法: ~0 - 删除任何引号("),扩充 %0 %~f0 - 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件) %~d0 - 仅将 %0 扩充到一个驱动器号 %~p0 - 仅将 %0 扩充到一个路径 %~n0 - 仅将 %0 扩充到一个文件名(“n”是name 文件名) %~x0 - 仅将 %0 扩充到一个文件扩展名 %~s0 - 扩充的路径只含有短名(“s”为Short,短的) %~a0 - 将 %0 扩充到文件的文件属性(“a”为attribute,即属性) %~t0 - 将 %0 扩充到文件的日期/时间(“t”time) %~z0 - 将 %0 扩充到文件 阅读全文
posted @ 2010-05-05 11:19 k1988 阅读(858) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页