调研分享:图片文件在各文件系统上的访问性能对比
在某产品线的图片服务器,存放了亿级别的图片文件,每个文件的大小在0.5k-100k之间,其中1K以下的文件数量在50%左右,1-4K文件数量在40%左右,4K以上10%,大量的文件存储对文件系统的性能要求非常高,特对目前业界常用系统性能在图片服务的表现进行调研。 因线上flash卡故障率非常高,所以在寻找替代方案,磁盘是否可以满足线上系统需求?是否满足今后可扩展性(容量、文件数量)?是否可以更好的处理数据同步使用...
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
在某产品线的图片服务器,存放了亿级别的图片文件,每个文件的大小在0.5k-100k之间,其中1K以下的文件数量在50%左右,1-4K文件数量在40%左右,4K以上10%,大量的文件存储对文件系统的性能要求非常高,特对目前业界常用系统性能在图片服务的表现进行调研。 因线上flash卡故障率非常高,所以在寻找替代方案,磁盘是否可以满足线上系统需求?是否满足今后可扩展性(容量、文件数量)?是否可以更好的处理数据同步使用...
一、什么是需求满足 1.1 什么是需求满足 用户来搜索“章鱼 保罗”,就文本相关性而言,搜索引擎只要返回和“章鱼 保罗”内容相关的结果就可以了,这样用户是否满意呢? 用户甲:听说章鱼帝挂了,来看看最新结果,怎么全是8月份的,往后翻页中… 用户乙:今天同事们在讨论章鱼哥挂了,章鱼哥是啥?我又out了,来搜索一下章鱼帝生平事迹是啥,怎么全是最新的结果,没有章鱼哥的介绍啊,变换个query看看 用户丙:我是...
本文是从 S.O.L.I.D. Class Design Principles 这篇文章翻译而来。 本文是由敏捷宣言签署人之一、《 Clean Code(代码整洁之道)》一书的作者Robert C. Martin为他的《Applying Principles and Patterns》这本书搜集整理而来。 单一责任原则(SRP) 只有一个理由去修改一个类。例如,如果一个业务规则的改变会导致这个类的修改,那么,数据库、界面、报表格式或系统任何其它的部分的改变都不该迫使这个类做修改。 http://davidhayden.c...
HTML5里面一个非常不错的扩展功能就是可以在文本框上面增加占位文本。占位文本(PlaceHolder)是指当一个文本框没有被focus的时候显示的是提示文字,当他被点击之后就显示空白。这个功能很不错,但是并不是所有的浏览器都支持。这篇文章就来讨论一下怎样用比较简单的方法可以让所有浏览器都支持这个特性。 这里是例子 这里可以下载 传统的解决办法 在我们有这个属性之前,我们一般是通过Javascript来实现这个效果。 这段文字被设置在...
MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可。MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节。最近我在做一些ASP.NET+MySQL的应用,特地对MySQL的授权许可进行了研究。(以下说明,如有错误,欢迎指正)使用MySQL作为数据库的应用是否会“被GPL”MySQL开源软件(包括MySQL社区版数据库服务器、驱动程序和链接库等)是在GPL许可下提供的。GPL(Gener...
上帝创造了整数,其余的则是我们人类的事了。正因为如此,质数、完全数、Fibonacci 数之类的数列才会让数学家们如痴如醉,因为它们的存在是如此自然,没有任何人造的因素。事实上,数学家们对这些数的认识也越来越丰富,挖掘出了这些数列中越来越深刻的性质。 不过,人类确实太渺小了。还有好多构造异常简单的“纯天然数列”,我们了解得实在太少。Kolakoski 数列就是最好的例子...
Android 3.0引入的新的片断(Fragment)API,让我们更容易地创建动态用户界面。在这个教程中,我们学习如何将一个两屏的ListView转换成WebView流,以适应大屏幕的单屏流设计,比如在平板设备中。 这篇文章的节奏将比我们的入门教程更快一些。如果你对基本的Android控件或概念不熟悉你可能需要复习这个网站上我们其它的一些教程,甚至是Android API参考。最终的开源代码可以在Google code上下载到。 片段简介 在我们开始之间,让我...
目录 一、基础概念 二、安装(待RockUX续) 三、创建模拟器(待RockUX续) 四、错误处理(待RockUX续) 五、第一个Android程序(待RockUX续) 六、菜单(待RockUX续) 七、设置和Intents(待RockUX续) 八、alertDialog对话框(待RockUX续) 九、TableLayout(待RockUX续) 十、ContentProvider(待RockUX续) 十一、ScrollView(待RockUX续) 十二、DDMS和其他视图(待RockUX续) 十三、Shell(待RockUX续) 十四、部署(待RockUX...
一直都有用到这个,但是每次用都要去查一下,干脆现在记下来。 除了通过交互式的方式输入用户名和密码以为,SSH中还可以通过一种“公私钥”的方式进行登录,具体的原理为: 首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa) 然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥 当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了 具体的...
Bitcoin 为什么保值,BTC (Bitcoin 的货币简称)存在于一个庞大的 p2p 网络中。使用 Bitcoin 的群体公认了一种算法,这种算法在现今的条件下,每小时只会新产生大约 6 组新的 BTC ,目前一组是 50 个。也就是说,这个世界上,每个小时大约只会产生 300 个 BTC 。这个产量还会由网络自动调整难度来限制产量。你没办法通过修改所有人的 Client 的算法及参数(client 是开源的)来加快货币产量。伪造的货币会被网络丢弃(除非你可以控制大部分网络节点)。
最近在仔细的研究并测试了很多NOSQL的数据库,对Membase有了一定的了解,写下来,分享一下。 Membase是一个为交互式网络应用优化了数据存储的key-value类数据管理系统,在对于数据的使用上,Membase和Memcache是兼容的。Membase最大的特点是它横向扩展的方式,这也是和Memcache、Redis、Tokyo Tyrant等最大的区别,后文会详细...
今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的一些他的话。 为什么我们需要有质量的代码? 敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。 如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。 什么是代码异味? 代码异味是一种由写的很差的代码...
Linux的高速缓存pagecache对性能的影响至关重要,但是实际系统中我们的利用率如何呢,特别是具体到每个设备的利用情况。 从下图我们可以很清楚的看到: 我们知道IO请求由vfs发起,经过pagecache缓存,挡不住的就落实到io设备去,那么统计这个利用率就很简单。 我们只要知道挡不住的IO的比例就好了。
头像圆角的实现,似乎不单单是一种技术的方式,而是可以针对不同浏览器采用不同的方式,是渐进增强还是优雅降级,取决于你的用户、或者是你的经理。
公司使用的是windows7操作系统,自己之前一直使用IETester来测试页面在IE6~IE8下的兼容性,可是在测试js的时候还是会出现实际使用的还是windows7的IE8内核问题。
客户原来有个Web App系统A,我们要基于A开发一个系统B,但不希望B对A依赖太重,所以B被实现为一个独立的Web App(war)。A和B部署在同一个Weblogic server上,在A中可以导航到B,两个系统看起来像是一个系统。 有个小需求是,在B中希望显示一个页面,根据参数能展示出不同的信息。这个页面在A中已经存在,所以自然而然最快的方法就是在B中创建一个iframe来指向那个A中的页面,配以不同的参数,多快好省! 问题很快出来了,QA发现那...
为了实现cdn同步需求常常才对节点之间的下载速度做写测试,这项工作其实很简单。 能使用工具也很多,不过目前公司节点已经突破百位数啦,尤其是很多合作厂商的加入,使得网速测试变的越来越重要。 网站cdn资源同步效率的也变的要求也越来越高。 所以很多时候需要快速反映和马上能出结果的测试,变的更加符合现在的需求。 一般linux服务器上都会安装curl,这个工具非常好用,网上对这个介绍也很多,这里就不在重复了。 我们也只需要...
昨天在群中,又有很多人在问,我的服务器跑不上量,我的服务器只能跑十几M 流量,为什么别人能跑上 G 的流量。为什么? 服务器基本很少是为了跑量的,只有到了最后,追求成本的时候这...
现在要讲的是 audodie 和 Try::Tiny 这是近来看的几本 Perl 书常常提到的,记个笔记。 有时我们常常写多个 open ,然后还要写上多次 die 象下面,读一个文件,然后写一个文件,有时我写的 open 会超...
分享一个同事写的URL正则表达式,缺点不支持中文URL。