blog | 逍遥郡


  • Home

  • Archives

  • Tags

  • Search

unixbench检测主机性能

Posted on 2010-09-10 |
unixbench 可以用来测试linux主机性能。比如租用VPS的时候,各家服务商提供的内存、CPU之类的参数可能差不多,但是实际运行程序的时候会有差异,就可以采用这个工具进行benchmark。该工具基于Perl编写,编译运行都很简单。如果不想检查显卡性能,可以在Makefile中注释掉下行,否则需要提供X11的链接库和头文件进行编译。 # GRAPHIC_TESTS = defined 然后,就可以编译运行了。 $ make $ ./Run 运行大约半小时左右,会在该目录下的 results 目录生成测试结果。其中有一份文本记录和一份html记录。基准测试包括如下内容,并会按照使用的CPU数量,逐个生成测试报告。 Dhrystone 该测试用于衡量字符串操作性能,不涉及浮点运算。该测试由Reinhold Weicker在1984年开发,它很大程度上受到软硬件设计、编译器和连接器参数、代码优化、缓存和整型类型的影响。 Whetstone 该测试用于衡量浮点运算的效率和速度。测试由多个科学计算混合而成,其中的C程序包括sin、cons、sqrt、exp和log ...
Read more »

Ubuntu桌面配置记录

Posted on 2010-08-12 |
Ubuntu 10.04 LTS Locale设置 编辑文件 /etc/default/locale,加入: LC_CTYPE="zh_CN.UTF-8" 编辑文件 /var/lib/locales/supported.d/local,加入: zh_CN GB2312 zh_CN.GBK GBK zh_CN.UTF-8 UTF-8 zh_CN.GB18030 GB18030 zh_TW.BIG5 BIG5 然后手动生成中文相关的 locales: $ sudo locale-gen iBus输入法 默认的m17n的拼音输入模块不是很好用,可以选择安装iBus Pinyin: $ sudo aptitude install ibus-pinyin Global menu (OS X Style) 参考这里,加入源: deb http://ppa.launchpad.net/globalmenu-team/ppa/ubuntu lucid main deb-src http://ppa.launchpad.net/globalmenu-team/ppa/u ...
Read more »

让Outlook自动bcc抄送邮件

Posted on 2010-08-04 |
使用outlook同时又喜欢thread看邮件的同学估计都有个烦恼,就是outlook中已经发送的邮件无法在thread中列出来,这样未免很不方便。而且,outlook中居然也没有这样的设置,所以只有采用一种折衷的办法,就是把这份邮件再Bcc给自己一份,不过outlook中也没有这样的设置可以让每封邮件自动Bcc。 所以,这里借用一段vbs代码来实现自动Bcc。在outlook的菜单栏中打开 Tools → Macro → Visual Basic Editor,打开VB编辑器,在 “ThisOutlookSession” 中输入如下代码后保存,这样就能够每次把发出的邮件再Bcc自己一份了,这段代码适用于outlook2003及以后的版本。其中,需要把 someone@somewhere.dom 替换成自己的邮箱地址,如图:
Read more »

WordPress按分类显示blog文章

Posted on 2010-07-22 |
Wordpress 诞生已久,目前大多独立blog都是用其搭建,但是目前为止我发觉居然没有谁有这样的需求,在主页上按照category显示文章,而不是一股脑的把所有文章全部显示出来。也许对于严谨的bloger来说,一个blog所发表的内容基本都是专注于同一类型的;但是对于像我这样完全不严谨的blogger来说,却经常这天写篇游记,改天又写点技术文字,过些天又贴点照片,结果这样弄下来,blog就乱了套,自己看起来都很别扭。 因此,我觉得如果能够让wordpress在主页上能够按照分类来显示blog,并且建立基于category的导航栏,对于随便写点blog的人来说会比较友好一些。而默认的基于pages的导航,我觉得基本也是个鸡肋。 要完成这个任务比较简单,只需要定制一个theme就可以了。主要是在 header.php 中改categories导航: <?php if(is_home()){ $default_category = "&current_category=1"; // default category }else if(is_single() ...
Read more »

《Hadoop权威指南》笔记

Posted on 2010-06-10 |
代码 https://github.com/tomwhite/hadoop-book 【第二章】MapReduce简介 mapreduce是一种可用于数据处理的编程模型,它是并行运行的,可以处理大规模数据分析。 节点角色: tasktracker:用来执行map和reduce任务 jobtracker:用来调度任务在哪个tasktracker上执行 执行任务期,tasktracker会将运行进度报告给jobtracker,job由此记录作业的整体进度,如果其中一个任务失败,它可以调度别一个tasktracker来重新执行。 分片(split):hadoop将mapreduce输入数据划分成等长的小数据块称为 分片,hadoop为每个分片建立一个map任务,并由map函数来处理分片中的每行数据(分片切分更细,负载均衡就越好,当然太小map数就越多,所须要执行时间就越长) 一个合理的分片应该与hdfs块大小相同,默认64M。 map函数的输出会写到磁盘上,非hdfs;reduce的输出存在hdfs上实现可靠存储。 单个reduce的输入通常来自所有map的输出 ...
Read more »

SSH的一些应用

Posted on 2010-04-18 |
以前发了一条tweet感慨,现在几乎就生活在ssh之中了。因为无论生活还是工作都离不开它,真是由衷的感谢那些设计和开发出这个伟大工具的程序员们。ssh最主要的功能就是把所有传输的数据加密,最初是的设计是为了替代传统明文传输的telnet、rlogin等程序,以避免密码嗅探攻击。而且ssh传输的数据还是经过压缩的,所以还能加快传输速度。 ssh是Secure Shell的简写,也就是说它能提供给你一个安全的shell,而保护这个安全shell的加密通道是通过端口转发(Port Forwarding)来完成的。这意味着ssh可以帮你把任意原本不安全的端口连接起来,提供给你安全的通道。安全的端口转发,这一点可以让ssh来完成很多有趣的应用。 SSH隧道代理 近期一个常见应用就是通过ssh本地端口转发数据包到国外主机,以穿透GFW访问被墙的网站。应用场景是这样的: 你的国内主机,比如一台笔记本 你拥有ssh权限的国外主机: forward.com,用户名是 user 被墙的网站,比如Google主机: google.com 在笔记本上运行: ssh -L local ...
Read more »

同步PicasaWeb照片到WordPress

Posted on 2010-04-10 |
原先为了方便管理照片和备份Blog, 所以都是引用PicasaWeb的外链图片. 不过现在PicasaWeb被盾, 导致Blog里的图片也都看不到了, 被人抱怨. 如果再逐个post去重新链接图片也忒烦人了. 估计wordpress里也没这种插件, 因为只有国人才有这需求 :( 因此自己粗粗的写了一个, 可以直接从PicasaWeb抓取图片到Web服务器. 这样唯一需要的就是Active这个插件, 就可以在blog里重现以前的图片了. 自动抓取图片到Web服务器, 替换原来的图片链接 (以前的PicasaWeb是不支持外链的, 必须要嵌套一个 <a> 标签, 现在就直接把这个标签去掉了.) 使用了curl_multi_select()函数, 支持一定的并发, 适用于图片很多的情况. 已经抓取过来的图片不会被重新抓取. 图片直接使用wp里的附件管理函数保存, 因此可以在wp的后台里查看和管理这些图片. 目前不支持代理服务器, 所以墙内的Web服务器没法使用. 目前只支持PicasaWeb. 插件可以从下边直接下载, 然后保存到 wp-content/p ...
Read more »

Google的几个开源库:leveldb、protobuf、gflags

Posted on 2010-02-15 |
[TOC] leveldb leveldb文档里给出了详细的实现机制,这里概括一下最重要的合并(compaction)机制。为了提升写性能,数据先写到log files,此时只会更新memtable,默认到4MB后才写入level-0的sstable,这就把随机写转化成了顺序写。当默认超过4个level-0的sstable后,数据会被归并(merge)到level-1层的sstable(.sst文件默认2MB大小)。同时,leveldb有单独的后台进程对sstable进行compact,条件是level-L层的数据超过(10^L)MB之后。 compact过程产生的sstable都是有序文件,在查询的时候leveldb按照数据的key从低层到高层搜索,可以保证很高的读性能。不过compact本身还是比较耗IO的,因为归并排序需要把整个sstable读入内存,所以在导入数据的时候应该尽量避免写入速度超过compact的速度。 leveldb的性能可以参考其benchmark文档,具体使用的过程中,导入数据的确很快,主流服务器磁盘上几乎可以达到网卡上限;读数据时,并且只要在tabl ...
Read more »

Dynamo分布式系统

Posted on 2010-01-08 |
Dynamo是Amazon开发的一款高可用的分布式KV系统,已经在Amazon商店的后端存储有很成熟的应用。它的特点:总是可写(500+ per sec, 99.9% <300ms),并且可以根据需求优化配置(调整RWN模型)。 根据CAP原则 (Consistency, Availability, Partition tolerance),Dynamo是一个AP系统,只保证最终一致性。 Dynamo的三个主要概念: Key-Value:Key用来唯一标识一个数据对象,Value标识数据对象具体内容,只能通过Key对该对象进行读写操作。 节点(node):指一台物理主机。主要有 协调请求(request coordination)、成员及故障检测(membership and failure detection) 和 本地持久化(local persistence engine) 三大功能组件,底层的数据持久化存储一般使用Berkeley DB TDS。 实例(instance):每个实例由一组节点组成,从应用层看,实例提供IO功能。实例上的节点可以位于不同I ...
Read more »

链表宏list_entry

Posted on 2009-12-19 |
读corosync代码, 其中有一个list的实现, 用到了list_entry这个宏。 了解linux内核的同学估计会眼睛一亮, nod, 就是内核里的那个list_entry。 在内核里, 几乎所有的链表实现, 都用到了一个通用的list_head结构, 但读它的声明发现, 它与链表里保存的实际数据结构完全无关, 仅包含前后两个指针。 当需要访问实际的数据结构时候, 便使用这个list_entry计算出实际数据的地址。 下边是list_entry宏的定义(新版内核移到了container_of里): #define list_entry(ptr, type, member) \ ((type*)((char*)(ptr) - (unsigned long)(&((type*)0)->member))) 具体使用的时候是这样的: struct list_head { struct list_head *next; struct list_head *prev; }; struct ...
Read more »
1 … 9 10 11 … 19
Julian Qian

Julian Qian

记录编程、Hack和自娱自乐的一些玩意。

189 posts
60 tags
RSS
Creative Commons
© 2024 Julian Qian
Powered by Jekyll
Theme - NexT.Mist