浏览模式: 标准 | 列表全部文章

责任,生命不能承受之重(二)

    我们到达江垭小学的时候,是上午的10点多,从青山到江垭,接近1个多小时的盘山车程,公路在整修,在不太宽的公路上,司机以40迈的速度,小心的避过一些障碍,偶尔一脚刹车,考验我们的心脏承受能力。路边的风景不错,青山绿水,雾气升腾。山如斧劈,坠落而下,山脚春水环绕,镜面一般,倒影着灰黄的山壁,苍翠的山头。

       江垭学校挺好,以至于到达的时候,怀疑是不是来错了地方。有一幢比较新的教学楼,有一幢比较旧的教学楼。穷的永远不是地方,穷的是个体。校长和我们说,后面的楼是香港的一个基金会捐的。校长看上去很干练,实际上也是。他已经做了2次信息筛选,筛选出来了17名学生,比较贫困。把给孩子们带的文具送到孩子们的手中,和他们一起合影,然后开始家访,分南北方向,有两辆小面包车。校长的安排很妥当,我们一行4人,分2组,一组会有一名副校长,一名教职工相陪。我和苗苗走访了6个家庭。

       穷人的孩子早当家。他们每天自己走着山路到公路,然后坐车上学,一走就是十几里。甚至来说,他们的笑容带着成人的忧伤。早熟的让人觉得可怕。

       穷人的孩子很难改变命运,因为穷,不管多好的成绩,总是很难接受到高等教育,然后出门打工,打工的时候认识一个差不多命运的女子或男子,然后结婚,生小孩,小孩放在老家,每个月寄一些钱回来,让自己的父母,孩子的爷爷奶奶把孩子带大,然后孩子继续重复着长辈的生活,周而复始。没有比填饱肚子更重要的事情,就算是九年义务教育也一样。如果上述的环节任意一个节点发生故障,这个孩子将面临着灭顶之灾。

       走访的第一个孩子是乐乐,和爷爷奶奶一起,爷爷奶奶还要养大伯的孩子,另外一个堂兄弟。父母离异,父亲牢狱之灾。大伯母懒惰,打麻将度日,自己的孩子不管,交给爷爷奶奶。呵,就算是只畜生也会教子女谋生的本身,不是么?原谅我用这么尖锐的词语,或者真是这样,畜生一直是畜生,人有时候不是人。爷爷说着孩子他爸的牢狱之灾,哭了。听说我们能帮助乐乐完成学业,激动的要磕头。我吓的不轻,所幸搀扶住,不然我需要磕头磕回去。我想,父亲在动手和别人打架的时候,肯定想到了孩子的,只是红了眼睛后,就忘记了。

       东坡家没有通电,住在一个由土砖和木头搭建起来的棚子里。屋子没有窗户,揭掉几块瓦片,用透明的塑料膜罩着,就能采光了。东坡有个姐姐在长沙上大学。父母辛勤劳作,供养一位大学生。东坡会做很多手工,会说,嗯,我觉得还行,特别淡定。会在我们进屋的时候招呼老爸说,拿橘子出来给客人吃。辛苦劳作的夫妻俩,供一个大学生负债累累,我们一直说接轨,嗯,物价接轨了,教育收费接轨了,这叫学习国际上的先进经验,待遇不接轨,教育质量不接轨,他们管这个叫国情。在贵国活了快30年,只能说,贵国的事情,我是不明白的,估计也闹不明白了。

       小闯刚出生时,应该是家境还不错的,爷爷是村支书。后来母亲重病,借了很多钱也没有治好,最后西去,父亲5年前出门打工,从此杳无音信。以万恶的阴谋论分析,父亲从小挺有点官二代的感觉,大肆借贷后,还不上,只能离开家,出门打工,应该也没挣到钱,所以杳无音信。看爷爷的一脸从容的样子,嗯,老爷子挺坚强,小闯可以依靠。

       美军的父亲是爷爷的养子,美军家离公路边上十几里。我问他的时候,他浅笑着说十几里。好像我们说着十几米一样。一幢没有完工的楼房,没有门,没有顶。一个木板搭建的窝棚,爷爷和奶奶年纪大了,靠每个月的120元低保生活。爷爷的床为了保温,用雨布给挡着,里面完全没有光线。父母都出门打工,杳无音信。外面的世界精彩么?孩子他爸妈,记住啊,还有一个孩子是你们带到这个世界,你们也要让他有机会,能站在外面的世界,堂堂正正的有一份工作,才能养老送终。

       励晴和妈妈住在一个遭遇了山体滑坡的危房里,墙上最大的裂缝有10公分。姐姐在上高中。还是那个问题,贵国的事情,我是弄不懂了。我只好自己去适应。我在想,物价上涨的速度远远高于农民工的待遇上涨速度。怎么连普通家庭都贫困成这样了?那只要想改变命运的农村的娃就必须经过这一劫,那信奉读书改变命运跳出农门的农村子弟,是不是就差陈胜吴广了?让一部分人先富起来,然后让那些农村的娃自生自灭,用计划生育和变态的婚嫁观念让他们在100年内消亡殆尽。最后实现了共同富裕。嗯,这个解释比较合理。

       小方华家住在谷底,很深,因为父母身体不好,而梯田均在谷底,为了看护庄稼方便,于是把房子建在谷底,父亲胳膊受伤,母亲腿脚不好,小方华回家了第一件事就是写作业。我没有什么好评价的,因为现实就是这样,努力学习,不是为了中华崛起,只是为了把房子搬到高一点的地方,然后有一个宽敞明亮的屋子,让父母生活了的好一点,只是如此。

家访后我更新了一条微博:我们来做这些事情,不是为了收获感激,他人的敬佩。我们只是想在适当的时候,做一些适当的事情,而这些事情很凑巧的帮助孩子们解决了一些问题,那些被帮助的孩子能把这个好传统传承下去,这样就挺好。想想吧,不到1w就能帮助一个小孩子从小学到初中毕业,持续九年。 而对一些人来说,半个包包而已。或者这就是所谓的城乡区别?我们很难想象,一家人靠着一百多块就能过一个月,会怎么过下去。那些外出打工,杳无音信的父母们,那些打麻将度日的父母们,那些父母官们,他们能想象吗?或者就是他们忘记了吧。

我们来解2个字:

责,上青头,做青春解,做岁月解;下贝,做钱解,做贵重物品解。青头说,需要付出青春,贝说,需要付出钱,当然,时间也是自己的宝贵物品。

任,人旁,壬体,壬是任的初文,甲骨文字形,壬即担荷的担子的竖立形。本义:挑担;荷;肩负,即为承担。从人旁,做担子,行李解。

社会应该承担的责任,他承担了么?是什么造就了留守的孩子,单亲的孩子,和父母俱在身边的孩子会有明显的差别?

不是为了批评什么,因为批评不能改变任何一点现状。只是忘记责任,逃避责任的父母,还有我们的父母官,是孩子们的灾难。

责任,生命不能承受之重(一)

   早上7点半从慈利出发,接近9点到达青山小学。一幢破旧的楼房,2个长满铁锈的篮筐树在水泥地的篮球场上,雨后,有几滩积水。有2个有缺角的兵乓球台,水泥制品,有点年头了。32名小学生,共有4个年级,3个班。3年级和4年级放在一起教学。还有50多个小朋友在幼儿园。在3楼,有一个房间有一个室内的兵乓球台。由于长期的无人使用,已经变形。孩子们在学校吃饭,由于营养的关系,小家伙们大多不能使用兵乓球,当然,更不会打篮球,因为学校里面没有。学校共有2名公办的老师,3名代课的老师,2名幼儿园的老师,1名教职工,给孩子们烧饭。和我们接触的是资格最老的老师,用电动车,从十几里外的邮局,拉回来我们之前通过邮递送给他们的图书,一次拉回来一部分。每一个孩子,她都能叫出名字。有小孩调皮,她会像严母一样责备教育他们。

       说到水泥的篮球场,说到室内乒乓球台,她告诉我们,这是教育局干的事情。嗯,我想,她想表达的意思是,其实地方上对他们还是挺重视的。说道她的学校,她的学生,她总是如数家珍,一脸的自豪。谁谁谁的成绩很好,谁谁谁会画画,谁谁谁唱歌挺好的,谁谁谁成绩还不错,没读书了。

       社会赋予了她承担的权利,于是她留了下来,这是一个没有荣誉,没有勋章,没有加薪的工作,让她驻足,一守就是十几年的动力,或许只是那些成就感了。没有承诺,就能相守大半生。我们经常在算得失,算加班,算薪水,在她面前,我真有点抬不起头来。

       另外的一名老师,得知我们捐助的钱,是来源于我们自己的工资,我们公司员工的工资,她一直怕给我们添麻烦,增加我们的开销。她说,你们的钱应该用在更需要帮助的孩子身上,她说,如果你们不怕麻烦,我想提个要求,如果你们能帮我们幼儿园的小孩提供点玩具,不用很多,让小孩子们有个玩具就挺好。几个人轮流玩一个也行,她看上去还年轻,说完这些,脸都红了。可能她觉自己觉得,她不应该提要求,但是她还是说了。

       这就是作为50多个孩子们他妈的责任,不为己,于是她最后说了出来。嗯,这就是我们此行的目的,我们能怎么帮助他们,这个才是关键。

       课间休息的时候,我们离开了青山小学,我们捐助的书尘封在柜子里,没有多少小孩子能看的明白。而学前的教育,小学4年级前能读的书,玩具,只能发动我们基金会的全部成员,去募捐了。希望能给他们一些还算满意的答复才好。 

    不是你们独自在坚守,我们一起。我想,他们的作为是能匹配得上伟大这个形容词的。坚守,会是我们心中的一面旗帜。

我结婚啦

和EMMA同学在2010年的第一个月底认证结婚,然后在2011年1月回家结婚。结婚像打仗一样,穿得西装笔挺了就是不停的敬烟。

大小: 1.65 M
尺寸: 400 x 267
浏览: 47 次
点击打开新窗口浏览全图

07年3月份认识,到现在,呵呵,4年了。

EMMA同学陪着我在顺德,在广州,在深圳,最后和我一起到上海,她挺不容易的。

原版的广东口味,为了我,开始不断的吃辣,并现在口味和我统一。

原版的学院派风格(主要表现是不爱动弹),居然能爱上打台球(主要是我很喜欢去打),也算是一种大的突破。

原版的广东土人,怕冷,和我来到了上海这么一个冬天死冷,夏天死热的地方,10年4月份,甚至在可能有到北京机会的时候,说,愿意和我去北京。

知道我不爱动弹,爱睡懒觉,早上能出去买早餐,等我醒的时候,如果冷了,帮我加热了吃。

还有很多,不一一列举了。

嗯,说实话吧,我真赚大发了。

大小: 1.66 M
尺寸: 400 x 267
浏览: 36 次
点击打开新窗口浏览全图

sybase优化指南--某测试

Sybase自身调优

所有的数据库设备均使用direct IO

锁级别

更改锁级别为 行锁。

 

alter table dbo.WFWorkItem                   lock datarows;

 

见数据库目录  表锁类型.sql

 

注意,如果执行失败,可以通过更改数据库的属性来解决。

其他调优

见数据库  优化集合.sql

sp_configure "default network packet size", 10240 --默认网络包

sp_configure "max network packet size", 10240 --最大网络包

sp_configure "max memory",0,"6553M"  --(设置为共享内存的75%,重启生效)

sp_configure "allocate max shared mem",1   --(启动的时候自动分配max memory指定的最大内存)

sp_cacheconfig "default data cache","3200m" --(设置数据缓存为max memory的一半)

sp_cacheconfig "default data cache","cache_partition=2"     --(SMP的环境中还有一个问题就是螺旋锁的竞争,当用sp_sysmon观察到资源缓存螺旋锁争夺超过10%时就需要分区。)

sp_poolconfig "default data cache","128m","16k" --(增加一个16K I/O缓存池,解决排序等大IO操作,需要在长期观察后才能使用性能最佳化.)

sp_configure "procedure cache size",102400 --(过程高速缓存,通常是Max mem20%,这里是200M)

sp_cacheconfig 'tempdb_cache','200m','mixed'  --(创建一个200M命名高速缓存tempdb_cachetemdpb使用)

sp_bindcache 'tempdb_cache',tempdb --(tempdb_cache绑定到tempdb)

--2CPU(默认值为1)

--当服务器的CPU个数多于一个时,可以考虑多CPU进行并行处理。(并行查询、并行dbcc、并行建立索引、并行bcp)

--可根据实际CPU数来修改,若CPU>1时,一般设置为N-1。实际上OS会自动调度。

sp_configure "max online engines",8

sp_configure "number of engines at startup",8

sp_configure "number of worker processes",200 --(并行度*并发连接数*1.5)

sp_configure "max parallel degree",1  --(允许CPU并行)

--3、连接数(默认数为25,可根据应用需要来修改,连接数不宜太多

sp_configure "number of user connections",600

--4、锁

sp_configure "number of locks",100000

--5、索引对像

--数据库空闲状态下运行:sp_countmetadata "open indexes"

--正常运行时运行:sp_monitorconfig "open indexes"

--来确定一个最佳值,增加10%左右。

sp_configure "number of open indexes",20000

sp_configure "number of open objects",20000

sp_configure "number of open partitions",15000

--锁升级大小

sp_configure "page lock promotion HWM",10000

sp_configure "page lock promotion LWM",5000

sp_configure "row lock promotion HWM",10000

sp_configure "row lock promotion LWM",5000

 

库表调优

索引删除

删除无用索引:

 

在目前的用例中:

 

'WF_IDX_ACTINST_ACTDEFID'

'WF_IDX_ACTINST_PROCID'

'WF_IDX_H_ACTINST_ADEFID'

'WF_IDX_H_ACTINST_PROCID'

'WF_IDX_H_TRANC_PROCID'

'WF_IDX_H_TRANS_PROCID'

'WF_IDX_H_WI_ACTID'

'WF_IDX_H_WI_PROCID'

'WF_IDX_PART_GLOBALID'

'WF_IDX_PROCINST_PRODEFID'

'WF_IDX_TRANC_PROCID'

'WF_IDX_TRANS_PROCID'

'WF_IDX_WI_ACTID'

'WF_IDX_WI_PROCID'

'IDX_WFHWI_PARTIC'

'IDX_WFWI_PARTICI'

'PK_WF_H_WIParticipant'

 

使用最多的索引:

 

ObjectName,LogicalReads,PagesRead,UsedCount

'IDX_WFWI_4ABC',3018890,2000,201048

'WF_IDX_ACTINST_ACTDEFID',2562953,1010,0

'PK_WFACTIVITYINST',2543354,4,553495

'PK_WFWORKITEM',2519425,4,503057

'WF_IDX_WI_ACTID',2417832,4,0

'WF_IDX_WI_PROCID',2414082,4,0

'WF_IDX_ACTINST_PROCID',2324417,3,0

'PK_WFWIPARTICIPANT',1902591,3,301572

'IDX_WFWIPART_WIID',1714977,3,251310

'IDX_WFWI_PARTICI',1609752,457,0

 

其他的索引,基本可以删除,相机而删。

绑定缓存

sp_bindcache 'default data cache','bps','WFWorkItem'

sp_bindcache 'default data cache','bps','WFActivityInst'

sp_bindcache 'default data cache','bps','WFProcessInst'

sp_bindcache 'default data cache','bps','WFTransCtrl'

sp_bindcache 'default data cache','bps','ABC_LOAN_APPLY'

 

绑定default data cache bps。这一部操作需要在master库中进行。

 

然后把default data cache 绑定到 对应的表。

增加索引

wfworkItem增加索引:

 

USE bps

go

CREATE NONCLUSTERED INDEX IDX_LOAN_APPLY

    ON dbo.ABC_LOAN_APPLY(APPLY_ID)

go

IF EXISTS (SELECT * FROM sysindexes WHERE id=OBJECT_ID('dbo.ABC_LOAN_APPLY') AND name='IDX_LOAN_APPLY')

    PRINT '<<< CREATED INDEX dbo.ABC_LOAN_APPLY.IDX_LOAN_APPLY >>>'

ELSE

    PRINT '<<< FAILED CREATING INDEX dbo.ABC_LOAN_APPLY.IDX_LOAN_APPLY >>>'

Go

此索引为查询待办使用。

 

以下操作在公司内部可以在控制台安装数据库时已经ok,所以没有使用。

 

tempmaster中剥离出来:

tempdb数据和日志分离:
USE master
Go

DISK INIT name = 'tempdbdev01', physname = '/opt/sybase/data/tempdbdev01.dat' , size = '1G',dsync = 'false'
Go

DISK INIT name = 'tempdblogdev01', physname = '/opt/sybase/data/tempdblogdev01.dat', size = '1G',dsync = 'false'
Go

ALTER DATABASE tempdb ON tempdbdev01 = '1G' LOG ON tempdblogdev01 = '1G'
Go

USE tempdb
Go

删除tempdb上使用的master段:
EXEC sp_dropsegment 'logsegment', 'tempdb', 'master'
go

EXEC sp_dropsegment 'system', 'tempdb', 'master'
go

EXEC sp_dropsegment 'default', 'tempdb', 'master'
Go

如果已针对 tempdb 建立了设备,则只需禁用 dsyncio,但需要重新启动 Adaptive Server
EXEC sp_deviceattr 'tempdbdev01', 'dsync', 'false'
Go

EXEC sp_deviceattr 'tempdblogdev01', 'dsync','false'
Go

再访北京

上周二上午11点左右,衣风在msn上,string,有个事情需要你帮忙。我说好啊,没问题。

下午2点20,衣风同学说,回家收拾一下,晚上到北京。

于是,我在上周二晚11点20,成功的在帝都机场落地,进行了为期一周的,艰苦卓绝的斗争,和产品,和客户,和自己的斗争。最终更深入的了解了产品,挑战了客户,也挑战了自己。嗯,这种感觉挺好。

--产品--

公司的产品有没有问题,我算是比较清楚的,主要的几个开发人员,我都还算熟。并且他们给我留下了深刻的牛人的光辉形象。毕竟,出去的报告,产品第一版本的性能测试,还是走我手的。

这次没有悬念的没有挑战成功,产品本身可能有这样那样的功能性问题,性能,他还真没问题。当然,这是在硬件环境比较OK的情况下。

某次和一产品线经理喝酒,他端着杯酒,说,哥们,我需要你告诉我的是在什么情况下,我们PK必输。我当时说出了一个条件,他喝了那杯酒。看样子,我可能又找到了一个能让他再喝一杯的方法。

--性能测试--

虽然我的工作重心不是性能测试,而是通过性能测试这种手段来找到产品中的瓶颈。于是我经常这样麻醉我自己,觉得自己全方位的性能测试做的不好是可以原谅的,loadrunner这种工具不会充分使用是能理解的。

大爷的,发现自己骗自己真是容易。

此次来京测试,办公室有一个很有风度的哥们。在第一天性能测试还未开始之前,鄙人大放阕词,说本次测试的一些要求,环境的准备,我们做什么。嘿嘿,那哥们一声不吭的坐在一边。

后来当本人基本属于抓瞎的状态的时候,他的及时出手拯救了半场测试,而后来告诉我,他们一直用loadrunner8的原因,深以为然。

哥们这次回去,就去更新自己的版本,每台机器上装2个版本的loadrunner。原来loadrunner是可以监控WAS的,监控weblogic的,可以监控oracle的,可以监控sybase的,它的强大,可能超出自己的想象。

说起来,除了自己的摸索,经验的积累,让牛人始终有显摆的机会,才能学习到更多。

应该和某同学交涉下,如果他始终不教我上树的本事,以后凡是有老鼠,他还是要亲自来抓。

此次收获着实不小。

--sybase15.3--

这玩意其实挺破的,最难受的,这玩意的最新的驱动还没发布,还是局方内部的哥们拿出来的,2010年9月份编译的版本,比较抓狂的说。

不过也算知道怎么调整sybase的性能了,经验,可能就是这么磕磕碰碰出来的。

比如要把数据库文件和日志文件分开,比如对应多少内核的CPU,要启动多少数据库引擎,再比如说调整页大小,设定表的锁级别。不一而足。

--路盲--

可能在方向感上,还不如一些小P孩。但是我相信大部分方向感很好的人,都去过不少地方。

就像定位问题一样,经验决定一切。

本次的问题定位,从开始的数据库驱动,隔离级别,到数据库索引,锁级别,再到tracert查看网络跳转,到拷贝共享文件确定网络带宽,到应用服务器,http接入服务器,到loadrunner的脚本设置,结果集的分析,到性能瓶颈的定位,但回过头来看看这个故事的发展,可能其他人来做这个事情,就是比你优秀,这是为什么?

难道自己就真的不能再想的深入一点么?

开始怀疑的网络带宽问题,没有深究,导致后面测试工作的被动,还做了很多无用功。

说到底,还是没有细想产品对网络的要求,对应cpu的要求,对于内存的要求,对于磁盘的要求。

走的远了,就不会迷路了;只在一个小范围兜圈子,嗯,有鬼打墙的嫌疑,心中的鬼啊,需要自己去突破。

--岳昆--

和这哥们挺有缘分的,当时查找我们公司找到我BLOG,然后msn聊天,上次来北京的网友见面。呵,那时候说,希望有机会能尽快合作。没想到就是这么快。

我喜欢爽快的年轻人。开着狮跑,小心谨慎;和客户沟通的时候,方寸有度,琢磨着客户每一个发问的深层含义。嗯,想想在上个部门的时候,还真是差距很大。您说现在,呵,那差距更大了。

--自我挑战--

和大领导们中午电话会议,给出我们的结论。

后来调整了数据库的引擎个数,客户的平台性能翻番。心里忍不住嘀咕,反正哥们搬石头砸自己也不是第一回了,本着王八蛋的态度,在调整后的数据库上再次测试,还好,这次我没有砸住自己。

可能就要砸到其他的哥们啦。

--客户--

客户是一个很有意思的群体。

如果他们耍王八蛋,也不能讲那六个零的笑话不是?改天找个销售同学学习下。能让耍王八蛋的人变成王牛蛋,该怎么做才能有效果。

如此。

--全责心--

这几天我一直在考虑这个报告要不要出的问题。

出了报告,白纸黑字,红口白牙,肯定说不清楚的。而这报告是我出的。那么问题出来了,你要负责的把这件事情搞定,已经不可能了。客户说了,我们就这环境,你能怎么着?

那剩下的事情,就是把能做好的事情做好,这谁都能说。而如果这次测试失败,公司内部,不了解情况的,一定归罪于我,而我也自责的不行。

这就是矛盾。

是要适当的放弃一些东西才好。

Tags: 北京

Records:61912345678910»