凌华 的个人资料张凌华照片日志列表更多 工具 帮助

日志


11月27日

Google Android会成为手机领域的微软Windows吗?

Google gPhone手机的传言已经沸沸扬扬好几个月了,然而就像Google其他产品那样出人意料,当Android轰轰烈烈推出的时候,原来并非手机产品,而是手机操作系统。Google对无线互联网市场垂涎已久,这已经是尽人皆知的事情。在公众场合,无论是Google全球CEO艾里克施密特博士,还是在中国媒体面前的李开复博士,都毫不掩饰Google对于无线互联网市场的向往。Android的推出就像Google在无线互联网市场亮出的一把利剑,已经是司马昭之心,路人皆知。

Google Android动了谁的奶酪?是Apple,还是微软?Apple刚刚发布了划时代的iPhone手机,而微软已经在手机操作系统领域耕耘了很多年。大家可能忽略了一个简单的事实:Google全球CEO艾里克施密特是Apple公司的董事会成员,Google Android实际上也避开了和iPhone的竞争关系。

互联网时代奇迹般崛起的Google,已经成为微软的心腹大患。然而不论GoogleOS的谣言传得多么活灵活现,业界多么意淫Google直接挑战微软Windows操作系统,然而Google从来都是按兵不动。Google看得很清楚,桌面操作系统时代快要结束了,现在是掌上操作系统时代登场了,谁能够先一步占领消费者的手掌,谁才是真正的赢家。这一次,Google终于亮剑了,亮出来的绝对是一把无坚不摧的利剑 - Android。

Android对于Google未来的无线互联网战略为什么那样重要?Android比其他手机操作系统有什么更牛的地方?

一、Android是开源的

开源社区对于软件行业的推动力已经没有人可以否认了,纵观整个手机操作系统产品,也只有Android的开源力度是如此之大,之强。

二、Android不单纯只是操作系统
android-system
Android不只是一个操作系统而已,它包括了:

1、经过Google剪裁和调优的Linux Kernel,对于掌上设备的硬件提供了优秀的支持。Google在Linux方面的应用能力不容置疑,Google公司所有的几十万台服务器全部都是自己修改过的Linux操作系统。

2、经过Google修改的Java虚拟机Dalvik,请注意这个虚拟机并不是Sun的Hotspot,而是基于Apache Harmony虚拟机版本进行改良而来,能够提供比Hotspot高得多的执行性能。有了Java虚拟机,大部分Java核心类库都已经可以直接运行。

3、大量立即可用的类库和应用软件,例如浏览器WebKit,数据库SQLite,让你可用轻易开发出来媲美桌面应用复杂度的手机软件。

4、Google已经开发好的大量现成的应用软件,同时可以直接使用Google很多的在线服务。

5、Google提供了基于Eclipse的完整开发环境,模拟器,文档,帮助,示例,当然,还有悬赏1000万美元的花红。

三、围绕Android形成了一个移动手机联盟,主要的手机厂商几乎全部在列,对于已经形成的一个庞大的产业联盟的推动力来说,影响力是非常惊人的。

事实上,通过Android战略,Google已经开始抢占未来互联网领域的制高点。对于我们程序员来说,有几个非常值得关心的问题:

一、Android是用Java来开发应用的
对于Java程序员,没有比这更令人开心的事情了。的确是这样,打开你的Eclipse,安装上插件,你现在就可以利用你所有的Java编程经验开发Android应用,而这项应用将在未来几年之后可以运行在绝大部分智能手机之上。Java屹立不倒

二、Java ME前景如何?
事实上,Android是在继续JavaME未竟的事业。JavaME提供了统一的编程平台,但是JavaME不能调用操作系统资源,也没有提供诸多的应用工具,最终JavaME处在一个非常尴尬的位置上。而Android往下直达操作系统内核,往上直通现成的应用软件,例如联系人,日历,地图,浏览器,Android就是手机应用的未来。

三、我应该现在开始学习Android吗?
如果你已经是一个熟练的Java程序员,那么你唯一需要做的就是熟悉一下Android类库而已,

无线互联网已经成为未来时代争夺的制高点,Apple iPhone上市,紧接着Google Android一出,你会发现很多传统的无线互联网技术,例如Java ME,WAP,都将成为过眼云烟,而站在未来时代最前沿的是Google和Apple两个身影。

10月27日

J2ME还没有死 !

最近看到一则不错的消息:

Sun决定将移动版Java逐渐转向Java标准版(新闻回顾:Sun力推Java标准版 手机移动版Java将逐步退出)。Java之父,Sun副总裁James Gosling说,“曾经主要在台式机上流行的Java标准版(SE)会逐渐取代Java微型版(ME),将更多计算能力带进小型设备中。”

为此国外的一位Java开发者Bill Ray在博客中以《Gosling欲痛打J2ME落水狗》为题写道,“Java之父James Gosling规划了JavaFX Mobile的未来蓝图,然而J2ME根本不在未来计划之内,所以这一micro版本将在下个十年消失。……”
Gosling在获悉这番内容后在自己博客中“厉声”回应道:JavaME没有死!
在博客中,Gosling写道,“有些人们非常愿意曲解我的话语并将这说成是我的话。最早的JavaME非常简单和有限,直接反应了当时手机的简单和有限:我们不得不根据现有的硬件来开发软件。随着时间的推移,手机变得越来越强大,JavaME也伴之不断成长。手机正变成新的桌面,我们也一直关注着这点。所以很明显JavaME和JavaSE将整合并难以区分(指差别小)。有两条路:JavaSE拥有丰富和成熟的图形API,JavaME在这方面发展;JavaME拥有location API(GPS),有人认为这应当在JavaSE中得到呈现。”
“这是一个前进发展的过程,而不是‘抛弃旧的,留下新的’。”

 

Gosling原文:

JavaME is *not* dead!

It's growing up. Sheesh. Some folks are far too eager to misinterpret statements and put words in my mouth. The early versions of JavaME were very simple and limited, a direct reflection of the fact that early phones themselves were simple and limited: we had to work with what we had. But as time has passed, and cell phones have become more powerful and capable, JavaME has grown up too. Cell phones are becoming the new desktop. We've been saying this for years. Over time, it's pretty clear that JavaME and JavaSE will converge and become largely indistinguishable. It goes both ways: JavaSE has a much more sophisticated graphics API, and JavaME is growing there. JavaME has a location API (GPS) and one could easily make the argument that it should be available in JavaSE.

This is a process of evolution, not "out with the old, in with the new".

看来,在未来,移动真的是在我们生活中的方方面面承载着各种各样的运算需求啊。尽管我靠着J2ME吃了很多年饭 ,不过我也很期待尽快在移动设备上用上J2EE:)

10月26日

今日无意中发现的好站点,专门下载开发相关的电子书籍

今日无意中发现的,推荐一下 。上面的书籍实效性很强,很多都是新书,和英文原版书 。

名字有点儿意思:偶要雷锋

http://www.51leifeng.net/index.php

这个网站我已经收藏了。并且一次性从上面的java专区下了十几本目前想看的书 。

10月19日

今日为河南移动做的需求培训完成了

经过4天的持续 , 今日为河南移动做的需求培训完成了 。 又解决了一件事情,开始下一件事情的处理 。 同时办4件事情确实一点儿不敢疏忽 ,环环相扣,紧密相联。合理的安排自己的时间就非常重要了 。

这次主要是为全省的移动信息管理员在日常工作中的需求分析提供帮助 。 自认为很多东西是讲明白了 。 至于效果如何,就看他们是否有改善的认知了 。 相信,会为统一他们的过程作些帮助 。

培训内容放到服务器上供下载,包括:讲义 , 案例 , 软件 , 视频 等4个部分 。

服务器专题地址

上几张休息的时候用手机拍下的培训大厅:

DSC00107 DSC00109

DSC00108

3月3日

达到6sigma水平的印度孟买送餐业

这是一个很简单的行业,从业者都是小学文化程度。但以99.999999%的精确性,它入选了《吉尼斯世界记录》;年收益高达1.8亿卢比,它成为许多经济管理学院研究、讨论的案例。
拉姆是印度孟买市政府的一名打字员。市政府位于繁华都市的中心地带,拉姆的家却位于30公里外的孟买郊区。但是,空间上的距离并不妨碍拉姆在工作日的中午吃到妻子为他精心准备的美味午餐,其中自然少不了他最喜爱的咖喱羊肉和黄豆汤。
    这一切都得益于孟买拥有一个独特的速递网络,专门提供从顾客家到顾客指定地点的送餐服务。
从事这一行业的人员被称做“达巴瓦拉”,“达巴”在印地语中是“饭盒”、“小桶”的意思,“瓦拉”指某类人,合在一起就是送盒饭的人。达巴瓦拉在送餐时都穿着印度传统的白色长袍,头戴船形小白帽。每到中午时分,在孟买城区纵横交错的大街小巷穿梭的达巴瓦拉,是孟买一道独特的风景。
    拉姆的午餐经五道手送达
    在孟买,目前约有5000名达巴瓦拉,要为20万像拉姆那样的顾客送餐。达巴瓦拉同属于“孟买盒饭供应者协会”,相互之间有明确的分工和协作,他们是一个有机的整体,绝不会单打独斗。拉姆的午餐从家到办公室要经过五道达巴瓦拉的转手。
    拉姆一般早晨7点离家上班,妻子一定要在10点钟之前准备好他的午餐并把它放进餐盒里。餐盒是铝制的,长圆筒形,分里外两层。外面一层起到保温和固定作用,里面一层由4个小碗罗列而成,分别盛着主食、菜和甜点。
    这种餐盒是印度最常见的。餐盒上标有一些数字和字母,表明它来自何方、将要前往何地。外人对此一头雾水,达巴瓦拉却烂熟于胸。牢记标志含义是达巴瓦拉入行的基本功,也是保证送餐顺利的前提。10点钟,一个达巴瓦拉会准时赶到拉姆家。他取过餐盒,然后飞奔前往下一个顾客家。一个达巴瓦拉一般要负责30~35名顾客,取餐顺序都经过详细考虑,他的交通工具以自行车为主。10点半左右,从拉姆家取餐的那个达巴瓦拉赶到距离最近的一个城郊火车站,将收集来的餐盒交给在那里等候的达巴瓦拉。在火车站有人专门按照目的地迅速将餐盒进行分拣、归类,并由另一拨达巴瓦拉负责将盒饭带上火车。
    达巴瓦拉装盒饭的工具一般是一个2.5米长、85公分宽的木条箱,每个能装40盒左右。达巴瓦拉要头顶这个沉重的木条箱,在旅客中快速穿行并安全地登上列车。火车在一个站的停留时间是两分钟,所以达巴瓦拉必须动作敏捷、争分夺秒。10:40至11:30,是20万餐盒乘火车旅行的时间,拉姆的餐盒也在其中。
    与此同时,在城区各个火车站站台上,早有另一批达巴瓦拉在等候。火车到站后,他们从同伴手中接过餐盒,再次按区域分拣,落实到每个达巴瓦拉头上。这些达巴瓦拉会把餐盒送到顾客指定的地点。
    拉姆要求把餐盒放到单位门房,所以他与达巴瓦拉从不见面。但是,只要拉姆12:30以后来到门房,自己的饭盒总是在那里等着,从不爽约。吃过饭,拉姆只要将餐盒放回原处,达巴瓦拉就会按照来时的方法将它运抵家中。在返程中,由于没有强烈的时间压力,达巴瓦拉会心情放松而愉快,经常哼哼家乡小调或与同伴开开玩笑。
孟买达巴瓦拉的历史可追溯到19世纪90年代。那时孟买处于发展初期,外地移民刚开始涌入。移民们来自印度各地,饮食习惯差别很大,比如南印度人要吃南印度饭,旁遮普人要吃旁遮普饭,众口难调。另外,印度人对饮食还有着诸多禁忌,常常与宗教和种姓连在一起。所以,大多数移民都希望能在工作一上午后吃上自己家里做的可口饭菜。
    这种需求导致送餐业的产生和达巴瓦拉的日渐繁荣。在自然竞争和淘汰中,来自孟买附近普纳地区的人主宰了这一市场。目前,绝大多数达巴瓦拉来自普纳,他们不是亲戚就是同乡,有共同的风俗习惯,信奉同一个神。当有空位出现时,总是由年长者推荐一名他在老家的亲戚。这种人际关系使达巴瓦拉有高度的认同感和归属感,非常抱团,外人很难涉足。
    达巴瓦拉的组织结构分为三层。最高层是协会执行委员会,负责组织、协调、处理紧急事务、福利和对外交往。第二层是协会内20~25个达巴瓦拉小组的负责人。他们一般是经验丰富的老达巴瓦拉,监管一个小组的工作运行。第三层就是具体干活的达巴瓦拉。
    达巴瓦拉与协会不是雇佣与被雇佣关系,而是成员关系。每个达巴瓦拉都是股东,都享有分红的权利。他们在加入协会时都必须交纳一定的资本金。最低投资要求是两辆自行车、一个木条箱、一套白色传统服装和一顶标志性的帽子,这几项约合5000卢比(5卢比约合1元人民币)。
    达巴瓦拉的工作是艰辛的,不仅需要体力,还必须与时间赛跑。他们的行规就是:无论发生什么,必须准时送达。几个月前,印度媒体曾报道过这样一件事:一个骑自行车送餐的达巴瓦拉在路口等红灯时被一违规卡车撞倒身亡。同伴们赶到后,有人处理善后事宜,有人立即继续他未完的工作。当盒饭到达目的地时,只比平时晚了30分钟。
    达巴瓦拉的文化程度都不高,一般是小学毕业。他们的月收入为4000~5000卢比,这个水平已足够他们养家糊口。此外,协会还提供紧急援助、子女就学等福利。
    成为孟买标志,与“宝莱坞”齐名
    百年来,达巴瓦拉与孟买共同发展,已成为孟买的标志之一,与“宝莱坞”、“孟买证交所”、“舞吧”齐名。跟印度人提达巴瓦拉,他们马上想到孟买。
    梅吉是孟买盒饭供应者协会负责人,他认为孟买独特的地理条件是达巴瓦拉成功的根基。孟买曾是海上的7个小岛,18世纪英国人开始了长达百年的填海造地。19世纪,7个海岛终于被连成一体并与大陆相通,形成今天孟买的主体。这一历史进程,使孟买最终成为一个狭长的城市,而且在以后的发展中孟买又基本形成了北部是居住区、南部是办公、商业区的格局。这两个地理特点大大方便了达巴瓦拉的送餐工作。
    据梅吉透露,几年前他们曾尝试把类似的服务推广到新德里,但遭到惨败。一个重要原因是新德里是一个圆形分布的城市,线路规划复杂,成本太高。
    在梅吉看来,孟买快速、准时且便宜的城郊铁路系统是送餐业的大动脉,提供了可靠的交通保障。孟买城郊铁路系统全长303公里,分西线和中线,把孟买的主要地区全部串连起来。这使达巴瓦拉能以各个火车站为餐盒集散地,对广阔地区形成辐射。据统计,达巴瓦拉在孟买的覆盖范围达六七十平方公里。另外,负责在火车上运送盒饭的达巴瓦拉每月的运输费只有200卢比,成本非常低。
    孟买是印度第一大城市,拥有1500万人口,是印度“商业和金融中心”。孟买是印度白领和小职员最集中的地方,这为达巴瓦拉扩展生意提供了充足的客源。白领和小职员是对价格非常敏感的阶层。他们如果每天中午到附近餐厅吃饭,花费就会翻好几倍,卫生质量还难以保障。要是通过达巴瓦拉送餐,每月只需付出300卢比左右,价格优势显而易见,而且干净、营养、味道好。
    成为经济学院研究案例
    达巴瓦拉辛勤而有创造性的耕耘,使孟买午餐配送成为一桩大生意,年收益高达1.8亿卢比。尤令人惊叹的是,文化程度很低的达巴瓦拉在高速运转中把差错率保持在八百万分之一,达到质量保证体系西格马6级标准,即送餐准确性为99.999999%。而这一切的取得没有依靠任何先进技术,只是凭着一套简单符号和达巴瓦拉的细致与相互间的密切合作。
    达巴瓦拉取得的成就引起媒体广泛关注。BBC、德国之声等国际大媒体为达巴瓦拉制作了专题片,使达巴瓦拉的名声传到海外。英国查尔斯王子2003年11月访印期间,特意看望了达巴瓦拉,详细了解他们的运作方式,对他们的效率赞不绝口。2005年4月,达巴瓦拉的4名代表还应邀参加了查尔斯王子的婚礼。目前,孟买午餐配送已被列入《吉尼斯世界记录》,并成为许多经济管理学院研究、讨论的案例。孟买盒饭供应者协会的负责人还多次应邀参加商业研讨会,介绍他们独特的经营管理经验。
    为更好地为顾客服务,孟买盒饭供应者协会建立了网站,开辟了新的沟通平台。顾客通过邮件或手机短信就可预订服务。协会负责人表示,他们要在推广、营销上与时俱进,采用新技术。但是,在核心业务和管理上将保持自己的传统,使达巴瓦拉的魅力长久存在
2月7日

说说大型高并发高负载网站的系统架构 (转)

我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可以和大家一起探讨一下。


一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。

大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。

上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。

1、HTML静态化
其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。

除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。

同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。

2、图片服务器分离
大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服务器,甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率。

3、数据库集群和库表散列
大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列。

在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可。

上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。

4、缓存
缓存一词搞技术的都接触过,很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。
架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。
网站程序开发方面的缓存,Linux上提供的Memory Cache是常用的缓存接口,可以在web开发中使用,比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享,一些大型社区使用了这样的架构。另外,在使用web语言开发的时候,各种语言基本都有自己的缓存模块和方法,PHP有Pear的Cache模块,Java就更多了,.net不是很熟悉,相信也肯定有。

5、镜像
镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。

6、负载均衡
负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。
负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考。
硬件四层交换
第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。 第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。
在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。

软件四层交换
大家知道了硬件四层交换机的原理后,基于OSI模型来实现的软件四层交换也就应运而生,这样的解决方案实现的原理一致,不过性能稍差。但是满足一定量的压力还是游刃有余的,有人说软件实现方式其实更灵活,处理能力完全看你配置的熟悉能力。
软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。

一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。这样的架构我准备空了专门详细整理一下和大家探讨。

对于大型网站来说,前面提到的每个方法可能都会被同时使用到,我这里介绍得比较浅显,具体实现过程中很多细节还需要大家慢慢熟悉和体会,有时一个很小的squid参数或者apache参数设置,对于系统性能的影响就会很大,希望大家一起讨论,达到抛砖引玉之效。
2月6日

Windows Server 2003 性能调整指南

摘要

本文介绍了有助于提高Microsoft® Windows  Server™ 2003 系统性能表现的重要参数和设置。文章对每一种设置及其可能具有的效果进行了描述,帮助用户根据自己的系统、工作负载和性能目标做出明智的决策。

本文档所包含的信息代表了在发布之日,Microsoft Corporation 对所讨论问题的当前看法。因为 Microsoft 必须顺应不断变化的市场条件,故该文档不应理解为 Microsoft 一方的承诺,Microsoft 不保证所给信息在发布之日以后的准确性。

本文档仅供参考。对本文档中的信息,MICROSOFT 不做任何明示、默示或法定的保证。

遵守所有适用的版权法律是用户的责任。在不对版权法所规定的权利加以限制的情况下,如未得到 Microsoft Corporation明确的书面许可,不得为任何目的、以任何形式或手段(电子的、机械的、影印、录制等等)复制、传播本文的任何部分,也不得将其存储或引入到检索系统中。

Microsoft 可能拥有本文档主题涉及到的专利、专利申请、商标、版权或其他知识产权。除非在 Microsoft 的任何书面许可协议中明确表述,否则获得本文档不代表您将同时获得这些专利、商标、版权或其它知识产权的许可证。

© 2003 Microsoft Corporation. 保留所有权利。

Microsoft、Active Directory、Windows 和 Windows Server 是 Microsoft Corporation 在美国和/或其它国家或地区的注册商标或商标。

此处提到的实际公司和产品名称可能是其各自所有者的商标。

目 录

选择网络适配器

· WHQL 认证

· 卸载能力

· 中断调解

· 64位功能

· 铜缆和光纤网络适配器

· 双端口或4端口的网络适配器

调整网络适配器

· 启用卸载特性

· 网络适配器资源

· 中断调解

TCP 参数

选择存储系统

· WHQL 认证

· 减少待存储数据的数量

· 存储阵列的选择

· HW RAID 的级别

· 选择RAID 级别

· 确定卷的布局

· 中断调解

与存储有关的参数

· CountOperations

· NumberOfRequests

· DontVerifyRandomDrivers

选择正确的高性能硬件

操作系统最佳实践

IIS 6.0 优化

内核模式的调整

· 缓存管理设置

· 请求和连接管理设置

用户模式设置

· IIS 注册表设置

· IIS Metabase

· IIS 工作进程选项(IIS Admin UI、应用程序池属性)

· 安全套接字层的调整参数

· ISAPI

· 托管代码调整参数

· 影响IIS性能的其他问题

· NTFS 文件系统设置

· Tcpip.sys 的IIS性能设置

· IIS的网络适配器调整和绑定

一般考虑事项

服务器消息块服务器模型

文件服务器的常规调整参数

· PagedPoolSize

· NtfsDisable8dot3NameCreation

· Disablelastaccess

· NumTcbTablePartitions

· TcpAckFrequency

中断关联

客户端计算机的常规调整参数

· DormantFileLimit

· ScavengerTimeLimit

· DisableByteRangeLockingOnReadOnlyFiles

· TcpAckFrequency

对 Boot.ini 文件使用 /3GB 开关参数

关闭签名和密封功能

· Windows Server 2003面向 NetBench 的注册表调整参数

· 客户端计算机上面向 NetBench 的注册表调整参数

· 添加针对描述属性的索引(服务器)

· 关闭磁盘碎片自动整理程序

· 在 TCP/IP 增加 MaxUserPorts 和 TcpWindowSize

针对 NTttcp 的调整

· 网络适配器

· TCP

针对Chariot 的调整

 

介绍

对于用户现有的大多数工作,Microsoft® Windows  Server™ 2003 应该都能够运行自如。但是,我们还可以调整服务器设置并获得更好的性能表现,尤其是在工作负载的性质不会随同时间推移而不断变化的时候。

大多数的有效调整都应该考虑到硬件、工作负载以及性能目标这些因素。本文介绍了有助于提高性能的重要调整参数和设置。并且介绍了每一种设置以及它的潜在功效,帮助用户根据自己的系统、工作负载和性能目标做出明智的决策。

说明:Microsoft Windows® 2000 Server  和 Windows Server 2003的注册表设置和调整参数可能存在较大差异。在调校服务器时请务必牢记:使用早期或过时的调整指南可能会得到意料之外的结果。

此外,在直接操作注册表时请总是谨慎行事。如果必须编辑注册表,请首先进行备份。

网络的性能调整

网络体系结构包括许多组件、接口和协议;图1描述了其中的部分内容。本节以下部分将针对服务器负载,对部分组件的优化调整加以讨论。


图 1  网络栈的组件

网络体系结构由多个层组成,这些层可以被大致划分为:

· 网络驱动程序和NDIS这些是处于最底部的层。NDIS将它下方的驱动程序接口暴露它上方的层;例如:TCP/IP。

· 协议栈。此层实现了诸如TCP/IP 和 UDP/IP 这样的协议。这些层向位于它们上方的层暴露了TDI接口。

· 系统驱动程序。属于典型的TDI客户端,用来向用户模式的应用程序暴露接口。WinSock接口由Afd.sys加以暴露。

· 用户模式的应用程序。

耗费大量网络资源的工组负载的调整工作涉及所有层的调整。下面介绍了其中的部分工作。

选择网络适配器

网络密集型的应用程序需要高性能的网络适配器。本节内容介绍了选择网络适配器时的一些注意事项。

WHQL 认证

选择通过了Microsoft Windows Hardware Quality Labs(WHQL)认证的网络适配器。

卸载能力

卸载有助于降低服务器CPU的使用率,从而提高系统的整体性能。Microsoft TCP/IP 传输可以让具有相应任务卸载能力的网络适配器卸载以下的一项或多项任务:

· 校验和任务。TCP/IP 传输可以在发送和接收时卸载IP和TCP校验和的计算和验证工作。

· IP 安全性任务。TCP/IP 传输可以卸载身份验证标头(AH)和ESP(封装安全性负载)的已加密校验和的计算和验证工作。TCP/IP传输还可以卸载ESP负载的加密和解密工作。

· 大型TCP 数据包的分段。TCP/IP 传输支持大型发送卸载(LSO)。利用LSO,TCP/IP传输可以卸载大型TCP数据包的分段工作。

· 堆栈卸载。整个网络堆栈可以被卸载到具有相应能力的网络适配器上。

中断调解

某些网络适配器可以降低向处理器发出中断的频率,这些中断表明适配器上启动(或完成)了某个网络操作。某些网络适配器还能够将网络和主机处理器的负载考虑在内,以一种自适应的方式做出上述决定。减缓中断的发生频率通常可以降低主机CPU的负载,但是除非能够以一种智能和自适应的方式执行中断调解,否则在CPU方面的性能节省将以网络延迟的增加作为代价。

64位功能

具有64位能力的网络适配器可以对大容量物理内存地址(4GB以上)执行直接内存访问(DMA)操作。

铜缆和光纤网络适配器

使用铜缆的网络适配器和使用光纤的适配器具有同样的性能,但是在价格上要便宜一些。铜缆网络适配器上的收发器的价格也要更低一些。

双端口或4端口的网络适配器

这些网络适配器对于故障转移应用来说非常适宜,但是网络适配器上的所有端口都共享同一个中断。通常,对于同样的工作负载,使用两块单端口的网络适配器要比使用一块双端口的网络适配器具有更好的性能。

调整网络适配器

如果网络适配器允许,可以通过调整网络适配器来优化网络吞吐量和资源使用率。需要记住的是:具体的调整工作需要视网络适配器、工作负载、主机资源以及性能目标而定。

启用卸载特性

开启网络适配器的卸载特性一般总是有益的。但是,在某些情况下,网络适配器的处理能力可能不足以完成高吞吐量情况下的卸载工作。比如,启用LSO会降低某些网络适配器最大能承受的吞吐量。但是,即使是这样的网络适配器,如果对吞吐量方面的降低并不在意,也应该启用卸载特性。请注意:某些网络适配器需要为发送和接收路径单独启用卸载特性。

网络适配器资源

有几种网络适配器允许管理员配置资源。可以为接收缓冲区和发送缓冲区设置参数。部分网络适配器会主动管理它们的资源,而无需为这些网络适配器设置这些参数。

中断调解

某些网络适配器会保留 buffer coalescing (缓冲区合并)参数(发送和接收缓冲区有时单独进行配置)。在网络适配器不能够以自适应方式执行中断调解时,考虑缓冲区合并十分重要。

TCP 参数

高吞吐量情境下可以考虑进行调整的TCP 参数如表1所示。

表 1. TCP 参数

参数

描述

TCPWindowSize

该值决定了在任何一个给定的时间,能够在网络上传送的最大数据量(以字节计)。可以使用如下注册表条目,将其设置为从1到65,535 字节的任何值:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip \Parameters\TcpWindowSize (REG_DWORD)

对于gigabit接口,此参数的默认值被设置为65,535左右(向下舍入为最接近的完整TCP数据包的倍数),100Mbps的连接设置为 16,384,其他速度更低的接口(例如调制解调器)则设置为8,192 —— 同样需要向下舍入。理想情况下,该值应该被设置为端到端网络带宽(以字节为单位)与往返延迟(以秒为单位)的乘积,也就是带宽与延迟的乘积。该值应该根据计算机预计接收到的TCP数据量进行设置。

Window Scaling

在带宽与延迟的乘积值很高的连接上(例如,卫星连接),可能需要将窗口的大小增加到64K以上。为了提高窗口大小,需要按照RFC1323中的规定,设置如下注册表条目,以启用TCP选项: HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip\Parameters\Tcp1323Opts (REG_DWORD)

为了使用大于65,535的窗口尺寸,该注册表条目应该被设置为1。在修改了该值之后,便可以将用来控制TCPWindowSize的注册表条目设置为大于64K的值(最大1GB)。

MaxHashTableSize

该值决定了保存TCP连接状态的散列表的大小。默认值为128乘以系统中处理器数量的平方。如果预计系统需要处理大量的并发连接,可以将如下注册表条目设置为一个较高的数值,以提高散列表的性能:

 HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip \Parameters\MaxHashTableSize (REG_DWORD)

最大值为 0x10000(65,536)。我们建议您在将要处理大量连接负载的大型服务器上将此值设置为最大值。需要记住的是:该表使用了不分页的池,所以,如果服务器没有许多不分页池可用,或者服务器不需要处理大量连接负载,那么请不要将本参数设置为一个太高的数值。

NumTcbTablePartitions

默认情况下,存放TCP连接状态的表拥有的分区数量等于处理器数目的平方。在大多数情况下,该设置是恰当的,而且会减少表的争用现象。但是,对于处理器数目大于16的服务器,默认值显得过于高了,并可能会因此占用太多的CPU资源。在这种情况下,请将以下注册表条目设置为一个小于处理器数目平方的数值:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip\Parameters\
NumTcbTablePartitions (REG_DWORD)

MaxUserPort

当计算机上存在一个活动连接的时候,就会使用到端口。在给定了可用的用户模式端口(每个IP地址有5000个)的默认值和TCP超时等待要求之后,可能必须在系统中提供更多的端口以供使用。可以将如下注册表条目的值最大设置为 0xfffe(65534):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip \Parameters\MaxUserPort

 

存储系统的性能调整

存储体系结构的驱动程序堆栈包含许多组件,如图2所示。本节将讨论存储负载的调整方法。


 

图 2  存储驱动程序堆栈

选择存储系统

在选择存储系统时,最重要的考虑事项是:

· 为当前和未来的存储需要提供必要的存储空间、带宽和延迟特性。

· 选择HW RAID 类型的系统和备份过程,以便获得良好的性能表现和数据恢复能力。

WHQL 认证

选择通过了WHQL认证的存储适配器。

减少待存储数据的数量

如果希望减少在新的文件服务器上保存的数据数量,需要考虑以下问题:

· 当前在文件服务器上保存的数据量,这些文件服务器将要被合并到新的服务器中。

· 如果文件服务器将成为一个复制成员,存储在新的文件服务器上的数据中将有多少会参加复制。

· 未来需要在文件服务器上保存的数据量。

一般的指导原则是:针对超过目前增长速度的更快的未来增长进行规划。调查组织是否打算雇佣大量人员,或者组织中的各个部门是否计划实施一些需要超大存储容量的项目等等。

此外,还必须将操作系统文件、应用程序、RAID冗余、日志文件以及其他因素考虑在内。表2描述了影响文件服务器容量的部分因素。

表 2. 影响文件服务器性能的因素

因素

需要的存储容量

操作系统文件

至少1.5 GB。为了为可选组件、未来安装的服务包以及其他项目预留足够的空间,还应该为操作系统卷再额外规划3 GB到5 GB的空间。

分页文件

情况下,其大小默认为内存容量的1.5 倍。

内存转储

根据选择的内存转储文件选项,需要的磁盘空间可能等于物理内存的数量再加上1MB。

应用程序

根据应用程序的具体情况而有所变化,包括防病毒、备份、磁盘配额软件、数据库应用以及可选组件(例如,恢复控制台、Services for Unix和Services for NetWare)等。

日志文件

根据创建日志文件的应用程序而有所变化。某些应用程序允许用户设置日志文件的最大尺寸。必须确保有足够的剩余空间来容纳日志文件。

RAID 解决方案

视具体情况而有所变化;请参阅后文中的 选择RAID 级别 了解更多信息。

影子副本

默认情况下,使用10%的卷空间,但是我们建议用户为其使用更多空间。

 

存储阵列的选择

在选择存储阵列和适配器的时候需要考虑许多事项。在选择存储阵列类型的时候,可以考虑以下选项:

表3. 选择存储阵列时的选项

选项

描述

光纤通道或SCSI

·  光纤通道允许用户使用长的玻璃或铜制电缆将存储阵列连接到系统,从而提供高带宽。

·  SCSI 提供了非常高的带宽,但是电缆长度有限。

HW RAID 能力

存储控制器具有 HW RAID 能力十分重要。表4介绍了RAID 0、RAID 1和RAID 5级别。

最大存储容量

·  总的存储区域。

·  访问存储系统时的带宽由阵列中的物理磁盘数量、控制器的速度以及磁盘类型(例如,SCSI或光纤通道)、HW RAID、以及将存储阵列连接到系统的适配器共同决定。

 

HW RAID 的级别

大多数存储阵列都具有部分的HW RAID功能,并包括如下RAID选项。

表4. HW RAID 选项

选项

描述

RAID 0

RAID 0 表现为一个逻辑磁盘,由一组物理磁盘组成,并以带区方式访问磁盘。

·  整体来看,这种方式是速度最快的HW RAID配置方式。

·  这是一种最为廉价的RAID配置方式,因为无需复制数据。

·  和RAID 0 和 RAID 5 不同,RAID 0 不提供额外的数据恢复机制。

RAID 1

RAID 1 表现为一个逻辑磁盘,它与另一个磁盘互为镜像。

·  RAID 1的写操作的速度慢于RAID 0,因为需要向两块或两块以上的物理磁盘写入数据,而且它的写操作具有最长的延迟时间。

·  在某些情况下,RAID 1读取数据的速度要快于RAID 0,因为它可以从最闲的一块物理磁盘中读取数据。

·  从物理磁盘方面来看,RAID 1是最为昂贵的配置方式,因为数据被完整地保存成两份或者更多的副本。

·  在物理磁盘发生故障之后所需的恢复时间方面,RAID 1的速度最快,因为第二块物理磁盘可以立即投入使用。可以在安装新的镜像磁盘的同时,允许用户访问所有数据。

RAID 5

RAID 5 表现为一个逻辑磁盘,它将奇偶校验信息写入到另一块磁盘中,如图3所示。

·  RAID 5 使用独立的数据磁盘,并且具有分布式的奇偶校验块。

·  RAID 5 的速度慢于RAID 0,因为每一个逻辑磁盘的写I/O都会将数据被写入到多块磁盘。但是,RAID 5提供了RAID 0 所没有的数据恢复功能,因为可以根据奇偶校验来重新构造数据。

·  在物理磁盘发生故障之后,RAID 5 需要花费额外的时间(和RAID 1相比)进行恢复,因为它需要利用保存在其他磁盘上的奇偶校验信息来重新构造磁盘上的数据。

·  因为不需要在磁盘上保存数据的完整副本,RAID 5的成本低于RAID 1。

其他

其他的RAID组合方式包括RAID 0+1、Raid 10 以及 Raid 50。

 

下图描绘了RAID 5 的配置方式。

 

选择RAID 级别

选择每一个RAID 级别时都需要全面考虑如下因素:

· 成本

· 性能

· 可用性和可靠性

您可以评估各种数据类型的读写负载,然后确定为了实现组织的性能表现和可用性(可靠性)目标所需耗费的资金,最后为文件服务器选择最佳的RAID级别。表5介绍了4种常见的RAID级别、它们的相对成本、性能表现、可用性和可靠性以及建议使用的场合。

表5. RAID 考虑因素

 

RAID-0

带区

RAID-1

镜像

RAID-5

带奇偶校验的带区

RAID-0+1

带区镜像

最小磁盘数量

2

2

3

4

可用的存储容量

100%

50%

N-1/N

此处的 N 为磁盘的数目

50%

容错性

无。其中一块磁盘的故障会丢失卷中的所有数据。

可以允许损失多块磁盘,只要有一对镜像磁盘没有损失即可。

可以容忍其中一块磁盘发生故障。

可以允许损失多块磁盘,只要还有一对镜像磁盘没有损失即可。根据阵列中镜像磁盘的对数而有所变化 1。

读性能

由于改善了并发性,一般会得到提高

良好的读性能

由于改善了并发性,一般会得到提高

由于改善了并发性,并且每个请求可以有两个来源,从而提高了性能。

写性能

由于改善了并发性,一般会得到提高

比JBOD 差(对于大多数负载,在20% 和 40% 之间)

很差,除非执行完整的带区写入操作(大型请求),比JBOD低大约25%左右(4:1 请求)。

可能提高,也可能降低,具体情况视请求的大小、热点(静态或动态)等因素而定。

最佳用途

只用于存储临时数据

操作系统日志文件

·  操作系统

·  用户和共享数据

·  应用程序文件

·  操作系统

·  用户和共享数据

·  应用程序文件

·  日志文件

1如果某块磁盘发生故障,在替换磁盘之前如果其镜像伙伴也发生故障,数据将会丢失。但是,任何其他成员磁盘的故障并不会导致数据丢失。

 

如果您使用了两块以上的磁盘,RAID 0+1永远都是比RAID 1更好的解决方案。

在确定应该在RAID 0、RAID 5和RAID 0+1虚拟磁盘中包括的磁盘数量的时候,应该考虑以下信息:

· 随着添加更多的磁盘而获得的性能提升。

· 可靠性,两块磁盘的平均故障时间(MTTF),将随着在RAID 5或RAID 0中添加磁盘而不断降低。

· 随着添加更多磁盘,可用的存储容量将增加,但是成本也会随之一同上升。

· 带区单元的大小。软件解决方案将其固定在64 KB。硬件解决方案则从4KB到1MB不等。理想的带区单元的大小可以在不中断请求的情况下最大限度改善磁盘操作(因为多块磁盘可以服务于同一个请求)。例如:

· JBOD上的一个顺序请求流(大型)在一个时间只会导致一块磁盘处于繁忙状态。为了让所有磁盘都处于繁忙状态,带区单元需要被设为1/N(此处的 N 等于请求的大小)。

· 对于N个小型的随机请求流,如果N大于磁盘的数目,而且没有热点,那么带区集将不会提高系统的性能。但是,如果存在热点,带区单元的大小就需要精心设置,以便将请求被分割的现象降至最少,同时最大限度地避免热点完全落入一个或两个带区单元。您可能会将单元的大小设置为请求大小的低倍数,例如5倍或10倍,尤其是当请求大小位于某个容量界限时(例如,4KB或者8KB)。

· 当流的数量少于磁盘的数量时,需要对流进行分割,以便所有磁盘都保持繁忙状态。根据上面的两个例子,例如,如果您有10块磁盘和5个流,那么需要对半分割每个请求(将带区单元的大小设置为请求大小的一半)。

确定卷的布局

任何时候,都应该尽可能地将不同类型的数据分别放在不同的卷上。例如,为操作系统和分页文件使用一个卷,为共享的用户数据、应用程序和日志文件使用一个或多个卷

将不同类型的数据放在不同虚拟磁盘的不同卷中。使用不同的虚拟磁盘对于那些会产生大量数据写入负载的数据类型(例如日志文件)来说显得尤其重要,因为单个磁盘集(包含虚拟磁盘)可以专门用来处理由于日志文件的更新而产生的磁盘I/O。将分页文件放在单独的虚拟磁盘上可以小幅度地提高系统性能,但是这种性能提升一般不值得为其付出额外的成本。

为了在最大限度降低成本的同时提高性能,将位于同一个虚拟磁盘上的一个或多个卷中的不同数据类型合并到一起通常是一种有益的做法。一个常见的方法就是:将操作系统和分页文件放在同一个虚拟磁盘上,而将用户数据、应用程序以及日志文件放在剩余虚拟磁盘的一个或多个卷上。

中断调解

某些存储适配器能够减慢向主机处理器发出中断的频率,这些中断表明发生(或)完成了某个磁盘操作。减缓中断频率通常会降低CPU的负载,但是,除非中断调解能够以智能化的方式执行;否则CPU性能的提高将以延迟时间的增加作为代价。

表6. 中断调解选项

设备

描述

64位功能

支持64位的适配器可以在大容量内存地址(大于4GB)上执行DMA操作。

铜缆和光纤(玻璃)适配器

使用铜缆的适配器和使用光纤的类似产品一般具有相同的性能表现,而且铜缆和光纤都可以用在某些光纤通道适配器上。使用铜缆和光纤的适配器应该说各有所长,分别有各自适用的环境。

双端口或4端口SCSI适配器

某些SCSI适配器在一块适配器卡上提供了2或4条SCSI总线。由于SCSI限制了能够连接到SCSI总线上的磁盘数量,这种做法通常是十分必要的。光纤通道的磁盘一般对连接到适配器的磁盘数量没有进行限制。

 

与存储有关的参数

您可以调整如下注册表参数,获得更高的吞吐量。

CountOperations

本参数允许您关闭系统和进程级别的I/O计数器。该计数器会影响磁盘和网络I/O请求的系统和磁盘计数。除了网络接口、IP和TCP计数器之外,物理和逻辑磁盘计数器不受本参数的影响。由于对进程和系统级别的I/O进行计数会产生可观的开销,而且系统仍然会分析物理、逻辑、网络接口、IP和TCP级别的I/O速率,因此在系统上使用此注册表参数关闭进程和系统计数器就非常有用。为了关闭进程和系统I/O计数器,需要在以下注册表条目中创建一个注册表值——以及I/O系统键(如果不存在)——并且将其值设置为0(REG_DWORD):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Session Manager\I/O System\CountOperations.

为了使本设置生效,需要重新启动计算机。可以将CountOperations设置为1,或者删除CountOperations注册表条目,以重新开启进程和系统计数器。

NumberOfRequests

本参数允许您指定为某块给定适配器创建的SRB的数量。它能够提高性能,并且让Windows向逻辑磁盘发出更多的磁盘请求,这对于拥有并发能力的HW RAID 适配器来说尤其有用,因为每一个逻辑磁盘都由多块物理磁盘组成。但是,默认设置对于许多高速的HW RAID磁盘阵列来说通常不是最佳的设置。 可以将NumberOfRequests设置为32到96(十进制)之间的一个数值,改善磁盘阵列的整体性能。可以设置以下注册表条目: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MINIPORT_ADAPTER\Parameters
\DeviceN\NumberOfRequests (REG_DWORD)

用具体的适配器名称替换miniport_adapter。为每个设备建立一个条目,并且在每个条目中用Device1、Device2…替换 DeviceN ,具体情况视添加的设备数量而定。为了让设置生效,需要重新启动计算机。例如,如果两块Emulex LP9000 微型端口适配器的微型端口驱动程序名称为lp6nds35,可以创建如下注册表条目,并将它的值设置为96:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lp6nds35\Parameters\Device0\NumberOfRequests

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lp6nds35\Parameters\Device1\NumberOfRequests

DontVerifyRandomDrivers

本参数会阻止驱动程序验证程序处于调试的目的随机校验驱动程序。为了禁用驱动程序校验程序,可以将以下注册表条目的值设为1(REG_DWORD):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Session Manager\Memory Management\DontVerifyRandomDrivers.

IIS 6.0 性能调整

选择正确的高性能硬件

选择能够满足预期Web负载(包括平均负载、峰值负载、容量、成长规划以及响应时间)的正确硬件十分重要。硬件瓶颈会让软件调整带来的性能提升大打折扣。在选择硬件时,请考虑表7所列出的各个因素:

7. IIS 6.0选择硬件时的考虑事项

因素

考虑事项

处理器的数目、类型和速度

·  脚本(ASP或 ASP.NET)以及加密(SSL)都是十分耗用CPU资源的工作。此外,并发的客户端负载也会加重CPU的负担。在为系统选择处理器的速度和数量时,应该考虑到这些因素。

·  大容量的 L2 处理器缓存能够提供更出色的性能。

·  两颗CPU的综合性能通常无法与单颗具有双倍速度(相对于上述两颗速度较慢的 CPU 而言)的 CPU 相媲美。

物理内存(RAM)的数量

在添加更多的站点、内容脚本(特别是ASP.NET脚本)和应用程序池(或者工作进程)时,添加内存有助于提升系统的性能。

网络适配器的数目、类型和速度

网络适配器不应该成为瓶颈。型号较新的网卡可以卸载某些服务器功能,从而提升性能。更多细节信息,请参阅前文中的网络性能调整

磁盘控制器的类型,物理磁盘的数量和容量

·  IIS 能够将经常访问的文件缓存在内存中。但是,不经常访问的文件(“冷门”文件)必须在需要时从磁盘上读取,需要经常访问“冷门”文件的大型站点需要拥有良好的磁盘性能(连接到大量磁盘的RAID控制器)。

·  IIS 日志文件的大小以及预计的增长情况都应该纳入考虑范围之内。

IIS可能依靠的其他服务器

·  速度缓慢的SQL Server 可能会制约连接到其上的IIS服务器的响应率,即使IIS 服务器拥有优秀的硬件组件。

·  如果将IIS服务器和SQL Server(或者任何其他CPU密集型组件)放在同一台服务器上,会限制每个组件能够使用的资源,并且影响系统的整体性能。

 

操作系统最佳实践

· 如果可能,以全新方式安装操作系统。升级可能会留下过期、不想要或者不是最优的注册表设置,以及先前安装的服务和应用程序,如果这些服务和应用程序会自动启动,那么将占用宝贵的资源。如果安装了另一个操作系统并且需要保留该系统,那么应该在不同的分区安装新的操作系统,否则新安装的系统将覆盖Program Files\Common Files下的设置。

· 为了降低磁盘访问冲突,应该将系统分页文件、操作系统、Web数据、ASP模板缓存以及IIS日志尽可能放在不同的物理磁盘上。

· 避免安装不必要的服务和应用程序。

IIS 6.0 优化

IIS 6.0 应用了新的进程模型。内核模式的HTTP侦听程序(Http.sys)接收并发送HTTP请求(甚至可以使用它的响应缓存来满足请求)。工作进程注册URL子空间,Http.sys将请求发送到相应的进程(如果使用应用程序池,则发送到进程集合)。

图 4 展示了IIS 5.0和IIS 6.0进程模型之间的差异。IIS 5.0使用WinSock在端口80接受连接。请求由 inetinfo 进程负责接收,然后或者在进程内执行请求,或者将它交给dllhost 进程在进程外进行处理(为了达到隔离的目的)。响应则由 inetinfo 进程发送回去。

 

 

图 4   IIS 5.0 和 IIS 6.0 的进程模型

IIS 6.0 进程依赖于内核模式的Web驱动程序Http.sys。在新的模型中,Http.sys负责管理连接和处理请求。请求可能通过Http.sys缓存得到满足,也可能被交给一个工作进程以便得到进一步处理(见图5)。可以配置多个工作进程,从而以较低开销实现了隔离。

Http.sys包括了一个响应缓存。当请求与响应缓存中的某个条目相匹配的时候,Http.sys直接从内核模式中发送缓存响应。图5展示了请求通过Http.sys得到处理的情况(请求也可能向上交给某个工作进程进行处理)。

 

由于Web服务器既包括内核模式的组件,也包括用户模式的组件,必须对二者同时进行调整才能获得最佳性能。因此,针对特定负载的IIS 6.0调整工作需要对如下内容进行配置:

· Http.sys(内核模式驱动程序)以及相关的内核模式缓存。

· 工作进程和用户模式IIS,包括应用程序池配置。

此外,我们还将在后文中讨论会对性能造成影响的其他参数。

内核模式的调整

与性能有关的Http.sys设置可以划分为两类:缓存管理以及连接和请求管理。所有的注册表设置都保存在以下条目中:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Http\Parameters

如果HTTP服务正在运行,必须首先停止服务,然后重新启动计算机,以便让设置生效。

缓存管理设置

Http.sys具有的优点之一便是内核模式缓存。如果响应位于内核缓存中,那么可能可以完全通过内核模式来满足某个HTTP请求,这显然可以极大降低CPU处理请求的开销。但是,IIS 6.0的内核模式缓存是一种基于物理内存的缓存,每个条目都需要占用一定的内存空间。

缓存中的条目只有在被使用的时候才能提供益处。但是,条目在任何时候都会占用物理内存,不论它是否被使用。所以,需要对缓存某个项目带来的益处(能够直接从缓存中满足请求)以及它在整个生命期中的开销(需要占用物理内存)进行评估,并且考虑可用资源(CPU、物理内存)和工作负载的情况。Http.sys 试图仅在缓存中保存有用(经常被访问)的项目,但是,如果针对特定工作负载来调整Http.sys缓存,Web服务器的性能还可以获得一定程度的提高。

以下是一些有用的Http.sys内核模式缓存设置:

· UriEnableCache. 默认值:1。设为非零值可以启用内核模式响应和分段缓存。对于大多数工作负载,缓存都应该保持启用。如果希望获得超低响应和较低的缓存利用率,那么请考虑禁用缓存。

· UriMaxCacheMegabyteCount. 默认值:0。设为非零值可以指定内核缓存可以使用的最大内存数量。默认值为0,允许系统自动调节缓存能够使用的内存数量。注意:只能设置可以使用的最大内存数量,而且系统可能不允许缓存增长到指定的大小。

· UriMaxUriBytes. 默认值:262144 字节(256 KB)。本参数设定了内核缓存中每个条目的最大长度。大于这个长度的响应或分段都不会被缓存。如果有足够的资金,可以考虑增加此参数的值。如果资金有限,而且大型的条目会挤掉较小的条目,那么可以将本参数设为更小的值。

· UriScavengerPeriod. 默认值:120秒。一个“清道夫”程序会定期扫描Http.sys缓存,在两次扫描期间没有被访问过的条目将被删除。可以将扫描周期设置为一个较高的值,以减少扫描次数。但是,如果访问频率低的老条目仍然保留在缓存中,缓存占用的内存将不断增加。如果将此期限设置得过低,扫描频率会过于频繁,而且可能导致缓存的过度清洗和扰动。

请求和连接管理设置

此外,Http.sys管理入站HTTP/HTTPS 连接,并且是在这些连接上处理请求的第一个层。它使用内部数据结构保存有关连接和请求的信息。虽然这样的数据结构可以按需创建(或释放),但如果在look-aside里表中保存部分数据结构留作备用,则可以实现更高的 CPU 效率。保存这样的储备有助于Http.sys利用更少的CPU资源来处理负载波动。注意:负载波动不一定由外部的负载波动而引起。一些旨在改善批处理或者中断调解的内部优化措施也可能导致负载波动和起伏。

储备有助于减少CPU的使用率和缩短延迟时间,同时能够增加Web服务器的处理能力,但是也会增加内存的使用率。在调整Http.sys的请求和连接管理行为的时候,需要牢记的因素便是:可用的服务器资源,性能目标以及工作负载的特性。您可以使用以下请求和连接管理设置:

· MaxConnections 本设置用来控制Http.sys所允许的并发连接的数量。每一个连接都会耗用非分页池(一种宝贵和有限的资源)。默认值的设置相当保守,以限制连接占用的非分页池数量。对于配备了充足内存的专用Web服务器,如果预计会产生大量的并发连接,可以将此值设置得更高一些。此值设置得越大,占用的非分页池就越多,所以要务必小心,应该使用一个与系统配置相适应的正确数值。

· IdleConnectionsHighMark、IdleConnectionsLowMark和IdleListTrimmerPeriod. 这些值用来控制对非并行使用的连接结构的处理:在某个时间必须提供多少可用的连接(用于处理连接负载的波动)、释放列表的上下界限、以及连接结构剪切和补充的频率等。

· RequestBufferLookasideDepth 和 InternalRequestLookasideDepth  这些值控制与缓冲区管理有关的数据结构的处理工作,以及应该完成多少储备以应付负载波动情况。

用户模式设置

IIS 注册表设置

以下注册表设置可以在下面的条目下找到:

HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters\

· MaxCachedFileSize(REG_DWORD),以字节为单位。决定了能够被缓存的文件大小(默认为256 KB)。实际值根据数据表中最大文件的数量和大小以及可用的RAM数量而定。对频繁访问的大型文件进行缓存可以降低CPU使用率,减少磁盘访问以及相关的延迟时间。

· MemCacheSize(REG_DWORD),以MB为单位。将IIS用户模式缓存限制为指定的大小(默认设置为根据可用内存的数量由IIS调整缓存的大小)。根据“热门”文件集合(频繁访问文件的集合)的大小以及RAM数量或者IIS进程地址空间(正常情况下应该在2GB以下),需要认真选择本参数的值。

· DisableMemoryCache(REG_DWORD)。如果设置为1(默认为0),则禁用用户模式的IIS缓存。在缓存命中率非常小的时候,可以完全禁用缓存,以避免与缓存代码路径有关的开销。

· MaxPoolThreads(REG_DWORD)。设置每个处理器能创建的池线程的最大数量(默认为4,范围不限。)每一个池线程都观察网络请求,然后处理它们。MaxPoolThreads 计数没有包括当前处理ISAPI应用程序的线程。如果CPU的平均使用率没有处于最佳状态,应该增加本参数的值,因为现有的所有线程都为繁忙状态,没有用于处理新请求的可用线程。

· PoolThreadLimit(REG_DWORD)。设置系统能创建的池线程的最大数量(默认值为处理器数量的4倍,范围不限)。PoolThreadLimit 必须大于或等于MaxPoolThreads。正常情况下,PoolThreadLimit = MaxPoolThreads ´ 处理器数量。仅仅设置其中的一个参数是不够的。如果同时指定了MaxPoolThreads 和PoolThreadLimit参数,则可以施加更严格的限制。

· ObjectCacheTTL(REG_DWORD),以秒为单位。控制没有被访问过的对象在IIS用户模式缓存中停留的时间长度(默认值为30秒,如设置为0xFFFFFFFF则禁用对象缓存清道夫线程)。如果系统配备了足够的内存,而且提交的内容不经常变化,那么可以增加本参数的值。如果系统内存不足而且用户模式缓存的大小在不断增长,则应该降低本参数。请参阅本节下面的 ActivityPeriod 部分。

· ActivityPeriod(REG_DWORD),以秒为单位。只有当文件在活动期限(默认为10秒钟,如果设为0则禁用本选项)内被重复命中,才允许缓存文件。本参数会降低由于缓存不经常访问的文件而引起的缓存开销,如果缓存内容变化不大,而且没有足够的可用内存,那么可以增加活动期限的值;或者,如果缓存上存在大量请求负载,可以降低活动期限的值。

· DataSetCacheSize(REG_DWORD)默认值为50。设置配置数据库数据集缓存中虚拟目录条目的最大数量。如果已经安装的虚拟目录的数量超过了默认值,可以增加本参数的值。在提交静态内容的时候,一个容量不足的数据集缓存会增加延迟时间(更低的吞吐量和更低的CPU使用率)。

IIS Metabase

以下设置可以在 W3SVC/ 下找到。

· AspMaxDiskTemplateCacheFiles。启用ASP脚本模板的磁盘缓存。ASP模板的编译是一件非常耗费处理器资源的工作。内存大小限制了可以缓存在内存中的模板的数量。从磁盘上的模板缓存中取回编译后的模板所需的开销比编译ASP内存缓存中没有的模板要小。请参见下文中的 AspScriptEngineCacheMax 一节。

· AspDiskTemplateCacheDirectory。如果可能,可以将其设置为不频繁使用的磁盘(例如,没有和操作系统、分页文件、IIS日志或者其他频繁访问的内容共享的磁盘)。默认目录是 “%windir%\system32\inetsrv\Template Disk cache\ASP Compiled Templates”。

· AspScriptEngineCacheMax。将其设置为内存容量所允许的最大的脚本引擎数(默认为125)。

· AspScriptFileCacheSize。设置为内存容量所允许的最大的ASP模板数量(默认250)。请参阅前文中的AspMaxDiskTemplateCacheFiles一节。

· AspExecuteInMTA。如果在交付某些ASP内容时希望对出现的错误或故障进行检测,请将本参数设置为1(启用)。例如,如果需要托管多个站点,而且每个站点都运行在它自己的工作进程之下,那么便可以启用本参数。错误一般可以在事件查看器中的COM+部分中看到。本设置启用了ASP中的多线程单元模型(默认值为0,表示禁用)。

· AspProcessorThreadMax。如果当前设置(默认为25)不足以满足负载的需求(可能会导致某些请求出现错误),可以增加本参数的值。

· CentralBinaryLoggingEnabled。通过将本参数设置为TRUE,可以启用集中的二进制日志记录。二进制IIS日志记录可以减少对CPU的使用,降低占用的磁盘空间以及减少磁盘I/O操作。集中的二进制日志可以被导向一个二进制文件,而无论托管站点的数量如何。分析二进制格式的日志需要一个后处理工具。

IIS 工作进程选项(IIS Admin UI、应用程序池属性)

在没有管理员干预、服务重启或者计算机重启的情况下,IIS管理界面上的IIS工作进程回收选项为发生的紧急故障或事件提供了有效的解决办法。这样的情况包括内存泄漏,泄漏会增加内存负担,或者导致工作进程进入不响应或空闲状态。在正常情况下,可能不需要启用回收选项,所以可以关闭它(或者对系统进行配置,以很低的频率执行回收工作)。在下面的章节中,黑体字名称是per-app-pool(应用程序池)变量。在使用脚本设置这些变量的时候,可以使用路径“ /LM/W3SVC/AppPools/n”,在这里n 代表应用程序池索引。

有三个选项,如下表所示:

· 回收选项。可以在“回收”选项卡中找到。

· 性能选项。 可以在“性能”选项卡中找到。

· 工作进程健康监视选项。可以在“健康”选项卡中找到。

表 8. 回收选项

参数

描述

PeriodicRestartRequests,DWORD,选项默认为禁用,默认值为35000

按照时间定期回收

PeriodicRestartRequests,DWORD,选项默认为禁用,默认值为35000

根据请求的(累计)数量定期回收

PeriodicRestartSchedule, MULTISZ,默认为禁用,默认为空字符串值

在指定的时间进行回收

·   PeriodicRestartMemory, DWORD,默认值为512 MB

·  PeriodicRestartPrivateMemory, DWORD,默认值为192 MB

 

如果达到了以下两个条件之一,基于内存的回收(默认为禁用)将允许回收工作进程:

·  虚拟内存的最大容量

·  已使用内存的最大容量

如果面临不断增长的内存容量压力,可以其中一个参数或全部参数,基于严格的内存容量标准,频繁回收工作进程,以缓解内存压力。

 

表 9. 性能选项

参数

描述

IdleTimeout,DWORD,以分钟为单位,默认值为20

在进程的空闲时间超过指定的时间时,关闭工作进程。这样可以节省有限的内存资源,但是如果CPU负载繁重,需要频繁启动新的工作进程,则不建议采取这种做法,因为创建进程会带来一定的开销。

AppPoolQueueLength,DWORD,默认值为2000

限制每个应用程序池(App-Pool)的内核请求队列的长度。请求会消耗分页池,在对分页池具有大量需求的情况下,应该降低本参数的值。如果超过指定的长度,会导致服务器拒绝请求,并产生编号为503的非自定义错误。

CpuAccounting,BOOLEAN,默认为禁用(0),启用为1

监视CPU的使用情况。您可以按照百分比设置CPU的最大使用率(CpuLimit,DWORD,默认值为0)和监视工作的刷新周期(CpuResetInterval,DWORD,默认值为0,以分钟计)。如果达到了CPU的使用率限制,或者不采取任何操作(但是会在事件日志中写入一个事件),或者关闭工作进程(CPUAction,DWORD,默认值为0,表示“不采取任何操作”;最大值为1,表示“关闭工作进程”)。

MaxProcesses,默认:使用1个工作进程处理所有请求

可以在操作的Web Garden(Web园)模式中控制工作进程的总数量。在Web Garden模式中,几个工作进程负责处理单个应用程序池下的请求负载。没有通过不同的应用程序池为Web站点预先分配任何工作进程。在某些情况下,一个工作进程无法满足负载的处理需要(可以通过糟糕的CPU使用率和漫长的响应时间看出这一点),增加工作进程的数量则有助于改善系统的吞吐量和CPU使用率。在托管了多个站点的情况下,可以考虑采用Web Garden模式。此外,在其中一个进程突然崩溃的情况下,采用多个工作进程还提供了更多可靠性,而且几乎不会出现所有服务均中断的情况。与预先分配应用程序池相比,Web Garden模式更容易设置和控制。

 

10. 健康选项

参数

描述

PingingEnabled,BOOLEAN, 默认值为1

PingInterval,DWORD,默认值为30秒

以固定时间间隔(PingInterval)Ping 工作进程(PingingEnabled)。如果没有响应,则认为工作进程发生错误,IIS将试图终止进程并产生一个新的进程。

RapidFailProtection,BOOLEAN,默认

RapidFailProtectionMaxCrashes, DWORD,默认为5个故障

RapidFailProtectionInterval, DWORD,默认为5分钟

设置在给定的时间段内(RapidFailProtectionInterval)允许产生的最大故障数量(RapidFailProtectionMaxCrashes),对不断快速产生故障的情况加以控制(RapidFailProtection)。如果到达了指定了故障率,应用程序池将被禁用,并且在事件日志中写入相关信息。

StartupTimeLimit,DWORD,默认为90秒

控制工作进程的启动时间,超过此时间,则认为其发生了故障。

ShutdownTimeLimit,DWORD,默认为90秒

控制工作进程的关闭时间,超过了此时间,则认为其处于不响应状态。

 

安全套接字层的调整参数

安全套接字层(Secure Sockets Layer,SSL)的使用会加重CPU的负担。SSL中最为耗费资源的部分为建立会话所需的开销(包括一次完整的握手),然后是重新连接的开销和加密/解密的开销。为了获得更好的SSL性能,请执行如下操作:

· 启用SSL会话的“保持活动”(keep-alive)特性。这样可以消除建立会话所需的开销。

· 如果可能,重新使用会话(特别是对于那些没有“保持活动”的流量)。

· 注意:密钥越长,安全性就越高,但是需要的CPU时间就越多。

· 注意:并不是所有的页面组件都需要加密。但是,混合的纯文本HTTP和HTTPS可能会导致客户端浏览器弹出一个警告,告知并不是所有的页面内容都得到了保护。

ISAPI

对于ISAPI,没有任何具体的调整参数。如果编写一个私有的ISAPI扩展,请确保代码在执行和资源使用方面具有高效率。请参阅后文中的 影响IIS性能的其他问题

托管代码调整参数

· 确信已经预先编译了所有的脚本。可以在每个目录中调用一个.NET脚本来完成这项工作。在编译完成之后,需要复位IIS。在修改了Machine.config、 Web.config或任何.aspx脚本之后需要重新编译。

· 如果不需要会话状态信息,请确信在每个页面中关闭了此项目。

· 当用户在隔离模式(每个站点一个应用程序池)下运行包含ASP.NET脚本的多个主机的时候,应该监视内存使用情况。请根据预计将要并发运行的应用程序池的数量,为IIS服务器配备足够的内存。考虑在存在多个隔离进程的地方使用多个应用程序域(app-domains)。

 影响IIS性能的其他问题

· 安装没有缓存意识的过滤器。安装没有HTTP缓存意识的过滤器会导致IIS禁用全部缓存,从而造成性能急剧下降。老的ISAPI过滤器(在IIS 6.0之前编写的过滤器)可能会存在这个问题。可以使用HTTP缓存的过滤器在配置数据库中被标记为“具有缓存意识”的过滤器。

· CGI 请求。出于性能的考虑,我们不建议使用CGI应用程序处理请求。由于需要频繁创建(和删除)CGI进程,会产生大量的系统开销。更好的替代办法是使用ISAPI程序和ASP(或ASP.NET)脚本。这些方式都可以使用隔离。

NTFS 文件系统设置

 HKLM\System\CurrentControlSet\Control\FileSystem\ 下的 NtfsDisableLastAccessUpdate (REG_DWORD)1。

通过禁止更新最后一次访问的文件或目录的日期和时间戳记,这个针对整个系统的开关参数会降低磁盘I/O负载和缩短延迟。默认情况下本键不存在,因此需要额外添加。如果操作包含数千个目录的大型数据集(或者大量主机),禁用更新的效果十分明显。如果只需要保留信息Web供Web管理使用,我们建议用户使用IIS日志代替它。

警告:某些应用程序(例如增量备份工具)需要使用这些更新信息,如果没有这些信息,它们将无法正常工作。

Tcpip.sys 的IIS性能设置

请参阅前文中的 网络性能调整

IIS的网络适配器调整和绑定

· 确信所有网络适配器设置都为最佳状态。

· 将每一块网络适配器分别绑定到一颗CPU(具体方法取决于网络适配器的数量、CPU的数量以及每块网络适配器上的端口数量)。

请参阅前文中的网络性能调整。

文件服务器性能调整

一般考虑事项

为了满足预期的文件服务器负载,选择正确的硬件十分重要,在选择硬件时需要考虑平均负载、峰值负载、容量、成长规划以及响应时间。硬件瓶颈会使软件调整获得的性能提升大打折扣。

在选择硬件和设置操作系统时,需要考虑以下问题。

表11. 选择正确的硬件以提升性能

问题

建议

处理器的数量、类型和速度

·  大容量的 L2 处理器缓存能够提供更出色的性能。

·  两颗CPU的综合性能无法与单颗具有双倍速度(相对于上述两颗速度较慢的 CPU 而言)的 CPU 相媲美。

内存(RAM)的数量

如果计算机内存不足,而且需要立即添加更多内存,Windows Server 2003 使用硬盘空间模拟系统内存。这些内存被称作虚拟内存,也经常被称为分页文件。

·  尽力避免将分页文件与操作系统文件放在同一个驱动器上。

·  避免将分页文件放在容错驱动器上,例如镜像卷或者RAID-5卷。分页文件不需要容错,由于需要将数据写入到多个位置,某些容错系统的写入速度会因此变得非常慢。

·  不要将多个分页文件放在同一个物理硬盘驱动器的不同分区上。

网络适配器的数量、类型和速度

·  网络适配器不应该成为系统瓶颈。型号较新的网络适配器可以卸载某些服务器功能,从而提高系统性能。

·  确信所有网络适配器设置都是最优的。

·  将每块网络适配器分别绑定到一颗CPU(具体方法取决于网络适配器的数量、CPU的数量以及每块网络适配器上的端口数目)。

·  更多细节信息,请参阅前文中的网络性能调整

磁盘控制器的类型、物理磁盘的数量以及它们的整体容量

·  文件服务器将频繁接收访问的文件放入缓存。但是,必须从磁盘上读取访问不频繁的文件。为了处理针对大批文件的大量请求所带来的庞大数据量,磁盘性能必须非常出色(连接大量磁盘的RAID控制器)。

·  将系统分页文件、操作系统以及数据尽可能放在不同的物理磁盘上。

·  确信分配单元大小与卷的大小相匹配。

 

服务器消息块服务器模型

服务器消息块(Server Message Block,SMB)模型包括两个实体:客户端和服务器。

客户端通过重定向程序(Rdbss.sys和SMB 小型重定向程序Mrxsmb.sys)为服务器上所保存的文件接收请求。它通过TCP/IP,使用SMB协议发送请求。

服务器通过TCP/IP协议,从客户端接收多个请求,然后将请求发送到本地文件系统(Ntfs.sys),由它负责访问存储堆栈。

 

文件服务器的常规调整参数

下列注册表调整参数会影响文件服务器的性能。

PagedPoolSize

HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement\ (REG_DWORD)

文件缓存空间和分页池空间共享系统虚拟地址中的一个公共区域。限制分页池可以得到更大的系统缓存,从而能够缓存更多的内容,实现更快的文件服务性能。

NtfsDisable8dot3NameCreation

HKLM\System\CurrentControlSet\Control\FileSystem\ (REG_DWORD)

默认值为 0。该参数用于确定 NTFS 是否为长文件名以及包含来自扩展字符集的文件名生成符合 8.3(DOS)命名协定的短文件名。如果该注册表项的值为 0,那么文件潜在可以有两个名称:用户指定的名称和 NTFS 生成的短名称。若用户指定的名称符合 8.3 命名协定,NTFS 则不再生成短名称。

修改该值不会更改文件的内容,但可以避免对文件创建短名称属性,并能更改 NTFS 显示和管理文件的方式。

Disablelastaccess

HKLM\System\CurrentControlSet\Control\FileSystem\. (REG_DWORD)

默认不创建该注册表项。

如果您有一个 NTFS 卷包含大量文件夹或文件,而且有一个程序依次对它们进行访问,那么用于生成Last Access Time(最后一次访问时间)更新的 I/O 带宽会占用 I/O 总带宽的很大比例。如要提高对文件夹或文件的访问速度,您可以将 disablelastaccess 设置为禁止更新 Last Access Time(最后一次访问时间)。在您使用了该命令并重新启动计算机之后,Last Access Time 将不再得到更新。如果您创建一个新文件,Last Access Time 则与 File Creation Time(文件创建时间)保持一致。

NumTcbTablePartitions

HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\. (REG_DWORD)

默认创建该键。

该参数控制 TCB 表的分区数量。可以对 TCB 表进行分区,减少对其的争用,从而提高多处理器系统的可伸缩性。

TcpAckFrequency

注意:TcpAckFrequency 只能应用于 Windows Server 2003。 TcpAckFrequency 的推荐设置介于 TcpWindowSize 的值的三分之一和二分之一之间。

对于千兆网卡:

HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

对每个千兆网络适配器添加:

TcpAckFrequency (REG_DWORD) = 13(十进制)

注册表默认不包含该项。如果仅确认数据而不是针对所有的控制数据包,那么每 13 个数据包仅确认一次,而不是默认的两次。这样,在从客户端向服务器执行大量写入(上载)操作时,有助于降低网络堆栈(Network Stack)的数据包处理开销。

对于 FastEthernet 网卡:

HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

对每个 FastEthernet 网络适配器添加:

TcpAckFrequency (REG_DWORD) = 5(十进制)

注册表默认不包含该项。如果仅确认数据而不是针对所有的控制数据包,那么每 5 个数据包仅确认一次,而不是默认的两次。这样,在从客户端向服务器执行大量写入(上载)操作时,有助于降低网络堆栈(Network Stack)的数据包处理开销。

中断关联

中断关联指在多处理器服务器上将中断操作从一个特定设备绑定到特定的处理器上。这将在所指定的处理器上强制运行 ISR 和 DPC 例行程序。由于网络连接和文件服务器话路均位于相同上网络适配器上,因此将中断操作从网络适配器绑定到处理器,可以在一组指定的处理器上处理传入的数据包(SMB 请求、数据),从而提高局部性和可伸缩性。您无法在单处理器计算机上配置中断关联。

中断关联筛选器(Interrupt-Affinity Filter,IntFiltr)工具允许您更改系统中 CPU 的中断关联。

使用该实用程序,您可以将任何设备的中断操作指向一个特定的处理器或一组处理器(避免总是对系统中所有的 CPU 发送中断请求)。注意:不同的设备可以有不同的中断关联设置。该实用程序可应用于任何运行 Windows Server 2003 的服务器,无论采用何种处理器或中断控制器。

客户端计算机的常规调整参数

DormantFileLimit  

HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\  (REG_DWORD)

默认不创建该注册表键。(仅针对 Windows XP 客户端计算机。)

指定在应用程序关闭文件后可以通过共享打开的最大文件数。

ScavengerTimeLimit

HKLM\system\CurrentControlSet\Services\lanmanworkstation\parameters\ (REG_DWORD)

Windows XP client computers only.

重定向器在开始清除休眠文件句柄(当前无法被任何应用程序所用的已缓存的文件句柄)之前所等待的时间(秒)。

DisableByteRangeLockingOnReadOnlyFiles

HKLM\System\CurrentControlSet\Services\LanmanWorkStation\Parameters\ (REG_DWORD)

仅针对 Windows XP 客户端计算机。

一些分布式应用程序会在对各个客户端进行同步时锁定某个只读文件的部分内容,它们要求关闭所有只读文件的文件句柄缓存和折叠(collapsing)功能。如果不在系统上运行这类应用程序,并且在客户端计算机上启用了折叠功能,那么就可以设定该参数。

TcpAckFrequency

注意:TcpAckFrequency 只能应用于 Windows XP 客户端。TcpAckFrequency的推荐设置介于 TcpWindowSize 的值的三分之一和二分之一之间。

对于Gigabit网卡:

HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

对Gigabit适配器添加:

TcpAckFrequency (REG_DWORD) = 13(十进制)

注册表默认不包含该项。

如果仅确认数据而不是针对所有的控制数据包,那么每 13 个数据包仅确认一次,而不是默认的两次。这样,在从客户端向服务器执行大量写入(上载)操作时,有助于降低网络堆栈(Network Stack)的数据包处理开销。

对于 FastEthernet 网卡:

HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

对每个 FastEthernet 适配器添加:

TcpAckFrequency (REG_DWORD) = 5(十进制)

注册表默认不包含该项。如果仅确认数据而不是针对所有的控制数据包,那么每 5 个数据包仅确认一次,而不是默认的两次。这样,在从客户端向服务器执行大量写入(上载)操作时,有助于降低网络堆栈(Network Stack)的数据包处理开销 。

Active Directory的性能调整

大型 Active Directory® 环境只有少数几个特殊的调整要求。

对 Boot.ini 文件使用 /3GB 开关参数

在服务器计算机上,大容量内存有助于减少磁盘 I/O 活动。使用 /3GB 开关参数,可以为 x86 服务器提供更多用户模式虚拟空间,并且改善Active Directory 的缓存。

Windows 2000 包含两种设置:

· 运用 /3GB 开关参数,主 Active Directory 缓存的最大容量可达1024MB。

· 不运用/3GB开关参数,主 Active Directory 缓存的容量仅被限制为512MB。

对于 Windows Server 2003,Active Directory 缓存可更自由地增长,但是大小受虚拟地址空间的限制。

关闭签名和密封功能

运行附带Service Pack 1(SP1)的 Windows XP 或更高版本的客户端计算机以及运行 Windows Server 2003 的服务器具备签名和密封功能以实现更高的安全性,而且这些功能在默认情况下为启用状态。默认状态下,Windows 2000 客户端并未启用签名和密封功能,但是安装了Service Pack 3(SP3)的 Windows 2000 提供了一个选项来启用该功能。具有安全网络的生产环境不需要启用该设置。Windows Server 2003 操作系统家族提供了一个用于禁用签名和密封功能的选项。您可以在此找到该设置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ldap\ ldapclientintegrity = REG_DWORD 0x0

针对 Web 工作负载执行基准测试(WebBench)

考虑使用以下原则对 Web 工作负载执行基准测试

· 将 IIS 服务器以及其它相关计算机从企业网络流量中隔离出来。

· 允许通过充足的预热时间获得稳定的状态。

· 同步客户端时钟和 IIS 服务器时钟以确保正确测试基于时间的请求。

· 为了实现最佳性能,在 IIS 的管理用户界面(Admin UI)中,关闭所有回收、性能和电源选项,除非您遇到紧急情况而这些选项能帮上忙。更多信息,新参见本文前面的“IIS 6.0性能调整”一节。

· 如果使用 SSL,则选择一个合理且一致的键容量。

WebBench 4.1 提供了测量 Web 服务器性能的方法。WebBench 使用客户端计算机模拟 Web 浏览器。但是,不同于真正的浏览器,客户端不显示服务器通过响应其请求所发送的文件。相反,当客户端接收到服务器的响应时,随即记录与该响应相关联的信息,接着马上向服务器发送另一个请求。

下面三个表格列出了高端和低端服务器设置以及客户端计算机调整参数。

表 12. 高端服务器设置

类型

设置

IIS 设置

·   注册表(位于:HKLM\System\CurrentControlSet/Services\Inetinfo\Parameters\)

·  MaxCachedFileSize (REG_DWORD) 1048576

·  IIS Metabase(位于:W3SVC/)

·  通过设定 CentralBinaryLoggingEnabled = TRUE,启用集中记录的二进制日志文件

·  SSL 调整参数:键容量为 1024 字节。如要进行富有挑战性的基准测试,可对所有服务器使用相同的键容量。

Http.sys 设置

·  注册表(位于:HKLM\System\CurrentControlSet/Services\HTTP\Parameters\)

UriMaxUriBytes (REG_DWORD) 1048576 (最大的文件)。

NTFS 文件系统设置

·  注册表(位于:HKLM\System\CurrentControlSet\Control\FileSystem\)

NtfsDisableLastAccessUpdate (REG_DWORD) 1

针对 IIS 的 TCPIP.SYS 性能设置

·  注册表(位于:HKLM\System\CurrentControlSet\Services\tcpip\parameters\)

MaxHashTableSize (REG_DWORD) 0xffff

请参见本文前面的“网络性能调整”一节。

针对 IIS 的网络适配器调整与绑定

·  每个网络适配器均绑定一颗 CPU。

请参见本文前面的“网络性能调整”一节。

 

低端服务器设置的特点如下:

· 单处理器、单网络适配器。

· 有限的物理内存——至少 256 MB;通常为 512 MB 的 RAM。

· 需执行分页操作。

· 对于大批 ASP 文件和严重耗费内存的动态内容,建议不要使用该服务器设置。

表 13. 低端服务器设置

类型

设置

IIS 设置

·  注册表(位于:HKLM\System\CurrentControlSet/Services\Inetinfo\Parameters\)

MaxCachedFileSize (REG_DWORD) 1048576

MemCacheSize (REG_DWORD) 10

·  IIS Metabase(位于:W3SVC/)

通过设定 CentralBinaryLoggingEnabled = TRUE,使用集中保存的二进制日志文件

Http.sys 设置

·  注册表(位于:HKLM\System\CurrentControlSet\Services\http\parameters\)

UriMaxUriBytes (REG_DWORD) 1048576

RequestBufferLookasideDepth (REG_DWORD) 256

InternalRequestLookasideDepth (REG_DWORD) 256

LargeMemMegabytes (REG_DWORD) 150

NTFS 文件系统设置

·  注册表(位于:HKLM\System\CurrentControlSet\Control\FileSystem\)

NtfsDisableLastAccessUpdate (REG_DWORD) 1

 

表 14. 客户端计算机调整参数

类型

设置

我的计算机性能设置

·  针对程序优化处理器调度

·  针对程序优化内存应用

针对 IIS 的 TCPIP.SYS 性能设置

·  注册表(位于:HKLM\System\CurrentControlSet\Services\tcpip\parameters\)

MaxUserPort (REG_DWORD) 0xfffe

MaxHashTableSize (REG_DWORD) 0xffff

TcpWindowSize (REG_DWORD) 65536(在配备 100 BaseT Ethernet 网络适配器的客户端上修改注册表)

请参见本文前面的“网络性能调整”一节。

 

针对文件服务器工作负载执行基准测试(NetBench)

NetBench 7.02 是 eTesting Labs 的基准测试程序,允许您测量文件服务器处理客户端网络文件请求的性能。NetBench 可以为您提供服务器 I/O 吞吐量的总得分、平均响应时间以及各台客户端计算机的单独得分。您可以使用这些测试分数衡量、分析和预测服务器处理客户端请求的能力。在各项测试间通常要对数据卷进行格式化,以便清空工作区,确保以全新状态开始测试工作。如要提高性能和伸缩性,建议把客户端数据分散在多个数据卷上。

Windows Server 2003面向 NetBench 的注册表调整参数

设置

HKLM\System\CurrentControlSet\Control\SessionManager\
MemoryManagement\

PagedPoolSize = 192000000(十进制)(默认为0)

HKLM\System\CurrentControlSet\Control\FileSystem\

NtfsDisable8dot3NameCreation = 1(默认为0)

添加:Disablelastaccess  = 1

默认不创建该注册表键。

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\

添加:NumTcbTablePartitions = 8

默认不创建该注册表键。

HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\
Interfaces\

对每个Gigabit网络适配器添加:TcpAckFrequency (REG_DWORD) = 13(十进制) 。

默认不创建该注册表键。对于 FastEthernet 适配器,将该参数为 5。

 

客户端计算机针对 NetBench 的注册表调整参数

设置

HKLM\System\CurrentControlSet\
Services\LanmanWorkStation\
Parameters\

DisableByteRangeLockingOnReadOnlyFiles = 1;
针对 Windows XP 客户端计算机

HKLM\system\CurrentControlSet\
Services\Tcpip\Parameters\
Interfaces\

对每个Gigabit网络适配器添加:
TcpAckFrequency  = 13(十进制)。

默认为不创建该注册表键。对于 FastEthernet 适配器,将该参数设为 5。

HKLM\system\CurrentControlSet\
Services\lanmanworkstation\
parameters\

添加 DormantFileLimit = 100(十进制)。

默认不创建该注册表键;针对 Windows XP 客户端计算机。

HKLM\System\CurrentControlSet
\Services\lanmanworkstation\
parameters\

ScavengerTimeLimit  = 100(十进制);针对 Windows XP 客户端计算机。

 

针对Active Directory工作负载执行基准测试(DirectoryMark)

下列调整对于执行DirectoryMark 工作负载基准测试很有帮助。最好从一台强大的客户机上执行对大型服务器的 DirectoryMark 测试。这样,操作人员可以启动大量线程,同时还能接收中央数据报告。该设置需要一块Gigabit网络适配器以及性能大致相当的客户机和服务器,同时服务器至少拥有 2 GB 的内存。

添加针对描述属性的索引(服务器)

使用架构编辑器添加一个针对描述属性的索引,后者用于DirectoryMark Addressing 和 Messaging Search Mixes。

关闭磁盘碎片自动整理程序

在服务器启动 15 分钟后,磁盘碎片自动整理程序(Auto Defragmenter)随即启动。该程序将运行一个小时,以后每12个小时重新启动一次。基准测试要求测试结果可重复,因此建议关闭磁盘碎片自动整理程序,以便避免对正在运行的基准测试造成任何可能的干扰。如果已启用磁盘碎片自动整理程序,那么可以在事件日志中查看磁盘碎片整理程序的运行情况。

下方注册表参数用于关闭磁盘碎片自动整理程序:

HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\DSA Heuristics = REG_SZ 000001

在 TCP/IP 增加 MaxUserPorts 和 TcpWindowSize

频繁使用 LDAP 绑定需要广泛运用动态端口。在服务器和客户端计算机上,需要通过 TCP 保持这些端口开启几分钟,因此需要超出实际用量的可用 MaxUserPorts 端口。

可以调整下列注册表参数:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort = REG_DWORD 0xfffe

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpWindowSize = REG_DWORD 0xffff

 

针对网络工作负载执行基准测试(Ttcp、Chariot)

针对 NTttcp 的调整

NTttcp 是一个面向 Windows 和基于 Winsock 的 ttcp 端口,用于协助测量网络驱动程序在不同网络拓扑结构和硬件设置上的性能和吞吐量。NTttcp 向用户提供一个多线程的异步性能基准测试程序,可用来测量在现有网络设置上可取得的数据传输率。

选项:

· 单一线程应该能够提供最佳吞吐量。

· 仅在出现许多个客户端时,需要多个线程。

· 发布充足的用户接收缓冲区(使用“-a”选项),减少 TCP 复制。

· 不应该发布过多的用户接收缓冲区,因为在您需要使用其它缓冲区前,首批已发布的缓冲区将返回给您。

· 最好是将每组线程绑定给一个处理器(“-m”选项中的第二个分隔参数)。

· 每个线程均创建一个连接(监听)不同端口的套接字。

表 15. 针对 NTttcp 发送器和接收器的示范语法

语法

详细说明

针对发送器的示范语法

NTttcps –m 1,0,10.1.2.3 –a 2

·  单线程

·  绑定于CPU 0

·  连接到 IP 地址为 10.1.2.3 的计算机

·  发布两个重叠的发送缓冲区

·  默认的缓冲区容量:64 KB

·  默认的缓冲量:20 KB

针对接收器的示范语法

NTttcpr –m 1,0,10.1.2.3 –a 6 –t 1000

·  单线程

·  绑定于CPU 0

·  连接到 IP 地址为 10.1.2.3 的计算机

·  发布两个重叠的发送缓冲区

·  默认的缓冲区容量:64 KB

·  默认的缓冲量:20 KB

 

网络适配器

确认您已启用了所有卸载特性。

TCP

只有带宽-延迟乘积较大时,才可以针对Gigabit Ethernet(64 KB)为 TcpWindowSize 设定高于默认值的数值。

例如,在局域网上使用 Intel MT Gigabit 网卡时,可以针对 NTttcp 保留所有网络适配器和 TCP 设置的默认值。

· Intel MT 网络适配器默认卸载 LSO 及校验和(同时针对接收和发送)。

· Intel MT 网络适配器自行管理其资源,不需要您更改任何网络适配器资源值。

· 未应用Coalesce Buffers(合并缓冲区),但默认的中断调解模式运转良好。

 针对Chariot 的调整

Chariot 是 NetIQ 的一个网络工作负载生成器,通过向网络施加负载来帮助用户预测网络应用程序的性能。

Chariot 的 High_Performance_Throughput 脚本工作负载可用来模拟 NTttcp 工作负载。有关该工作负载的调整考虑事项与 NTttcp 相同。

相关链接

请访问下列资源,了解更多信息:

· 事务处理性能委员会网站:www.tpc.org

· 来自实验室的报告:Windows Server 2003 超越了以前的操作系统:http://www.microsoft.com/windowsserver2003/evaluation/performance/etest.mspx。

· Windows Server 2003网站上的性能与伸缩性资源:http://www.microsoft.com/windowsserver2003/evaluation/performance/default.mspx。

 

如要了解有关 Windows Server 2003的最新信息,请访问:Windows Server 2003 网站:http://www.microsoft.com/china/windowsserver2003

2月3日

韩信的兵多少?

三三数之剩二 , 五五数之剩三 , 七七数之剩二
3537
2月2日

新选组至强之谜 原作:文学评论家尾崎秀树

多摩的风土和新选组
  
  多摩是江户的一大商品供应地。由于离政治中心很近,多摩人自动把这里看成江户的外墙。德川家康建江户城时,考虑到一旦敌人从东海道攻来,江户无法坚守时,必须留有退路。幕府把武田家遗民五百人和八王子地方农民五百人编成“八王子千人队”,用来对付外敌。后来,“八王子千人队”被派到北海道屯田,由于不适应气候,大多数人没能回来。但这里的人便从此有了“千人同心”的传统,并且对德川家有着强烈的忠诚心。此外,多摩地方自平将门以来就有反逆的传统,且农村里除长子外都得出外谋生,于是就有了“多摩出侠客”这种说法,如小金井小次郎就是有名的侠客。男孩们从小就憧憬将来成为武士。正是这样的传统造就了新选组铁的组织性。刺杀芹泽鸭之后的新选组更是无处不体现着这一点。
  
  
  实战之剑--天然理心流
  
  新选组的强大是有目共睹的,这主要得益于它的剑术。尽管新选组的干部中也有北辰一刀流、神道无念流等名流的剑客,但新选组的大部分成员都是天然理心流的剑士。天然理心流与以往那些剑术的不同之处就在于它是一种实战剑法。近藤在试卫馆教授剑术时虽用的是竹刀,但一招一式都从怎样在战场上使用着眼。天然理心流从不强调招式或是原则,只要求找到对手的弱点,快速出招,将对手一击必杀。除了冲田、近藤、土方等人外,试卫馆组的队士实力都很强。虽然怎么说都是农村剑法,但这些农民出身的人实力却不在武士们之下是无可争辩的事实。
  
  令新选组强大的另一个原因就是有名的集体剑法。由于当时新选组的主要对手是单个的过激志士,所以新选组在人数上总是占优的。芹泽鸭死后,根据经验,土方把新选组编成十队,每队十四人(后来还有增加),由各队队长带队巡逻,副长助勤轮流统一指挥各队。队士们统一行动,坚决避免一对一的战斗,而要以众击寡。平时在道场里就常进行这种集团战斗的演练。战斗时,谁踢灭灯笼,谁迂回到后面,都井井有条,互相掩护等等倒还在其次。这种战术是土方的发明,它大大减低了伤亡,成功地掩盖了个别队士的较差实力。
  
  
  新选组永远的魅力
  
  本来像新选组这样的幕府部队似乎应该受人唾弃才对,可它在今天的日本却有很高的人气度。一些勤王志士也有很高的人气度,如坂本龙马和高杉晋作等等,但这些只是大众化的人气,佐幕派的新选组却不一样。首先,他们具有勤王志士所缺的灭亡之美。这是一种“散华”式的美,不是落日式的,也不是草木式的,而是樱花随风凋零的美。其次,新选组成员皆为二十到三十五岁的年轻人,充满了青春的活力。现在的年轻人也和他们一样,既有美梦,又有恋爱;既对社会不满,又有远大的理想。自然就会有许多年轻人喜爱他们。第三,新选组有着各种各样的故事,可写成许多主题,比如关于剑术的,关于爱情故事的,更有许多激动人心的战斗场面,众多以新选组为题材的小说就是一个证明。这是第三点魅力。最后一点是他们对德川家矢志不移的一片忠心,姑且不论他们是否随幕府而殉。不论“诚”字旗在哪儿出现,新选组都会毫不动摇地在那儿为德川家而战,这种情感足以激动人心。
  
  新选组在日本受欢迎早已是众所周知了。光看日本各地众多的近藤勇、土方岁三纪念墓、碑就足够了。就连少女们也常来参拜这些地方呢。不信?看看照片上的石田寺里土方家墓吧。

新选组战记(节选)作者:安·奈杰尔

作为日本历史上最大、最强也是最后的剑客集团,新选组不论在日本历史上还是在日本剑术方面都具有重大影响,至今还在日本的小说、漫画、Game等被不断再现。
  
  
  诞生
  
  随着1853年柏利的黑船叩关,日本的门户被打开了,闭关锁国的时代从此结束。由于严重的民族危机,幕府的统治已到了崩溃的边缘,无数有志之士都在思考一个问题:怎样才能使日本摆脱危机,富国强兵?这时出现了一位可称为新选组之父的人--清河八郎(1830-1863)。他是出羽庄内藩出身,一位“尊王攘夷”的志士,北辰一刀流免许皆传。清河敏锐地看到:随着幕府统治危机的深化,民间的大量浪人已成为影响社会安定的一个重要因素。且这些人中往往藏龙卧虎,一旦组织起来,很有可能成为一支强有力的武装。于是,1862年,清河献计幕府,建议招募浪士队,幕府同意试行。
  
  文久3年(1863年)2月4日,一群浪士聚集到一个不知名的小地方--小石川传通院。人群中有三个并不显眼的年轻人,他们是武州多摩郡的近藤勇、土方岁三和白河藩人冲田总司。共有三百余名剑客入选并到江户集合,浪士队成立了。2月18日,这一小队人马从江户出发,于2月23日到达京都,加入了京都治安部队的行列。本想大展抱负的近藤等人,好梦还没做几天便挨了当头一棒:3月3日幕府下令遣返浪士,浪士队解散。好不容易有个为国出力的机会,怎么能就这样算了呢?一部分不愿走的剑士拥水户藩人芹泽鸭(?-1863)为首,同以近藤为首的试卫馆(近藤所开道场的名字)一党一起决心留下。就这样,一支新的京都治安部队--新选组诞生了。芹泽鸭任初代局长(奇怪的职务名),同时继续招贤纳士。在漫画中为大家所熟悉的斋藤一等人就在这时加入的新选组。
  
  这支驻扎在壬生屯所的部队直属京都守护职。新选组不但有统一的制服(黑底白披肩,衣袖、襟上有锯齿状的花纹,背后一个白色的“诚”字),还有统一的思想体系:尊王、攘夷、佐幕。8月发布的《法度书》更无处不体现出其恪守武士道、尽忠幕府的思想特点。严格的纪律、统一的思想和高超的武艺成为他们的獠牙和利齿,赋予了这个名不见经传的组织以强大的战斗力。这与他们后来成为名震日本的“壬生狼”是分不开的。
  
  谈新选组,近、土、冲三人不可不提。近藤勇(1834-1868)生于武州多摩郡上石原村,后为天然理心流三代目近藤周助(1792-1867)收为义子,并得传天然理心流剑术,于1862年成为天然理心流四代目。土方岁三(1835-1869) 是近藤的同乡好友,师出同门,智勇双全,新选组的军师型人物,一直担任副长一职。至于冲田总司(1842-1868),他出身白河藩士,幼年时流落到多摩,就住在近藤道场里,是一位天才剑士。九岁开始习剑,其实力不久便跃居四代目近藤勇之上,与近、土二人情同手足,后担任一番队组长和副长助勤等重要职务,和土方一起成为近藤的左右手。冲田以英俊强悍著称,号称新选组第一高手。
  
  玩过《幕末降临传ONI》的朋友对这三人一定不会陌生。游戏中诺大一个新选组总部,却只有这三人有肖像,难道是偶然吗?其实新选组、特别是土方、冲田两人在日本有不少拥护者,《剑心》中的阿妙不是把土方的肖像视为宝贝吗?这三人一直是新选组的骨干,而土方更是从创立之初一直战斗到北海道虾夷国的覆灭。在容量有限的情况下,只好……
  
  
  出阵!“八* 一八”政变
  
  幕末的京都,是动荡不堪的日本的震源地。“尊攘”、“倒幕”的志士们不断在京都出没,用剑与血书己之心。1858年,幕府大老井伊直弼发起“安政大狱”,残酷镇压尊攘派志士,株连者达百余人。面对血雨腥风,也为挽救大厦将倾的日本,志士们放弃了坐而论道的“处士横议”,转而走上了武力反抗的道路。1860年3月24日(阴历3月3日)女儿节这天,以水户藩士关铁之介为首的18名志士,一举将井伊大老刺于江户樱田门外。这就是有名的“樱田门外事件”。这是不同藩之间志士们的第一次联合行动。此后,“尊攘”运动走出了低谷,逐渐走向狂热的“全国大攘夷”。随后一系列斩杀外国人和幕府官员的事件使得幕府腹背受敌,痛感加强治安之必要。于是,一些治安部队在三都(京都、大坂和江户)先后组建,新选组就诞生在这样的大背景之下。
  
  “樱田门外事件”之后,幕府为巩固统治,竭力修补与朝廷、雄藩的关系。随着1860年6月幕府请关白九条尚忠斡旋皇妹和宫与将军德川家茂的政治婚姻,公武合体运动开始了。“公”指朝廷,“武”指幕府或雄藩。“公武合体”表面上是幕府出让权力,实际上是想借皇威和雄藩之力来力挽尊攘狂潮。一时间,公武合体派甚嚣尘上。但好景不长。不久,以久坂玄瑞、伊藤博文为首的尊攘派夺取了长州藩政,长州成为了尊攘派的一大据点。在萨摩,大久保利通等尊攘派也开始被重用。在朝廷,公武合体派公卿销声匿迹,三条实美等少壮派尊攘公卿抬头。尊攘志士们终于越走越远:1863年6、7月间,长州兵炮击美、法、荷三国船只连连得手。但7月中旬,美、法军舰和海军陆战队便进行了报复,把长州兵打得惨败,给那些“狂妄的长州军阀”以当头棒喝。这次危机还促成了著名的“奇兵队”的成立。在萨摩鹿儿岛,由于藩士奈良喜左卫门等人于1862年9月14日砍死英国人一名、伤两名的“生麦事件”和事后萨摩藩的高傲态度,次年8月15日,7艘英舰与萨摩海岸炮兵激战两天,结果两败俱伤。连续失败使尊攘派失掉了锐气,公武合体派趁机反扑。在孝明天皇授意下,公武合体派联络会津、萨摩等藩,准备以武力把以长州为首的尊攘派赶出京都。
  
  9月30日(旧历8月18日)凌晨一点,政变开始。中川宫亲王等公武合体派公卿先后入宫。与此同时,萨摩、会津、淀藩的大队人马在夜幕掩护下迅速在皇宫集结并抢占了所有9座大门。不久,土佐、米泽等藩藩兵又前来增援。皇宫里一派肃杀气氛。
  
  凌晨四点,警备兵力配置完毕。宫内,中川宫等人通过了一系列重大决定:推迟举行不久前由尊攘派所策划的前任大和的攘夷亲征行幸;解除长州藩警卫喈町门的职务,转由萨摩藩担任;严禁尊攘派公卿进宫和外出等等。至此,公武合体派公卿大名策动的“八* 一八”政变已大体告成。
  
  新选组多日前就开始准备这次行动了。土方准确地判断:一旦发生政变,皇宫的控制权将是至关重要的。而喈町门是长州的警卫范围,长州兵一定会打着“回岗执勤”的幌子首先扑向这里。因此,能否在喈町门把长州兵挡在宫外就成了整个政变成功的钥匙。新选组不从属任何藩这一特殊身分方便了他们的行动。9月29日晚,局长近藤下令全队出阵。队士们四五人一组,佯装执行例行的市内巡逻任务,暗地里却在监视长州兵的行动。不出土方所料,尽管这一天街上穿制服的新选组队士特别多,但却丝毫没引起长州兵的警觉。午夜,全体队士悄悄地在喈町门附件集结。政变刚开始,这支打着“诚”字旗的部队便如狼似虎般神速扑向喈町门并占领了所有哨位。相比之下,尊攘派的动作就要慢得多了。三条实美等人一听到动静便急匆匆地赶到皇宫,没想到却吃了闭门羹:守门士兵早有命令,没有朝廷特许,任何人不得进宫。真是秀才遇到兵,有理说不清。天亮不久,大队长州兵马才开始向喈町门进发。这时,萨摩、会津两藩人马早已在喈町门站稳脚跟。长州兵一到,双方立刻排开战斗队形,把枪口瞄准对方,战斗大有一触即发之势。新选组尽管只装备日本刀,但此时仍毫不退缩地站在萨会两军的队伍里,因此格外引人注目。形势呈胶着状态,但此时两军的对峙引起了京都居民的极大恐慌。街巷里人们乱作一团,纷纷寻觅避难之处。消息传到皇宫,孝明天皇立刻敕命长州兵撤出喈町门。打着“尊攘”旗号的长州兵这时不得不后退,撤往城北的大佛妙法院。尊攘派经过紧急磋商,感到大势已去,摆在面前的只有兵退长州这一条路了。长州一藩如何对付得了十余藩的人马?次日上午十时,长州兵马护送三条实美等尊攘骨干灰溜溜地撤出京都,取海路返回长州。政变彻底胜利。
  
  这次政变是日本历史和新选组命运的转折点。尊攘派第一次遭到沉重打击,志士们开始由“攘夷”走向倒幕。而新选组则脱颖而出,赢得了声望和幕府的信任。它的第一次大规模行动非常之成功,初次显示了它的坚牙利爪。从此,“壬生狼”的影子开始笼罩在京阪上空。
  
  新选组一向奉行少数精锐原则,从成立时起便把消除内患作为第一口号。第一个遭难的是三席局长,芹泽鸭的参谋新见锦。这年的九月六日傍晚,在炻园新地的茶屋,被土方岁三和原田左之助以懈怠队务为由处死。紧接着,九月十八日夜,在被芹泽鸭的高傲激怒的京都守护职松平容保默许下,近藤、土方等人暗杀了不得人心的芹泽鸭。此役幸得冲田总司首先刺中了芹泽,不然面对芹泽鸭这样的高手实在胜负难料。这样,近藤勇顺利获得了新选组的指挥权,这只“恶即斩”的壬生狼也就脱开了封印。
  
  
  激斗!池田屋事件
  
  “八* 一八”政变后,随着长州兵退京都,尊攘派的势力被彻底赶出了近畿地区,但单个志士的活动仍有增无减。他们利用地下据点,不时发动一些过激行动。元治元年(1864年)夏,又一场大规模行动在暗中策划了。
  
  6月5日的傍晚,天气闷热。在京都八坂神社,人们为次日一年一度的炻园祭而喜气洋洋地奔忙着,似乎已经忘记了祖国的灾难。突然,人们注意到了二三十名新选组队士。他们都站着或漫不经心地来回踱着,身穿制服,腰佩利刃,似乎在等什么。夜色渐浓,两个表情冷漠,军官模样的队士开始小声商量着什么。其中一个抬头看了看夜空,皱了皱眉命令道:“整队!”一阵骚动后,整齐的队伍直奔三条小桥而去。
  
  事情还得从头说起。为了对付维新志士,新选组对提供情报的町方、密侦(前者相当于警察,后者即侦探)给予奖励。这种手段非常有效,长州留下的“火种”被依次迅速扼杀。但新选组在光天化日之下残杀维新志士也引起了京都居民的不平。在人们眼里,新选组是一群狼。
  
  
  1864年旧历6月上旬,新选组又接到密报:“四条小桥的古道具商人,一个叫俞屋喜右卫门的家伙,行为非常可疑。”俞屋那简陋得只应由下等町民居住的屋子最近却有大量客人出入,新选组在此之前已对这一点感到奇怪,而这次京都所司代送来的情报正好与原来的怀疑相符。新选组立刻在俞屋家附近各路口部下了密探,不久便证实了所报情况。兵贵神速,6月5日天一亮,俞屋喜右卫门便被一队新选组队士抓到了壬生屯所、前川正治郎邸内的一个泥砌仓库内。
  
  仓库里装着一架滑车,顶端的滑轮装在二楼,钩子在一楼。队士们把滑车一头挂上重物,把俞屋喜右卫门倒挂起来,由土方亲自审问。俞屋一开始自然是什么也不说,不巧土方最不吃这一套,立马下令严刑拷打。想不到俞屋还真是条硬汉,队士们都打累了,他还是一个字也不说。土方于是下令把他放下来(善良?),让俞屋坐在薄竹片上(哇!),腿上还压上重物。土方手持竹刀,对其又是一阵狂斩。等竹刀也断了的时候,俞屋猜想土方已经绝望了。土方却在一旁想道:这家伙这么顽固,一定是有什么不可告人的秘密,今天非要这混蛋张嘴不可!也该俞屋倒霉,土方的思维方式似乎与其他人不同。“鬼副长”过去常错抓无辜,但这次他的预感没错。
  
  土方立刻下令向俞屋的脚指甲里钉钉子(怎么有点像《红*》中的情节?),然后又在钉子上点上蜡烛。俞屋终于无法忍耐而在半昏迷状态中开口了。原来,他的真实身分是江州浪士古高俊太郎。更重要的是,不日京阪一带过激浪士将在京都三条的旅馆池田屋聚会,策划一次重大行动,包括在京都放火和劫持天皇。
  
  机不可失!立即行动,奇袭池田屋!
  
  真是无巧不成书。在古高被捕之前,新选组和京都所司代(类似于宪兵队)的联络人,就是池田屋的门卫。接到情报后,所司代立即派侦察员渡边某(原文如此)扮作乞丐在三条小桥上行乞,暗中监视出入池田屋的旅客。另一方面,新选组助勤山崎丞奉命扮成普通町人,自称旅行药商,潜入池田屋。
  
  虽然和以往的潜入侦察一样,但为了取得池田屋旅客和店主的信任,山崎事先派人去了趟大坂,从八轩屋的水运商京屋忠兵卫手中得到了一封介绍信,随后非常顺利地潜入了池田屋。
  
  不久,渡边和山崎便发回了密报:古高的口供属实,过激浪士们将于今晚,也就是炻园祭的前夜汇集池田屋。箭在弦上,一触即发。
  
  大战在即,壬生屯所的气氛却活跃不起来。近藤、土方都在闹头痛(哼,打人打的!);一部分队士被派到大坂去执行其它任务了,加上这年夏天新选组里闹痢疾又病倒一大排,实际能出动的只有三十人左右。更要命的是,一町方又送来情报:四条街的料亭“丹虎”,京都人称为四国屋的,有大量不法浪士重兵防卫。不言而喻,这条捕风捉影的情报是这次行动中最大的不幸。它几乎使得行动失败,这个后面再细说。
  
  近藤一面派出使者去找京都守护职会津藩和所司代桑名藩要援兵,一面令队士们三五成群悄悄出动,集合地是八坂神社后面,四条街左手的炻园会所。当暮色悄悄降临八坂神社的石阶时,集结总算顺利完成了。
  
  不用说,这批剑客大晚上一声不吭地赖在会所不走,自然弄得会所的小吏心惊胆战,最后不得不求他们走。近藤大喝一声:“原田左之助!”“在!”“守在门口,擅自出入者,斩!”“是!”原田拔剑而立,吓得小吏们连气都不敢出了。这样一来,泄漏秘密的可能也就不存在了。
  
  十点了,援军还没到。近藤等不及了,下令立刻出发。队伍到了三条小桥,兵分两路:近藤和冲田总司等五个人直奔池田屋,土方带领本队二十多人杀向四国屋。这次著名的战斗就这么乱七八糟地开始了。
  
  近藤勇的一队人马蹑手蹑脚地靠近池田屋。近藤悄悄拉开门,见浪士们毫无防备,不禁喜上眉梢。队士们用鬼一般迫力的声音一起吼道:“我们是新选组,受死吧!”随后杀进屋内。
  
  情况并不那么理想:楼上楼下有浪士二三十人,且多数身手不凡。浪士们从一开始的混乱中镇定下来后,立刻拔刀反击,反而使新选组陷入了困境。本来早有情报说长州奇才桂小五郎也在池田屋,原来的行动计划是全员突击二楼,先杀桂小五郎,“擒贼先擒王”。结果等近藤手持名刀“长曾祢虎砗”杀上二楼回头一看,身边只剩冲田一个人了。其他几个都被围困在楼下,疲于应付。近藤勇急了,回头喊道:“总司,一个也别放走!”“明白!”奇袭变了强袭。两人狂吼着杀进人群,如入无人之境。浪士中虽有不少优秀剑士,但和近藤、冲田两人交手均一触即溃,立刻有几人连续被杀。近藤浑身是血,杀红了眼,逢人便斩。屋内十分狭窄,完全是一对一的作战。这里不仅是“狭路相逢勇者胜”,更是剑术高者胜!近藤和冲田像下凡的剑神,不停地冲杀,“血染征袍透甲红”,从气势上完全压倒了对手。有几个浪士想跑,却被一声大吼就吓得手足无措。局势渐渐扭转了。
  
  土方带着人马浩浩荡荡地杀到四国屋,却发现空无一人,连连暗叫不好。既然四国屋没人,也就是说,所有的浪士都在池田屋,而近藤只带了五个人!这时山崎丞急匆匆地跑来报告,说是近藤在池田屋陷入苦战,请他速去增援。等土方冲进池田屋,屋内只剩下了二十一名浪士。
  
  在这次轰动日本的池田屋事件中,过激浪士共有七人被杀,十一人受伤。殉难者的名字是:肥后藩宫部鼎藏、长州脱藩吉田稔嘿、同吉冈正助、土佐人望月龟弥太、石川润次郎、北添佶磨、播州人大高又次郎。令人难以相信的是:长州藩尊王派巨头桂小五郎因为迟到,结果半路得到消息便立刻返回了藩邸,奇迹般地脱此大难。不久吉田稔嘿送来十万火急的求援信,桂也闭门不应。
  
  “出于维新之前途着想,彼次行动之时实在不可应援,并非畏惧......”数年后,桂在书中写道。
  
  随后,会津、桑名两藩大队人马赶到,如临大敌地封锁了池田屋附近的三条地区和长州藩邸。从这一夜起,新选组“壬生刽子手”、“壬生狼”的大名迅速自京都、大坂传遍了整个日本。
  
  这次精彩的战斗其实是由一系列错误造成的。首先是那条该死的情报。更重要的是近藤连续犯了两个大错:第一个错误是兵分两路。这当然是由于错误情报的误导,但身为局长的近藤勇完全没必要让自己和部下去冒险同时攻击两个重兵防卫的目标,原因大概是求功心切吧。第二个错误是不等援兵到来便出击。怕失去战机是一个指挥官的正确心理,但促使近藤作出决定的另一原因其实是对自军实力的过高估计。不可否认,新选组的高级干部们都是人斩级的剑士,但也有一些混饭吃的队士。近藤竟轻率地认为带五名队士便足以拿下池田屋内数倍于己的敌人,结果陷入困境。另外,如果近藤局长有耐心再等一会儿,不但会增加胜算,更可抓到那位迟到的桂小五郎。
  
  这次池田屋事件虽然使京都人对长州同情更甚,但其实真正拯救了京都的是新选组。我们来看看浪士们的计划吧:一、劫持天皇往长州。二、暗杀中川宫亲王和京都守护职松平容保。三、在京都四面放火。京都居民自保元平治、应仁的战火后,非常惧怕火灾。如果没有新选组的强袭池田屋,京都会怎样呢?翌月的禁门之变给了我们答案。在七月十九日的战斗后,京都由于长州兵的进犯而化为火海。大火三天后才被扑灭。上京的八百二十九町中一百七十六町被烧毁,二万四千五百七十四间房中五千四百三十五间化为灰烬。下京的灾情更为惨重:二万四千八百四十间房中有二万三千九十二间被毁,维新后花了很长时间才得以修复。三都之首的京都昔日繁华的街道上尸体狼藉。不论尊攘志士们如何标榜自己救国救民,如此暴举令生灵涂炭,实在令人憎恶。
  
  池田屋事件是日本近代史上的重要事件,它“使明治维新推迟了一年。”这次打击使长州的尊攘派暴跳如雷,真木和泉、久坂玄瑞、来岛又兵卫等激进派立刻压倒了高杉晋作等开国派,决定兵进京都。结果来岛中弹身亡、久坂受伤后自杀、真木和泉在撤退时由于总队溜得太快而被新选组和萨摩藩兵团团包围在天王山,与十七名部下一起自杀。紧接着就是第一次征长战争和四国联合舰队炮击长州,尊攘势力遭到毁灭性打击,高杉等人在冷静地分析之后,把日本的维新导向了开国、倒幕的正确道路。顺便说一下,在禁门之变中,对抗长州的主力竟是萨摩和会津这对日后不共戴天的仇敌,而萨摩后来却成了长州的盟友。

作者:nonono11 回复日期:2005-9-1 19:18:22
 
 
  (按:下面这一部分是以小说的形式来描写山南之死,远远没有电视剧的改编那样煽情,而是十分残酷,我个人认为这里的描写更接近历史的真实。)
  
  
  脱走!山南敬助
  
  月光下的京都岛原,空寂的街道上站着两个人。男的穿着两折层的黑色毛织新选组制服,腰间佩着长刀,在月光下现出一张苍白的脸--新选组副长,山南敬助。身旁名叫明里的年轻女子穿着和服。她是一位岛原的风尘女子。(岛原是京都地名,非岛原起义之岛原)两人恋恋不舍地低语一阵后,山南匆匆离去。
  
  壬生屯所前,一个黑影掠过,然后一道刀光一闪,接着是树枝折断的声音。山南低头看了看,捡起了树枝。他刚拖着疲惫的身躯推开屯所的大门,就和一个兴冲冲地向外跑的人撞了个满怀。山南定睛一看,是会计河合耆三郎。河合行个礼便往外走,被山南拉住了。“这么晚了,你去哪儿?”“听说局里已正式作出决定移屯西本愿寺,土方高兴得不得了,让我去连夜准备酒宴。”河合刚高兴地说完,山南的脸立刻阴沉了下来。河合注意到了山南的表情,立刻噤口不语了。“那么副长,我先走了。”“河合。”河合刚要走,又被山南叫住。“你去告诉土方,新选组这样下去会被更多的人认为是恐怖的组织的。”“遵、遵命。”山南带着一种复杂的表情目送河合而去。
  
  新选组参谋伊东甲子太郎穿着一件白色的短袖上衣正在灯下看书,有人叩门,“打扰了。”“请进。”伊东应道。山南拉开门走进来。“山南君!屋里这么乱,见笑了。请随便坐。”山南坐下,从怀里拿出一瓶酒,“略备薄酒,请用。”“滩酒呢!离开江户后我就再没喝过了。”“从今天起,我要被调去防守皇居了。”“能被调去皇居真了不起啊!在下深感惭愧。”伊东的话使山南想起了什么,愤愤地说道:“局里那些软弱的家伙,长官说什么他们都跟着附和。感到惭愧的应是那些人!”“先生请别这样说。现在多数人重视武道,不正因为需要强大的力量才能实现我们的勤王之志吗?”“哼,文武两道相辅才是武士之道。要不是本愿寺的和尚害怕威胁,屯所也不会转移的。新选组眼看就要被人葬送了!”山南越说越激动。
  
  伊东瞥了山南一眼,拔出了酒瓶的塞子。“来一杯怎么样,山南君?”“酒也不如原来了。你说,这一片好心,为何却不得好报呢?”“终于进入正题了。”伊东放下瓶子笑道。他嘲笑地瞅着山南,等他先说话。“这样的话我还是告辞吧。”山南气鼓鼓地刚要走,便被伊东拉住了:“其实我很想听听的。请坐。”不知是不是酒精的作用,山南又坐了下来。“今天想请伊东先生评评理,请畅所欲言。”伊东笑了笑:“是关于土方吧?”山南吃了一惊,竟一句话也说不出来。两人都不说话,只是互相盯着看,仿佛要看穿对方的心一般。伊东先避开了对手的目光:“土方不是也考虑过很多方案吗?”“土方的想法太危险了。新选组正在变成一个杀人集团!”山南不无忧虑地说。他呷了一口酒,接着说:“你难道没有看见吗?队士们之间变得越来越冷酷,甚至为了一点小事便白刃相向。队士们勒索商人,土方却不闻不问。京都人现在把我们当成鬼和畜生,远远地便避开。想想池田屋那时的土方,简直是一只恶鬼!”山南的记忆又回到了一年前--
  “啊--”一声男子的惨叫从壬生屯所的土仓库里传出。仓库里,土方岁三眼露凶光,看着被倒挂起来的古高俊太郎:“说!你们在策划什么?”“不、不知道!”“好吧。”土方气急败坏地命令队士们放下古高,使足劲往他的脚指甲里钉钉子。古高一阵惨叫后,土方接着问:“你们在策划什么?!”“......暗杀会津公。”“还有呢?”“然后......冲进皇宫......劝天皇移驾长州。”“真是重大阴谋。你的同伙在哪儿?”古高闭上了眼,一句话也不说。土方冷笑道:“哼,这就让你说!”土方在刺伤古高脚的钉子上点上蜡烛。滚烫的蜡一滴一滴地滴在古高的伤口上。此时古高的叫声是如此凄惨以致于队士们纷纷回过头去,不忍再看。古高终于开口了:“池、池田屋。”“池田屋?”“三条小桥的旅馆池田屋。”
  
  记忆又回到了池田屋。惨烈的战斗展开了,土方来回冲杀,攘夷志士一个又一个地倒下。在外面炻园祭热闹的音乐声中,土方却在血海中大笑着。
  
  山南和伊东就这样在沉默中坐了一夜。直到天蒙蒙亮,已能听到巡夜队士们的歌声了,伊东才打破了沉寂:“作为新选组的参谋,我并没想过山南君和近藤呀土方呀谁是谁非。尽管有远大志向,今日日本也还不知会走向何方呢。但如果没有了现在的新选组,萨长土肥四藩不就会冲进京都,击倒德川幕府吗?”“那么,新选组必亡无疑了。”山南起身就走。伊东的眼里一道冷光转瞬即逝。他笑了笑:“会不会亡,谁又说得准呢?胸怀勤王之志才能救日本,这是毫无疑问的。”“脱离新选组也行。”山南的话使伊东震惊。伊东停了停说:“别这样说。新选组是时代的宠儿呢。”两人又恢复了原来的僵持状态,只听到巡夜组的歌声由远而近--
  
  新选组二番队组长永仓新八一边擦汗一边打开了道场的门。晨风一吹,汗很快就干了。永仓回到房间,靠在角落里的床上,想休息休息。突然“咚”的一声巨响,队士山野八十八和道场的门一起摔了出来。他又很快爬起来,手里拿着真剑向后退。队士大石锹次郎也拿着真剑从道场追了出来。其他队士们不知发生了什么,纷纷拉开门向院子里看。大石用刀指着山野骂道:“胆小鬼,竟迷恋上大和屋的姑娘!”“混蛋,这和你有什么关系!你竟从背后偷袭我,真卑鄙!”“闭嘴,你这加贺土武士!”话音刚落,大石一刀横斩,山野赶紧一躲,训练服的下摆还是被切掉了。永仓急忙喊道:“住手!”说着便冲过去要分开两人。山野趁机转身要走,大石把刀高举过顶,预备一记重斩。只听得“哧啷”一声,永仓的刀横在了两人中间。大石只好对永仓说:“请别管我。今天我非教训教训山野这懦夫不可!”“混蛋,竟然对自己的伙伴白刃相向!谁敢动手,我永仓的剑就先喝他的血!”永仓斩钉截铁地答道。两人被镇住了。大石举着刀,一动也不敢动。“还不罢手!”永仓说着把刀柄一转。“永仓,怎么这样冲动啊?”背后一个粗犷的声音说道。永仓刚一回头,大石便大吼着斩向山野。永仓迅速转身,似乎要用腿横扫,实际上刀却水平挥出,用刀背狠狠地打在了大石的腰上。大石“哎呀”一声便倒在了地上,还想伸手去捡刀,却怎么也爬不起来。永仓收好刀回头一看,土方正扶着栏杆冷笑。永仓默默地行了个礼。土方走到大石身边,大石连忙挣扎着爬起来,从地上捡起刀插在鞘里。土方递给大石一张白纸:“好好爱护刀。不擦擦就收行吗?”大石毕恭毕敬地敬了个礼,便接过纸开始擦刀。土方大声说道:“移屯西本愿寺一事终于正式决定了。当然,总有些傻瓜反对的。这里先说明,免得有人空欢喜一场。大石、山野这些都是准备骨埋西本愿寺的好汉,新选组以后的战斗将更加艰苦,弱者很快就会在战斗中死去。”所有的人都在静静地听。永仓看着土方冰冷的表情,只觉得脊梁发凉。罕,一扇一直关着的门打开了,山南走了出来,满脸怒气。他走到院子里,盯着土方看:“怎么样,适可而止吧,你!”土方用嘲讽的口吻答道:“啊哈,隐士君,今天起得真晚啊!”山南的肩膀气得直抖。土方装没看见,接着说:“我正对队士们训话呢。自打池田屋就不参加行动以来的山南君,一定可以对我们年轻的武士们谈些隐居的心得吧。”“杀人不是我们新选组的工作。”“不杀人的人不算武士。”土方针锋相对,同时轻蔑地看着山南。
  
   “山南君,其实你反对转移我一点也不奇怪。在壬生村住着多快活啊,村野之乐最适合你了,不是吗?还有......”“土方,你这混蛋!”山南终于忍无可忍了,扭头就走。土方并不着急:“山南君,法度书对你来说是废纸吗?”山南站住了。“早作准备吧,别做梦了!”土方悠然自得地走回自己的房间,其他队士也纷纷拉上了门,院子里只剩下愤怒的山南和默默站着的永仓。
  
  局长近藤勇正在自己房里烤火,山南敬助突然杀气腾腾地敲开了门。山南一声不吭地在火钵旁坐了下来。近藤的目光从火移向山南,又从山南移回火,然后低声问道:“好象和土方有些闹别扭吧?”“土方太可恶了。他最近的所作所为怎么说都过分了!”“土方小时是个很好的人,不过有些邪气而已。”“您和他同生于一乡,同学天然理心流,多年的情谊是不言自明的,我和他也一样。我只是担心土方正把我们引上一条危险的路。”
  
  近藤停止了搓手,因为山南正凝视着他,等着回答。
  
  “新选组是忠义之士组成的。为了忠义,总要有牺牲,土方一定都考虑过了。只是他为达到目的往往态度恶劣,这也是可以谅解的嘛。”近藤刚说完,山南就迫不急待地说起来:“我指的不是这个。西本愿寺只是普通的寺庙,土方却决定将其作为屯所,这必然会引起寺方的反感。作为一座古刹,它强大的后台也一定不会就此罢休的。”近藤呼地一下站了起来。山南紧张地看着近藤,屋里静得能听见外面雪花飘落的声音。近藤的声音突然变了:“敬,你、我、土方、冲田都来自江户试卫馆,喜忧与共。为了对付萨长土肥的那些土武士,我们必须誓死效忠德川幕府。我很欣赏你的学问。想想看:我是百姓出身,你却是名武士后裔。你是北辰一刀流的剑豪,又通达学问。这样宝贵的人才我可不想失去,请你自重,对土方的话就当没听见好了。”“但是......”山南还要争辩,近藤挥挥手,重新现出局长的威严。“转移的事就交给土方了,你休息去吧。”
  
  岛原,山南一边看着雪景,一边呷着酒。走廊上传来了木屐声,明里笑盈盈地出现在门口,立刻站住了,脸上的表情变成了吃惊:“敬,怎么喝这么多酒啊?”山南生硬地指着门说:“关门。”“怎么,你......”“天气很冷,关上门我心里会暖和些。”“敬......”明里带着迷惑的表情在山南身边坐下。山南举起杯子:“酒!”明里仍迷惑地坐着。“怎么了,明里?给男人倒酒不是你的工作吗?”山南发火了,但他立即看到了明里委屈的目光。他也明白自己是在发无名火,随即说道:“对不起,我言重了。”
  
  
  明里默默地拿着针线盒来到山南的身边,在他身边坐下。“袖口都破成这样了,真是的,一定是刀划的。”她熟练地补起那件两折层的黑色毛织制服来。山南凝视着专心补衣服的明里,突然激动地抱住了她。“呀,小心!针会扎着你的。”明里甜甜地笑着推开了他,“你看,袖口还没补好呢。”山南突然放声大笑。他似乎明白了什么。外面,雪还在下着。
  
  “呼拉”一声,会计河合冲进了近藤的房间。近藤刚要发问,河合就上气不接下气地说道:“局长,不好了!”近藤猛地站了起来。
  
  ......
  
  土方在自己的房里盯着一张纸使劲地看,连近藤进来都不知道。“这是什么?”近藤问道。土方楞楞地把那张纸递给了近藤。
  
  「新选组辞职书
  
  ......
  
  山南敬助」
  
  近藤看完后又默默地把信放下了。“怎么办?!”土方着急地追问道。近藤却只是抱着双手,闭着眼睛,一句话也不说。“近藤!”土方提高了声音。近藤这才睁开了眼睛:“你认为呢,岁君?”“如果就这么便宜了他,那么逃走的人会越来越多,法度书也就成了一纸空文。尽早将他抓回才是上策。”土方凝视着近藤,眼里射出愤怒的火焰。近藤垂下了眼睛:“派总司去吧,那小子是最棒的。”
  
  大津琵琶湖边的旅馆里,山南正悠然自得地看着波光鳞鳞的湖面,女佣推门进来:“您的朋友来看您了。”山南猛地站了起来。门外传来一阵咳嗽声,女佣的背后出现了一个高个子的年轻人。“冲田!......你来了。”山南一时不知说什么好。“山南君,为什么你......”冲田刚要说话,山南就转向女佣:“我们出去散散步,请你准备好楠公炊。”“楠公炊是......”“楠木正成公出战前常吃的,就是先把米炒熟,再浇入热水而成。拜托你快些,我们很快要用。”“是。”女佣奇怪地看了看山南便退下了。山南高高兴兴地拉着莫名其妙的冲田走到了湖边:“你来了就好。”“山南君......”冲田刚要说话,又是一阵轻咳。
  
  夕阳中的琵琶湖畔,远远地传来马的嘶鸣。山南和冲田两人慢慢地走着。“近来身体满好吧?”“哪里,今天还行吧。”冲田笑道,“你要是回了江户,我就不会在这儿遇上你了。”“我并不想回江户。”山南答道。“你留下的信上不是这么写的吗?山南君可是从不骗人的啊。”山南默默地凝视着湖面。“你到底为什么要脱队呢?”“信上不是已经说的很明白了吗。”“然后你就这么逃了。回去要受处分的!”“这有什么,冲田君你不是也来了吗?”
  
  冲田垂下了眼睛,山南的脸上露出了一丝苦笑:“我很想再看看你斩断树枝的样子。”
  
  冲田诧异地抬起了头。
  
   “我无论如何也不会忘记那个美丽的月夜。”山南说道,“我在屯所门口看见了你斩断的树枝,然后就在那儿撞上了会计河合,接着又喝醉后和土方吵了一架。从那以后,你的身影就常浮现在我眼前。”冲田默默的听着。“过去在试卫馆的时候,连近藤也不及你。你总能敏锐地找出对手的破绽,迅速出刀。真不愧是为天然理心流而生的天才剑士。即使是北辰一刀流的我也不是你的对手。那时真好,近藤、土方、你和我还是纯朴、机智、开朗、风趣的土武士。”山南突然噤口不语,只有风拂动着两人的长发。“那我回去怎么说呢?”冲田追问道。“就说‘叶隐’(意即隐没在树丛中了)。”山南侧着头笑道。
  
  拂晓的街道上,两匹马一前一后奔驰着。后面一人的黑色二折层制服被风掀得很高。
  
  屯所的监禁室内,山南静静地闭着眼坐在床上。门突然开了,一个人闪了进来,又迅速地把门关上了。山南睁开了眼睛,原来是永仓。“山南君,你怎么又回来了?我真为你担心哪。”永仓紧张地说道。“谢谢你的好心。我才到大津就遇上了冲田,恐怕是命中注定我无法逃脱。”山南面无表情,说完又闭上了双眼。
  
  与此同时,近藤、土方、伊东三人正在紧急磋商。伊东和土方展开了激烈的争论。在伊东看来,山南敬助这样极有威望的高级干部一旦被迫切腹。在队士中就会引起混乱和进一步的分裂,所以建议采取其他惩罚。而土方坚持要山南切腹,原因是一旦有人违反了法度书而逃脱了应受的惩罚,仿效者就会接踵而至,法度书也就成了一纸空文。伊东认为,山南这样文武双全的人才实在不可多得。土方却认为山南不死,人心难镇,会影响士气。两人争得不可开交。近藤却只闭着眼而不说话。
  
  永仓一声不吭地坐在监禁室里。山南坐不住了:“永仓君,你回房休息吧。”“我想不通!”永仓终于发作了,“新选组创建以来,这还是第一次要处分自己人呢!”“这不是你我意志可以决定的。既是新选组成员,就必须遵守局中法度。”“那也不至于被判切腹呀!”“决定了我得死,我就必须死。”山南打住了话题。永仓沉默了一会儿,又说道:“那,你有什么遗言吗?”山南笑了。他动了动眉毛:“见笑了。请你把这封信交给一位女子。还有,我想见见近藤局长。”“没、没问题。”“对了,介错(切腹时帮死者砍下头的人)是谁?”永仓,这位身处刀丛也不会眨眼的硬汉,这时实在忍不住流下了眼泪。“是冲田君吧,太好了。”永仓抬起头来,透过泪水凝视着山南平静的脸。“多保重。”言罢,永仓飞快地跑出了房间。
  
  这是壬生屯所里有史以来最黯淡的一个夜晚。近藤的房间里,新选组的高级干部们围在灯前喝着闷酒。冲田在房间里咳嗽个不停。好不容易熬到了天亮。近藤推开了监禁室的门,两人的目光一触即离。近藤高声说道:“局中法度第二条规定:未经准许脱队者,切腹。”山南笑着行了一礼。他脱下了长年穿着的黑色二折层制服,换上了白色的丧服。那制服的袖子上还有明里补过的痕迹。
  
  近藤离开了,永仓突然溜进了门:“失礼了。我一早就找到了一个你想见的人呢。”“开玩笑吧。明里知道我要死了吗?”正说着,有人急促地敲窗户。山南猛一抬头,窗外站着泪流满面的明里。“明里,你......”山南一转身,永仓正笑着向他眨眼。“谢谢你!这样我死了也甘心了。”山南感激地说道,说完便把手伸出窗外。明里破涕为笑,说道:“您没事就好。姊姊生病了,我要回山科看她......”“真感谢你来看我,这多亏了永仓君。”“敬,你要是死了,我也和你一起死!”“千万别这么想。能见到你真好......快走吧,再见。”“可是敬......”山南毫不犹豫地关上了窗户。“敬,敬!”窗外传来了明里的哭声。山南回过头,永仓不知何时已离开了,冲田端坐在身后。“你来啦,”山南凄惨地笑道:“拜托了。”说完举起了短刀。冲田轻咳两声,拔出了长刀。门突然呼拉一声开了,土方带着胜利的表情站在门口。山南斜眼看了他一眼,大叫一声,使出全力把短刀刺向了自己,然后向下直切。在这一瞬间,冲田的剑象一道白光在空中闪过。
  
  真正使新选组削弱乃至灭亡的不是萨长等藩的倒幕军,更不是各路刽子手,而是这种自内而外的分裂。山南敬助脱走事件之后,新选组便走了下坡路。庆应三年(1867年)六月,伊东甲子太郎又步了山南的后尘,率领亲信队士出走,和藤堂平助等人在京都高台寺自立门户,被人称为高台寺党。他们还从“尊王”的口号出发,积极接近讨幕派,不过好景不长。同年十一月,土方率新选组主力剿灭了高台寺党,又一次重演了石达开事件。但话说回来,不论是山南、伊东还是土方,都是有胆有识的好汉。

作者:nonono11 回复日期:2005-9-1 19:23:35
 
 
  血殉!日落伏见鸟羽
  
  历史的车轮运转到了1868年,战国时期之后的第二次大混乱开始了。新选组和日本民族同样走到了命运的十字路口,而把日本导向资本主义强国和把新选组导向灭亡的,就是戊辰战争的第一役--伏见、鸟羽战役。
  
  1867年底,德川庆喜提出“大政奉还”,企图以退为进。大久保利通等维新派立刻发动“王政复古”政变,并提出了鲜明的战斗口号--“辞官纳地”,即要将军交出所有权力和大部俸禄,从而把幕府逼上了绝路。德川庆喜仗着自己兵力强大及法国的支持,趁夜逃出京都二条城,回到大坂,决心不惜与维新派一战。
  
  这时的新选组在土方的改组下已成为一支法式近代步兵组织,已能够胜任任何一场近代战争。旧历1867年十二月十二日傍晚,新选组一百五十多人奉会津藩主松平容保之命来到伏见奉行所布防。奉行所附近地形开阔,队士们构筑工事,将其变成一座要塞。预备队由会津军事奉行林榷助所率藩兵两百人担任。一旦和萨长土三藩的战争开始,这里就会变成最前线。
  
  紧要关头,新选组旧伤又发。由于高台寺党的残党在竹田街道边的狙杀,身负重伤的近藤和咳血不止的冲田不得不回到大坂城养伤,从而使得新选组的力量进一步削弱了。
  
  双方的战斗即将开始,现在只是时间问题。不论是德川庆喜,还是近藤、土方,乃至会津藩的步卒,都对幕军的胜利深信不疑。尽管德川庆喜“大政奉还”后不过是一方诸候,但此时大坂城内旧幕军加上会津、桑名两藩兵马共有五万大军,而尽管萨长土三藩拼命动员,这时在京都也只有五千余兵力。只有那些不懂兵法的普通百姓才会认为战斗还没开始便胜负已定。但这样的战斗,就连京都联军总司令官,萨摩藩军赋役西乡隆盛也心中没底。当时幕军的统帅部制订了如下方案:首先派遣万余先锋军从大坂直取京都,打垮京都的倒幕军,然后控制年幼的天皇。大多幕臣认为这便足以结束战斗。
  
  旧历十二月二十五日晚传来的要求德川庆喜“辞官纳地”的消息成了整个戊辰战争的导火索。“此次天子敕意如此,乃是奸臣所为。奸臣皆萨摩藩士,旧幕臣甚忧萨摩之真实用意。”大坂城内群情激愤,迅速草拟了以此为中心的《讨萨表》。就在京都的公议政体派在为和平解决奔走之时,庆喜认定不可能有和解的希望了,随后立刻发出命令:“我意已决,全军覆灭即退守大坂,大坂失即退守江户,江户破即退守水户,彻底抗战!”1868年旧历一月二日,借口进京奏请“辞官纳地”,老中松平正质指挥先锋军一万五千余向京都进发了,大目付堡川俱拳所部高举《讨萨表》走在前列。“岛津这下完了!”大坂人目送队伍出征时纷纷断言道。
  
  三天后,堡川队八百余人前进到鸟羽中之桥时,萨摩藩五大队监军椎原小弥太率部拦住去路进行盘问。黄昏时分,京都方面终于下令讨幕,幕军方面同时由于担心夜幕会迟滞进军,下令强行通过,谈判彻底决裂。
  
  椎原把右手高高举起,顿时萨军阵中军号长鸣,街道中央的英式大炮立即开火,炮弹直接击中了幕军阵地上的一门大炮。--戊辰战争的第一炮打响了。两军在中之桥附近展开了激烈的战斗,与此同时,伏见方向也传来了激烈的枪声。这里的情况与众不同:双方都已准备多日,但很明显这次新选组低估了对手。萨军的炮兵队早已排好阵势,一上来就对伏见奉行所进行了集火射击。会津军和新选组只有四门青铜炮,射程很短,无论从数量上还是质量上都无法相比。萨军在对面的御香宫神社与幕军枪战,渐占上风。由于装备上的绝对劣势,土方不得不下令队士们进行白刃突击。
  
  从土方的角度来讲,这是他的明智决定。只有趁夜暗突击过去,发挥出新选组的近战优势,消灭对方的炮兵,才能扬长避短,胜利才有希望。但他万万没想到,一次偶发事件使这道命令成了一场灾难。
  
  新选组队士在前,会津藩兵在后,冒着猛烈的炮火匍匐前进,眼看胜利在望了。就在这时,最大的不幸发生了。一发炮弹击中了奉行所的顶楼,燃起了熊熊大火,把双方阵地之间的道路照得如同白昼。萨军发现了偷袭的“白兵队”,立刻集中火力封锁了路面。每前进一步都要付出极大的代价,道路上新选组队士、会津藩兵尸如山积,惨不忍睹。突击彻底失败了,少数突进御香宫神社的人也只能躲在树后不敢露头。凌晨三点左右,土方不得不下令退却,由新选组作后卫掩护撤退。这时如无援军则战斗下去只有死路一条。鸟羽的战斗还在继续,池田屋的功臣助勤山崎丞在桥本宿附近也受了重伤。
  
  这一仗损失惨重:会津兵主将林榷助阵亡,兵士死伤殆尽。新选组里算上打散的共损失了三分之二以上。伏见、鸟羽战败后,德川庆喜出人意料地逃出了大坂,在天保山冲搭乘幕军军舰“开阳”号狼狈逃回了江户。随后又在当月二十日派海军把近五万大军从海路运回了江户,其中包括只剩四十五人的新选组。当晚,山崎丞伤重不治身亡,成了日本第一个以海军礼仪水葬的人。
  
  伏见鸟羽战役其实也是一次以寡击众的战役。幕军最主要的失败原因是装备的落后,加上对手是素以勇猛善战著称的萨摩兵。其实如果指挥得当,发挥出幕军人数上的优势,与萨军打近战、包围战而不是阵地战,胜利还是可能的。德川将军的临阵脱逃使得从大坂的反攻成为画饼,失掉战机,也是失败的重要原因。至于新选组,他们在错误的地点为了错误的原因打了一场错误的仗,就不必多说了。不过他们确实都是壮烈牺牲的。
  
  
  尾声--流山与箱馆
  
  伏、鸟之战后,官军兵分三路,以破竹之势直取江户。新选组回到江户后,近藤勇化名大久保大和,组织了甲阳镇抚队,试图力挽狂澜。四月三日,新选组又在甲州胜沼被新政府的中路军打得大败。干部们回到江户集合,就目前的情况展开了激烈的讨论。讨论的结果是:新选组又一次分裂,永仓新八、原田左之助和幕臣芳贺宣通另起精兵队,近藤勇和土方岁三率残部向足立转移。后来由于被官军探知动向,又转向流山。
  
  流山就在现在江户川的对面。近藤决定把这里作为根据地,联络幕臣松平太郎、佐佐井半十郎、平冈越中守、松波榷之丞等人,反攻包围江户的官军。当时新选组的残部加上来投奔的幕兵也只有百十来人。为了对付官军很快就会发动的进攻,近藤勇在流山精心布阵,积极备战。果然,就在布阵完毕的翌日,官军得到消息: “流山有不法之徒聚集。”
  
  走东山道的中路军进军非常顺利。中路军总督是岩仓具定,参谋是板垣退助,谷干城任军监。后两人都是土佐藩士,谷干城亲统陆援队,一心想为坂本龙马和中冈慎太郎报仇。当时普遍认为坂本和中冈的死是新选组所为(其实是幕府所为),板垣和谷一听说有幕府的残党,顿时磨拳擦掌。特别是在他们听说匪首是近藤勇和土方岁三之后,更是发誓要捉到这两人。其实,土佐武装倒幕也并非真心。土佐藩主山内容堂原来是最积极的公议政体派。这支东山道军除了在甲州击破了新选组之外,另一件大功就是在下取访消灭了相乐总三的赤报队。
  
  攻击流山的部队分成三股:主力由香川敬三率领,另两路指挥官是萨摩的有马藤太和彦根的西村滠三。部队渡河后立刻包围了村子,进行威吓射击。当时正好传令兵去招集所有干部到相模屋开会,结果由于哨兵的疏忽,没能及时发出警报,最后所有干部与士兵分开后被困相模屋,使部队失掉了指挥,任何有组织的抵抗都成为不可能。近藤和土方正在干着急,外面来报:“官军派来了代表,要会见主将。”“我去!”土方呼地站了起来。“就说我们是脱走兵镇抚军。”近藤叮嘱道。
  
  土方一进房间,就看到西村和有马两人笔直地站着。“你是?”有马立刻发问。“幕臣内藤隼人。”土方面不改色心不跳。“你们为何携带武器聚集于此?”“江户的逃兵和不法农民试图暴动,我们在此担任镇抚任务。”土方对答如流。“江户已开城投降,附加条件中就有不法逃兵一律归顺官军。哼,我看你们是以镇抚为名的反乱军!”“哪儿的话,现在谁还敢和天朝做对?”土方打定主意要把谎圆到底,有马和西村也毫无办法。“那么,交出所有武器投降吧。”说完便不由分说把土方搁在一边,又把近藤叫了进来。“你叫什么?”有马和西村紧盯着近藤。“幕臣大久保大和。负责指挥此地的驻屯兵。”接下来又是一串类似上文的问答游戏。这当儿,又一些军官进了房间,其中包括彦根藩的渡边九郎左卫门和冈田将监。渡边一进门,看到房间里的“大久保大和”,立刻大吃一惊。“这不是新选组的近藤队长吗?”他差点喊出来。彦根藩是谱代亲藩,幕末时期积极参加了镇压尊攘浪士和打击长州的战斗,一度和新选组关系密切。渡边曾去过京都,房间里除了他以外没人认识近藤。两人对视着,近藤紧张极了,生怕身分暴露,说话也不大顺了。“我们,是,陆军总裁胜安房守部下旧幕军镇抚队。”这时,渡边在西村的耳边小声说了几句。近藤正在和有马说话,没有看见,但却没逃过土方的眼睛。近藤终于同意投降,西村却突然开口了:“大久保阁下,欢迎你归顺。既然你是队长,那么请你跟我们去一趟板桥的本部,总督想见见你。”土方的身子一颤,赶紧向近藤使眼色,近藤却没看见。“好的,我准备一下就去。”近藤微笑着答道。土方愤怒地一转头,渡边正紧张得满头大汗。两人的目光激烈交锋,土方恨不得一刀斩了渡边。
  
  回到二楼,土方问道:“近藤君,你真的要去吗?”“怎么了?”近藤笑着说,“你担心他们会对‘大久保大和’怎么样吗?岁三,你多虑了。”“不,我担心的不是这个,而是官军中有人认识您。”“什么!?”近藤的脸色一变,但很快又恢复了正常。“没事的,岁三。我就说我是镇抚队长大久保大和好了,很快就会回来。一旦事情有所转机,我们如何行动?”“近藤先生......”土方用悲伤的目光看着近藤。近藤笑了:“真的没事的,岁三。好了,我走了。”说完翻身上马。土方岁三目送近藤而去。他第一次感到新选组的全部重担压在了他一个人的肩膀上。
  
  近藤在板桥被枭首不久,土方投奔了旧幕臣大鸟圭介,继续转战在关东大地上。这时土方身边的原新选组高级干部,只剩下斋藤一一个人了。大鸟是出洋留学过的人,背后一提到土方就是“那个没教养的家伙”,土方也看不惯大鸟那种高傲的性格。但两人目标相同,这就使得这对难兄难弟一直合作到最后。年底的会津战役又以惨烈的结果收场。仙台降伏后,本州已无处藏身。1868年十月,嘏本武扬和大鸟、土方等人在北海道登陆,建立了虾夷共和国。共和国拥有一支强大的海军。其中旗舰“开阳”号更号称一舰可敌整个新政府海军。不过好景不长,翌年开春,新政府立即开始了讨伐。当时土方负责江差方面的防御,手下只有步兵一连二百人、炮兵二十人、工兵十人和海军士兵三十人。1869年四月十日,虾夷征讨军二千余人由黑田清隆率领,在江差上岸。由于双方兵力之比是一比十,土方岁三不得不退到山地防守。阵地上,猎猎飘动的“诚”字旗格外显眼。十二日下午三点,政府军开始四面围攻。战斗一直延续到翌晨七点,消耗了大量弹药,政府军才被击退。阵地战一直进行到二十三日,持久战对土方军越来越不利。当晚,土方挑选强悍兵士,第二天亲自率领,从进攻之敌侧后突然杀出,以白刃战打得敌人措手不及--这也是剑术最后一次显示威力。一直到三十日,江差阵地都没被攻破,土方在众寡如此悬殊的情况下连战连胜,实属不易。由于其它地方失守,大鸟决定退到五棱郭要塞死守,遭到土方强烈反对。五月十日,土方率所有生残的新选组队士,试图夺回箱馆,结果在一本木的关门口遭集火射击。队士们一个个地倒下了。终于,土方身中数弹,也永远地倒下了。新选组到此除永仓新八、斋藤一等人外,全军覆灭。
  
  最后还想提提斋藤一。有关这位仁兄的资料出奇地少,可能由于某种原因被人为毁掉了,这里也只有一些:斋藤一(?-1915)新选组成立后入队,曾担任三番队组长和副长助勤等重要职务。甲阳镇抚队被击溃后,化名山口二郎参加了会津战争。维新后改名藤田五郎,作为警部辅助参加了西南战争。笔者本来有种偏见,即斋藤一的名气是漫画炒起来的。想不到一看资料,此君果然神秘莫测。一会儿一个名字,参加了几乎所有的重要战役,后来还为维新政府工作。漫画中斋藤的形象设计得不错,只是真实情况......还是看漫画吧!(哼,想逃避现实?)

在网上找了一些关于“新选组”真实历史的资料

【池田屋事件】
    一八六4年七月,新撰组捕获一名志士并在其家中搜出一些机密文件,得知志士计划放火烧皇宫,趁着混乱把天皇送往长州藩.志士听到计划被新撰组知道后,马上齐集一家旅馆池田屋商讨对策,可是连这事也被新撰组知道,于是新撰组成员闯入池田屋与志士展开激斗,后来京都的三千幕兵赶来支持新撰组,结果志士死的死,被捕的捕,这就是[池田屋事件].
  
  【禁门之变】
    长州藩获知[池田屋事件]后,全藩非常愤怒,于是由长州藩的尊攘志士率领藩兵前往京都夺回天皇与京都,一八六4年八月长州军到达京都后,立刻与幕府联军(幕府军,萨摩藩军,会津藩军等)展开激战,长州军的大炮还对着皇宫猛轰,最后长州军由于寡不敌众而惨败,大部份志士都在这场战争中战死或切腹自杀.因为双方在皇宫九个禁门之一的蛤御门附近的战斗最激烈,所以称为[禁门之变]
  
  【新选组的政治思想--公武合体论】
    新选组在幕末以佐幕派而闻名,维新志士甚至以"幕府的走狗"来称呼新选组。不过新选组的成立宗旨绝非单纯佐幕(身为局长龙头的芹泽鸭可是出身于以勤皇出名的水户派中吶)。幕府末年,黑船来袭,欧美人开始积极进出日本。由于掌控军事政治大权的幕府无力驱逐欧美人,让许多人对幕府产生不信,开始叫嚷着"尊王攘夷"的口号(尤其是长州)。当时的日本武士们的目标就是要赶走这些欧美人(攘夷),只不过所主张的手段不同 : 主张将政治军事大权还回天皇,由天皇主导攘夷 (尊皇攘夷 );还有一派主张由幕府和天皇携手合作,共同攘夷 ( 公武合体 )。基本上新选组属于后者,希望天皇将军共同携手抵抗外敌(绝非不尊重天皇喔,而且当时天皇和幕府的关系良好,孝明天皇本人基本上就支持幕府)。不过幕府缺乏这个魄力来壤夷,所以新选组壤夷的目的就一直没有实现。身为维持京都治安的组织,新选组所捕捉的浪人其实大部分是激进派尊王攘夷的浪人,也就是和自己同样支持壤夷的同胞。虽然捕捉浪人是为了京中治安,那时对自己新选组存在目的感到质疑的干部也相当多,除了勤皇思想的山南敬助、藤堂平助外,连近藤勇本人都曾写信给多摩的亲朋好友表达未能壤夷而想解散新选组的意愿。后来支持幕府的孝明天皇死后,天皇和幕府的立场更加对立,公武合体的理想更无法实现,虽然近藤勇为了公武合体的理想奔波劳苦,最后时不予我,也只能选择支持300年统治权的德川家(这和他多摩出身有相当大的关系)。虽然明治时代当权者的特意抹黑,新选组成了谋反的逆贼,不过由近藤勇所留下的书信文章看来,新选组尽忠报国的意愿是值得肯定的。
  
  【局中法度】
    <法度>日文的意思和中文有些不同。法度在日文里指的是绝对不可以去做的事,翻成中文的话,翻成"禁则"或"禁律"较为适当。新选组的局中法度的5大禁则下,据说尚列了许多的小细则。例如非因公务与他人拔刀相对,如果未将对方打倒即为法度,需接受切腹的制裁。在背部受刀伤也被视为士道不觉悟,切腹!事实上因违反法度接受切腹制裁的队士不在少数(约3、40人左右)。违反局中法度,动不动就是切腹的下场,常被评为不人道。
    不过这必须考虑到新选组法度作成的背景。面对大量招募队士随之而来组织的扩大,而且队士不少是非武士阶层的商家或农民出身,没有一个中心的规定,就无法约束这群乌合之众的行为。可是新选组局长(或干部)与队士之间并非上下关系,只能说抱有相同理想的同志,没有立场订一些规则强迫同志们遵守。在这种情况下所能做的就是提出一些身为武士所应有的觉悟及为达成报国的目标应有的共识。身为武士有配刀及杀人的权利,相对的就有必须遵守武士道的义务,行为不符合武士道而违背了身为武士的义务,本就该接受"切腹"这个制裁(切腹是武士阶层专有的特权,甚至被视为光荣的死法),所以违背士道必须切腹,其实并非是新选组内特别严格的规定,而是身为武士,有权利杀人配刀阶层本身应有的觉悟。
    新选组后4条的法度:禁止脱队、禁止随意强借金钱、禁止擅自进行诉讼(有点意义不明)、禁止组内斗争的规定,可看做是为达报国目队内同志应有的共识。也许这些行为并无违反武士道,但为达成报国目的,也是队内同志不得不遵守的。所以后来身为高级干部、又是近藤勇试卫馆以来同志的山南敬助脱队,也是切腹的下场。有许多书籍在此形容土方岁三或近藤勇的冷酷,但新选组法度的性质是队内同志应有的共识,即使是局长也没有权利违反,否则这个法度就会完全失去约束力。山南的切腹,其实是为保新选组继续运行下不得已的决定。
    不过并非进新选组的队士的目的都是为了报国。有人为了私人报仇(进新选组大概是当时平民阶级能合法拿刀杀人的唯一机会),有人为了扬名,更有人是为了丰渥的薪资进入新选组。对这些人而言,既没有身为武士应有的觉悟,也没有理解报国应有的共识。正因为每个人进新选组目的不同,所以更需要有维持新选组存续的法度。
  
  【新选组的队服】
    3、4百年前的服装,至今都还可以在博物馆内看到,短短1百多年的新选组队服,至今1件都没有流传下来。不过根据史料上流传下来的记载,可以大概知道新选组队服的样子:袖口有白色山型的浅葱色羽织(外套)。袖口的白色山形花样,据说是为效法『忠臣藏』里赤穗义士的武士道精神而模仿赤穗义士的穿著。至于浅葱色则是赤穗浪士切腹时穿着服装的颜色(不过一般切腹的装束是白色),浅葱色的队服,象征着新选组必死的决心。(据说是芹泽鸭设计..不过没有实质证据..)
    队服是在壬生浪士组时代就制作了。当时新选组财务状态颇为拮据,制作队服的财源据说是芹泽鸭带着山南敬助、永仓新八、原田左之助、井上源三郎、平山五郎、野口健司、平间重助7人前往大阪向当地有钱商家『鸿池』强借而来。根据流传下来的借据上日期看来,队服的制作日期应在文久3年7月的事。队服的质料粗糙,据说平时队士不太穿,只有在公式场合中穿着。最后被目睹新选组集体穿着队服出现的场合是池田屋事件,在那之后就没有新选组队员穿着队服出现的记载,由此推断新选组队服的历史其实可能只有短短1年。早期的新选组知名度不高,集体穿着队服有加强印象的效果,不过后来队服变成浪人辨识新选组队士的记号,对新选组取缔市中不法浪人的行动造成反效果,所以这可能是废除队服的主要原因。
    一般电视剧中,局长及副长会穿着白底黑色山形的羽织,不过事实上新选组的队服只有上述一种,局长及副长的羽织,为电视剧所创作。根据永仓新八的后代指出,的纽带长短象征着队士在组内的阶级,纽带越长代表队士阶级越高。由于局长、副长似乎不穿队服,纽带最长的应该是助勤(队长)吧...(不过长纽带看起来似乎对格斗不利....)
 
 
1月31日

最好的Ghost软件 Acronis True Image 使用教程 - 比Norton Ghost强N辈

Acronis True Image 使用教程(中文版)

  大部分的品牌机都有恢复功能,如果系统崩溃或者中毒,利用一些方法就可以把系统恢复到出厂时的状态,这非常方便。在多种恢复方法中最简单的就是一键恢复了,恢复系统需要的文件都保存在硬盘上一个特殊的隐藏分区中,平时是不可见的,但只要在启动时按下某个特定的健,系统就可以从那个隐藏分区恢复整个硬盘,这样既不用担心恢复光盘丢失,也不用担心重新安装操作系统和应用软件耗费时间和麻烦。

  不过如果你用的是自己DIY来的电脑,自然就无法享受这样的服务了,但好在我们也有软件可以完成类似的操作,那就是Acronis True Image。这是一个跟Ghost类似的软件,不过相比Ghost,这个软件更加强大。

  首先,这个软件的备份和恢复完全是在Windows下进行的,不像Ghost,还需要重启动到DOS下,所有的备份和恢复工作都不需要重启动系统,尽可能不影响用户的工作。另外,由于使用了特殊的技术,因此如果软件要备份的文件你正在使用的话,那也完全没有关系。

  其次,这个软件可以在硬盘上开辟一块用于保存备份文件的名为“Acronis 隐藏区”的隐藏分区,这个分区无法直接看到,而且一般的病毒也伤害不到,甚至格式化也伤害不到。只有在运行恢复程序的时候(可以是从Windows下,也可以是用恢复软盘或光盘引导,也可以在启动的时候按F11键)才可以看见,这样就最大可能的避免了备份文件被无意删除或者病毒破坏。只要不是硬盘发生了物理上的故障,都可以恢复。

  再次,安装这个软件后只要在电脑启动后按下F11,就可以自动运行恢复程序,并从“Acronis 隐藏区”中保存的备份文件中恢复出恰当的备份。

  Acronis True Image 有多种版本,不同的版本对应不同的操作系统。现在的所有版本都有“Acronis 隐藏区”和F11的一键恢复功能。本文以 Acronis True Image 9.0 Build 2323 繁体零售版 为例说明。



  一、安装

  软件安装跟一般的软件都差不多一样。












  软件界面说明:软件运行后的界面就像Windows的控制面板,所有可用的操作都以图标的形式分类排列在窗口中,双击每个图标就可以执行相应的任务。




  二、备份

  在开始备份之前,我们必须先激活启动恢复功能。以后启动电脑后系统就会提示我们是否按“F11”键进入“Acronis True Image”恢复系统。如图:


  第一步:单击“激活启动恢复功能”按钮。


  第二步:选择从哪块硬盘以及哪个分区上创建“Acronis 隐藏区”,这将在你的这个分区上分出一块空间来创建隐藏分区。你也可以保持默认设置,直接“Next”。一般我们都是选择硬盘的最后一个分区,不过你选择的分区一定要有足够的空间用来备份。以后卸载这个软件后,会删除隐藏分区,并将空间释放出来。


  第三步:指定“Acronis 隐藏区”的大小,这里可以使用默认值,或者设置成2GB―5GB之间。以后可以随便调整大小。


  软件正在创建“Acronis 隐藏区”,屏幕右下角可以看见创建进度。


  第四步:备份系统。

  1、双击“备份”后会出现一个向导形式的对话框,点击“Next”。选择备份分区,如果选择备份文件夹或文件,则会看到另一个界面——如下界面。选择想要备份的硬盘或者分区,一般是安装操作系统的分区,我们选择Disk1上的C盘,然后点击“Next”。






  2、将镜像存放在“Acronis 隐藏区”,点击“Next”(这是最安全的位置,因为“Acronis 隐藏区”是“Acronis True Image”创建的隐藏恢复分区,把镜像存放在这个隐藏分区里,一般软件和Windows都找不到,甚至格式化都无法伤害到它。当然也可以自己选择存放位置、命名,不过这样创建的镜像可以被Windows识别和删除。)












  除此之外,你还可以通过True Image的计划任务功能设定电脑在规定的时间内自动备份,并且可以只备份改动过的文件,同样,这一切操作都是在Windows运行的情况下在后台完成的,丝毫不会打断你的工作。具体方法是这样的:在“Task(任务)栏目”下双击“Schedule Task(计划任务)”图标,接着同样会出现一个向导对话框,点击“Next”继续。同前面的备份一样,我们要选择欲备份的分区以及保存备份文件的位置,选中要备份的C盘,然后点击“Next”按钮继续。选中“Acronis 隐藏区”并继续,之后的一步保持默认设置。再下来选择压缩比的时候同样可以选择高度压缩。

  根据你不同的选择,点击Next后还会出现不同的界面。例如在这里我们选择“Daily(每日)”,那么随后就需要设定在每天的什么时间进行备份。我们完全可以选择让程序在每天晚上空闲的时候操作。最后如果你的操作系统是2000/XP/2003,那么你还需要为计划任务制定一个密码,使用你的登录名和密码即可。完成后你就可以在“Task”栏目下看到代表我们新建计划任务的图标,你可以修改、立刻运行或者删除这个计划任务。



  三、还原

  如果你的Windows被破坏以至无法正常启动时,不要惊慌,Acronis True Image 可就发挥作用了。重启,当出现下面提示后按下“F11”键。稍等片刻,进入Acronis True Image系统。(在Windows系统里面还原跟F11还原效果是一样的)


  选择Acronis True Image进行还原,选Windows则继续启动系统。


  双击还原图标,启动还原。


  1、选择镜像所在的位置。我们选择之前备份的“Acronis 隐藏区”。


  2、选择需要恢复的镜像,在这里我们选择C盘的镜像(这一选项类似于WindowsXP的系统还原功能的还原点选项),如果你只备份了一次系统,则不会出现这个窗口。


  3、点击“Next”后选中C盘(也就是还原到C盘)。之后一路选择“Next”即可,后面需要选择的使用默认即可。




















  如果你的Windows还可以启动,只是一些小毛病,那就更简单了,根本不需要重启动系统,只要在Windows下就可以完成(当然,如果你恢复的是系统分区,恢复完成后还是需要重启动一下的)。由于大体的步骤跟前面差不多,因此这里就不再多说了。



  四、浏览镜像文件

  跟Ghost一样,True Image也有一个镜像文件浏览器,在True Image的界面上双击“挂载影像”图标,然后在向导中选择“Acronis 隐藏区”或者其他的保存了镜像文件的文件夹,并多次点击“Next”。稍等片刻就可以在我的电脑中看到一个新加入的硬盘分区,这就是映射出来的镜像文件了。我们可以只读访问这个分区以提取其中的文件。遗憾的是我们不能对其中的文件进行修改,也不能加入新的文件。访问完毕后在True Image界面上双击“卸载镜像”图标,就可以删除掉映射的分区。

  True Image的使用基本上就是这些了,经过上文,Ghost和True Image哪个好用你更清楚了吧。相信有了这个强大的备份工具,你就在也不需要担心系统的安全问题,而且以后的备份和还原工作也将更加简单。



  五、其它

  1、前面我曾提到过可以把镜像文件存放到“Acronis 隐藏区”以外的分区上,当我们选择好位置并命名后,点击“Next”;后面的操作和前面大体一样,只是在最后会询问我们是否分卷(这类似于WinRAR的分卷压缩功能,制作多张还原光盘就使用这个功能。注意:如果你是制作多张还原光盘,必须使用通过该软件创建的启动盘才可以还原,普通的Dos启动盘是不可以的。由于软件创建的启动盘不止一张软盘,因此要用到其它辅助软件RamDisk来创建单一的光盘引导文件,具体这里就不再详细说明,自己可以到网上搜索一下。如果需要这个软件的光盘引导文件{img格式},也可以与本人联系。),其后还会询问是否设定密码等。所有的操作完成后,就会生成一个后缀名为“tib”的镜像文件,我们可以直接在Windows下查看、移动、删除、重命名该镜像文件,这样就可以更加方便、灵活、直观的管理我们的镜像了。

  2、Manage Acronis Secure Zone(管理安全区),可以调整Secure Zoner的大小和位置。Activate Acronis Startup Recovery Manager(激活启动恢复功能),如果你刚才没有激活一键恢复功能,也可以以后点击该图标激活它。

  3、Check Image(检查镜像),可以检查镜像是否损坏。

  4、Create Bootable Rescre Media(创建启动盘),如果你在安装该软件时没有创建启动盘的话,建议你现在就创建它,以防万一。值得一提的是该功能不仅能制作软盘启动盘而且可以制作光盘启动盘!呵呵,这下有刻录机的朋友们有福了。(创建的启动盘如果选择Full模式,需要6张软盘。如果选择Safe模式,需要3张软盘。)

  5、Explore Image(浏览镜像),可以映射出来我们备份的镜像分区。我们可以只读访问这个分区。

  6、Unplug Image(删除映射),就是删除掉映射出来的分区。

  以上几个功能操作都很简单,我就略过不说了。


9月25日

High Definition Audio 驱动无法安装的问题

我安装系统的时候,因为我是915芯片组 , 因此也遇到了 High Definition Audio 的问题 , 解决方法很简单 :


到微软官方补丁地址下载:


http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D0934D06-15B3-4A65-8C52-746BEB24E86C


相关信息参见:


http://support.microsoft.com/kb/901105

 

请记住是901105 , 小心网上很多人以讹传讹 !

9月24日

Intel® High Definition Audio(译文)

出处:http://www.intel.com/design/chipsets/hdaudio.htm

1、音频规范的今天与明天
为了提高板载声卡的功能及性能,作为业界的领头者Intel研发出了新一代的音频规范Intel® High Definition Audio,简称Intel®HD Audio。与过去的音频规范相比,新规范提供了多通道以及高质量音频的支持。现在,在Intel®主板芯片组中已经提供了新规范的模块。

2、找到更棒音频的机会
在AC'97在最初开发的时候,我们的使用者通常只能在音乐或影片中听到立体声的声音,然而随着DVD影片中加入了Dolby Digital 以及DTS 多通道音频格式以后,用户通常可以获得多达6至8个喇叭的环境声效果。随着AC'97技术努力与这些新技术同步前进时,我们将Intel High Defintion Audio设计成用于体验高质量多通道的音频,许多新的音视频编解码技术也将可以获得更高质量的效果。
现在,很多人将他们的计算机搬到起居室甚至是卧室里来听音乐或看电影,他们往往会选择大尺寸的电视、最好的音箱,而这一切都会受到当前计算机音频子系统的限制,不管是独立或是内置的都将降低数码体验的效果。
许多用户有同时播放两种音频的需要,例如在学习时播放古典乐的同时在起居室里播放电影,先前的音乐解决方案无法满足这种需求。

3、一个突出的声音体验
对于前一代的音频规范和声卡,Intel HD Audio提供了重大的改进:Intel HD Audio硬件提供多达8个声道192kHz/32位的音频精度(AC'97仅提供6声道46kHz/20位),Intel HD Audio能提供对特殊故障和错误的保护,这是其他解决方案需要牺牲带宽甚至减少音频功能才能实现的技术。

4、数码生活的革命
作为Dolby实验室进入PC领域的一部分,他们选择了Intel HD Audio,为电脑带来Dolby-quality 环绕声技术。新技术的结合是为客户提供了数字音频重要里程碑,Intel HD Audio 将能支持所有的Dolby技术,包括最近的Dolby Pro Logic IIx,一种将立体声转换为7.1声道环绕声的技术。
Dolby PC娱乐体验专用于基于Intel的PC,包括带超线程技术的Intel® Pentium® 4处理器或 装有 Intel® Express 芯片组和Intel® High Definition Audio的Intel® Pentium D 处理器。Express芯片组包括:
-Intel® 955X、945G以及945P Express 芯片组
-Intel® 925XE和925X Express 芯片组
-Intel® 915G、915P、915GV、915GL、915PL Express 芯片组
-Intel® 910GL Express 芯片组
提供同时播放CD和DVD音频的能力,Intel HD Audio提供多音频流的能力使得用户可以在同一台电脑同一时间在不同的位置播放不同的音频流。例如:在用5.1声道玩游戏的同时用耳机在 Internet上与别人聊天,或是在客厅里放5.1声道的DVD电影的时候听网络音乐。
微软选择Intel HD Audio作为新的统一音频体系(UAA)中的主要部分,为Intel HD Audio控制器和Codes提供统一的驱动程序,由微软的驱动提供底层的Intel HD Audio功能,由生产厂商为Codes提供自已产口不同的功能驱动,因此为高质量PC音频和用户之间提供一个无缝的集中式的驱动程序。

5、增强的功能
Intel HD Audio提供多声道阵列麦克风输入,通过增加麦克风阵列的大小,用户可以获得更好的噪声消除效果。并提供高质量的语音识别,VoIP,以及其他的语音驱动能力。
Intel HD Audio提供了增强的插线连接方式,当设备插入某一个音频插口时,计算机可以自动感知并检查出这个设备的类型,如果设备插入了一个错误的插口情况下,计算机也可以直接改变这个插口的功能。例如:麦克风插到了音箱插口中,计算机将自动发现错误,并将这个插口的功能改变为一个麦克风插口,这是一个重大的变革,用户将不需要担心是否插错插口。

6、未来的解决方案
"glitch-free"音频播放、多音频流、插口重设以及UAA支持,Intel HD Audio提供多年以来音频需求的解决方案,作为与 Intel® 955X, 925, 915, and 910 Express 芯片组一同发展起来的新技术,Intel HD Audio将会为终端用户以及PC和电子产品带来集中式的数字体验。

PS:一些新的HD Audio驱动里还附带了卡拉OK的升降调、人声消除的功能,可以用在KTV软件,不过目前一般为了降低成本,这些业者都会选择PIII或赛扬的平台+ MPEG2解压卡,所以这些功能可以说是可有可无的,对于家庭用户或许有所不同吧....当玩具也不错啦