`

瓶颈,及傍晚的一缕阳光

 
阅读更多
瓶颈,及傍晚的一缕阳光




1. 流水线

上午,某同学的项目,今天是装系统,我们去了好几个人。外面风沙非常大,风
大到我要倾斜着才能行走,沙子大到迷了好几次眼睛。我把冲锋衣上面的那个帽
子 (应该是hood,但是我怕李记者说我小资,所以这样写) 也套上,免得压在里
面的棒球帽被风吹跑了。

到了里面,终于没有风,但是沙尘更大了。马上要运营了,仍在装修中。电锯
声,窄而陡的楼梯,昏暗的灯光,偶尔,有人的声音传来。像不像电锯杀人狂之
类恐怖片现场?

其实,打CS也挺好,很多射击死角。他们把半座大厦里面架上了铁楼板,分成很
多层,楼层间是错综复杂的铁楼梯,踩上去当当响。在铁楼梯上七拐入拐,终于
到了某个房间,木头门玻璃墙,怡与一般的常理相反。此处楼板表面铺以非实木
地板,踩上去也当当响,说明下面很薄而且是空的。

开始装系统。需要1.设置IP,2.分配IP和用途,3.安装系统并设置。很快发现需
要很长时间,有窝工的地方。

最开始是装系统非常慢。刘同学尝试了不用U盘,而是通过网络从服务器复制安装
文件,速度还是慢;分配两个人装系统和设置,很快另一个有别的安排跑了。

这时,流水线开始调整和形成。我们安排了一个人兼职向要安装的机器里复制安
装文件,并按刘同学的要求优化(并测试通过)了安装包的大小。

我们安装了两个人专门分配IP和写标签,把标签贴在机器脑门 (还是后脑勺)上。
很快,IP和标签最先完成。这一任务既完,重新安排这两位的工作:一个人去参
与分配IP,调另一个人专职负责向机器里复制安装包。

流水线于是大致形成,后来又有小的修改,于是形成下述格局。

一位供应商女士负责开机,然后把机器开着盖交给黄同学,黄同学和另一位同学
设置IP,设备完成以后,供应商男士把机器传递到另一间屋子给杨同学,杨同学
复制安装包,然后把机器盖上堆在刘同学面前,刘同学和 (有时)网络管理员女士
安装并设置,设置的时候连接到服务器上测试网络及数据库连接,然后盖上盖,
供应商男士 (与前面提及的是同一位)把机器重新装箱。

流水线一旦建立,不到一个小时,全部完成。

这个故事告诉我们,流水线中至关重要的,是找到瓶颈所在。方法是看谁的面前
堆的机器最多,减少他的任务,把他的任务拆开分配给别人,优化他的任务速
度,增加他可能的并行。

程序设计时,把查找瓶颈的工具称为 profile。应该优化的是,不是速度最慢的
部分,而是对系统整体速度影响最大的部分。

2. 傍晚一缕阳光

下午,讨论某项目,我迟到了半小时。非常抱歉。

讨论完以后,去找向龙同学,他昨天提到java访问mysql数据库乱码问题。某同
学在清华大学呢,说网络巨慢,希望我参与。这个问题很快就解决了,我昨天晚
上猜测了一下大约可能的问题,在网上搜索了两个贴子,发到了自己的信箱里。
现场选了较简单的那个,改 mysql.ini 的 defualt charset 为 utf-8,好使了。

除了在windows下,包括在java下,utf-8才是统一的标准。是不是有点像电子学
的图示,国标只有在上交报告时不得已才采用?

以上问题没多大意思,有意思的是下一个。向龙说,同步某几个数据库的时候速
度慢,每天的数据需要七八分钟。他非常非常非常熟练地告诉我:从这个mysql数
据库里的这个表里查找这个字段,然后把这个字段按某哔哔哔[此处保密]的算法
进行转换,在这个sql server数据库里查找这个表里的这个字段,然后再把它它
它写到……我实在记不住的另一个数据库里。

以上,是一个标准的流程,查查查,然后写。如果速度慢,问题可能在哪里呢?
每一步都有可能。

我们要做的第一步是--绝不是查找哪一步慢,而是验证向龙说的是真的。我请他
同步某天的数据,我们用手机上的秒表掐时间。

同时附加了一个小的验证实验。不带插入数据,2分40秒,带插入数据,2分20秒。
差不多。考虑到网页延迟,CPU分配不均啥的,应该就是一样了。那么,最后一
步插入并不是瓶颈。

此时,我想到图书馆当年导出数据时的著名案例,200多个工作日的工作量变成
半个小时导完。详情请参见以前博客,不赘述。

然后,我们开始新的验证实验。我请他,没错,我请向龙同学,而不是我自己,
因为我不会这些操作的步骤,我请向龙同学进行下述操作:把所有(两处)select
语句中的where子句中的所有字段设置为index。

第一处,mysql那个,向龙自己已经加了index。我看了半天新新新版的
phpmyadmin,在向龙的指导下找到了索引,我上次用它是十年前?

第二处,sql server那个,加索引的时候提醒我们,改库结构可能会花很长时间。
然后,瞬间就加完了。不知道是机器太快了还是怎么的,按说库应该不小啊。当
年图书馆那四十多万种图书的记录加索引花了2个小时还是多长时间来着。

加完索引以后,我们重复导出的实验。20秒。换一天,还是20秒。再换一天,很
长很长时间没反应,但是向龙查库结构已经导完了。再换一天,还是20秒。后来
我们估且认为,那次时间特别长的,是程序出了毛病。

我坐在向龙的旁边,等二猫放学。午后,接近傍晚的阳光斜着从南面的窗子里射
在他的桌子上,很温暖。桌子是暗黄色的木纹,上面放着一个透明的水瓶,里面
几枝植物绿色黄色的根茎。阳光穿透这些根茎投射在桌面的木纹上,光影交错。

有一缕阳光,正好射在我的眼睛里,那是瓶底附近的一小块光斑。周围的一切都
隐在暗淡里,向龙哗哗敲着键盘导这个那个数据,他对面的女士一边查着新的机
动车限行规定一边出声地思考。所有这些都模糊了,只有那一缕阳光分外清晰。

我拿相机拍下来,说这个太漂亮了,就从我刚刚坐着的那个角度看。向龙说,啊
呀,是挺漂亮,我一直坐在这里都没注意到,就在我显示器后面。

我说:就是因为你一直坐在那吧。

向龙说:你还有精神头整这个呐。

我说:兄弟,如果没有这个,我不知道还能不能活下去了。

如果身处流水线中,一个又一个的瓶颈,看不到未来。你会不会绝望?那一缕阳
光,就是唯一的安慰了,存在,真实,温暖。

最近在看《哥德尔 艾舍尔 巴赫》。作者说,人都生存于一个系统之中,很多人
花费大量的时间就是为了认识到或说服别人,这样一个系统的存在,然后从系统
中摆脱出来。超越自己存在于其中的,又谈何容易?虽然,跳开去看,像赵元良
老师教导我的,那些小事,又都算得了什么。诚然如此,可是问题又回来了,如
何跳开去呢,向哪个方向?

前路漫漫,估且欣赏这一缕阳光吧。


分享到:
评论

相关推荐

    tcp协议瓶颈及改进

    ### TCP协议瓶颈及改进 #### 引言 传输控制协议(TCP)作为互联网上最广泛使用的传输层协议,承载着互联网上绝大部分流量。随着高带宽传输需求的不断增加,对TCP性能进行优化变得尤为重要。近年来,针对提高TCP...

    常见Web性能瓶颈及分析

    ### 常见Web性能瓶颈及分析 #### 引言 随着互联网技术的快速发展与普及,Web应用已经成为人们日常生活中不可或缺的一部分。然而,随着Web应用的复杂度不断提高,其性能问题也日益凸显出来。本文旨在深入探讨Web性能...

    中国跨境电商发展的瓶颈及对策.pdf

    中国跨境电商发展的瓶颈及对策.pdf

    一种基于Matlab的生产系统瓶颈单元智能发掘方法.pdf

    最后,文档提到了“资源优先配置及瓶颈单元的改善”,这指的是通过改善瓶颈单元来增加系统产能。在识别瓶颈单元后,资源将被优先分配给这些单元,以提升其处理能力。这可能包括设备升级、流程优化、人员培训等措施。...

    我国农村电商发展的瓶颈及对策.pdf

    总之,我国农村电商发展的瓶颈主要表现在规模发展、品牌化、农产品上行及流通基础设施等方面。要想推动农村电商的持续健康发展,就必须针对这些问题制定相应的对策,加大政策扶持力度,提升品牌意识,改善基础设施,...

    最大瓶颈问题的算法

    对于图中任意一条路径,瓶颈值(bottleneck cost)是该路径上最小的边值。本算法用邻接矩阵保存图结构,用非递归算法,通过计算两个点之间所有路径的瓶颈值来计算最大瓶颈值。题目的出处是北京工业大学2005年的研究...

    IPTV发展中遇到到瓶颈及发展建议

    一、IPTV发展瓶颈 1. 网络带宽与传输质量限制 IPTV传输流媒体内容对网络带宽要求较高,若带宽不足则会导致视频播放卡顿、缓冲时间长等问题,严重影响用户体验。而随着高清视频内容的增多,这一问题变得更加突出。 ...

    MySQL硬件瓶颈分析

    ### MySQL硬件瓶颈分析 在MySQL数据库的运行过程中,硬件配置对于其性能有着至关重要的影响。本文将基于给定的信息,详细解析与MySQL相关的硬件瓶颈及其解决方案。 #### CPU瓶颈 CPU作为MySQL服务器的核心组件之...

    河南省煤炭工业绿色发展的瓶颈及绿色指标体系

    结合河南省的实际分析了煤炭工业绿色发展的瓶颈制约因素,具体包括行业特点的惯性因素、经济因素、技术因素、制度因素以及文化因素等5大方面。在分析煤炭工业绿色发展内涵的基础上建立了河南省煤炭工业绿色发展的评估...

    高性能高并发服务的瓶颈及突破思路

    ### 高性能高并发服务的瓶颈及突破思路 #### 一、服务的瓶颈解析 在构建高性能、高并发的服务过程中,首先要明确程序的核心组成:**算法**、**数据结构**和**数据**。这些组成部分决定了程序对计算机资源的需求,...

    Linux系统瓶颈分析

    因此,在优化系统时,关键是找到瓶颈所在,并且理解这种瓶颈是如何由一个子系统传导到另一个子系统的。 #### 二、确定应用类型 为了更有效地进行性能优化,首先要理解系统上运行的应用程序类型。根据它们对系统...

    网络协议栈及性能瓶颈分析1

    在"网络协议栈及性能瓶颈分析1"中,主要探讨了在高性能计算(HEP)领域,如何高效、可靠地处理日益增长的海量数据传输问题。随着网络传输速度的快速提升,处理器技术的进步却相对缓慢,导致网络协议处理的开销相对于...

    移动互联网发展瓶颈.docx

    移动互联网的飞速发展带来了许多技术创新,但同时也暴露出一些明显的瓶颈问题,这些问题制约着其进一步的扩张和深化。本文将探讨其中两个关键的瓶颈:电池续航能力和数据流量成本。 首先,电池技术的滞后已经成为...

    服务器性能瓶颈分析

    服务器性能瓶颈分析是确保系统高效运行的关键环节。本文主要探讨了三个主要的性能瓶颈领域:内存分析、处理器分析以及磁盘I/O分析,并提供了相应的监控和诊断方法。 内存分析是评估系统性能的第一步,主要是检查...

    电脑硬件瓶颈监控检测系统

    "电脑硬件瓶颈监控检测系统"就是这样一款实用的工具,它能实时监测硬件状态,帮助用户识别和解决系统性能问题。 硬件瓶颈是指在电脑运行过程中,某一或某几部分硬件性能不足,限制了整体系统性能的提升。例如,CPU...

    电子商务物流管理的瓶颈及解决.docx

    电子商务物流管理的瓶颈及解决.docx

    创业的瓶颈及解决方案.pptx

    创业的瓶颈及解决方案.pptx

Global site tag (gtag.js) - Google Analytics