Techyou labs
真正的爱应该超越生命的长度、心灵的宽度、 灵魂的深度
常用标签
您正在查看:2009年11月

[文章作者:张宴 本文版本:v1.1 最后修改:2008.06.02 转载请注明出自:http://blog.s135.com]

TCMalloc(Thread-Caching Malloc)是google开发的开源工具──“google-perftools”中的成员。与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,可以在很大程度上提高MySQL服务器在高并发情况下的性能,降低系统负载。

TCMalloc的实现原理和测试报告请见一篇文章:《TCMalloc:线程缓存的Malloc

为MySQL添加TCMalloc库的安装步骤(Linux环境):

1、64位操作系统请先安装libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈 辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz
tar zxvf libunwind-0.99-alpha.tar.gz
cd libunwind-0.99-alpha/
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install

2、安装google-perftools:

wget http://google-perftools.googlecode.com/files/google-perftools-0.97.tar.gz
tar zxvf google-perftools-0.97.tar.gz
cd google-perftools-0.97/
./configure
make && make install

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

3、修改MySQL启动脚本(根据你的MySQL安装位置而定):

vi /usr/local/mysql/bin/mysqld_safe

在# executing mysqld_safe的下一行,加上:

引用
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

保存后退出,然后重启MySQL服务器。

4、使用lsof命令查看tcmalloc是否起效:

/usr/sbin/lsof -n | grep tcmalloc

如果发现以下信息,说明tcmalloc已经起效:
mysqld    10847   mysql  mem       REG        8,5  1203756   20484960 /usr/local/lib/libtcmalloc.so.0.0.0  



注:2008年6月2日,修正了libunwind在x86_64位操作系统下的编译错误,TCMalloc无法加载等问题。

涉及修改内容:
1、libunwind的编译参数改为:
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install

2、增加:
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

3、修改MySQL加载TCMalloc的语句:
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

感谢网友router。

November 21, 2009
November 20, 2009

干了个通宵,一边玩一边把配置文件翻译完了,翻得不好的地方还请各位多多提点,少许不是很明白的地方就留在那了。

鼓励转贴,分发,为所有看到E文头痛的兄弟们帮点小忙,PureFTPd的文档本来就不多,中文的更少了。从配置文件中就能看出不少PureFTPd的好功能来了。

来CU很久了,收获很多,这篇小文算是对CU的一点点小贡献。

############################################################
#                                                          #
#         Configuration file for pure-ftpd wrappers        #
#                                                          #
############################################################

# 如果你想要使用配置文件代替命令行选项来运行 Pure-FTPd ,请运行下面的命令:
#
# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
#
# RPM 缺省使用另外一个配置文件:
# /etc/sysconfig/pure-ftpd
#
# 请不要忘了浏览一下 http://www.pureftpd.org/documentation.html 的
# 文档,查看全部的选项列表。

# 限制所有用户在其主目录中

  ChrootEveryone              yes

# 如果前一个指令被设置为了 "no",下面组的成员(GID)就不受主目录的限制了。而其他的用户还是
# 会被限制在自己的主目录里。如果你不想把任何用户限制在自己的主目录里,只要注释掉 ChrootEveryone
# 和 TrustedGID 就可以了。

# TrustedGID                    100

# 兼容ie等比较非正规化的ftp客户端

  BrokenClientsCompatibility  no

# 服务器总共允许同时连接的最大用户数

  MaxClientsNumber            50

# 做为守护(doemon)进程运行(Fork in background)

  Daemonize                   yes

# 同一IP允许同时连接的用户数(Maximum number of sim clients with the same IP address)

  MaxClientsPerIP             8

# 如果你要记录所有的客户命令,设置这个指令为 "yes"。
# This directive can be duplicated to also log server responses.

  VerboseLog                  no

# 即使客户端没有发送 '-a' 选项也列出隐藏文件( dot-files )。

  DisplayDotFiles             yes

# 不允许认证用户 - 仅作为一个公共的匿名FTP。

  AnonymousOnly               no

# 不允许匿名连接,仅允许认证用户使用。

  NoAnonymous                 no

# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
# 缺省的功能( facility )是 "ftp"。 "none" 将禁止日志。

  SyslogFacility              ftp

# 定制用户登陆后的显示信息(Display fortune cookies)

# FortunesFile              /usr/share/fortune/zippy

# 在日志文件中不解析主机名。日志没那么详细的话,就使用更少的带宽。在一个访问量很大 
# 的站点中,设置这个指令为 "yes" ,如果你没有一个能工作的DNS的话。

  DontResolve                 yes

# 客户端允许的最大的空闲时间(分钟,缺省15分钟)

  MaxIdleTime                 15

# LDAP 配置文件 (参考 README.LDAP)

# LDAPConfigFile                /etc/pureftpd-ldap.conf

# MySQL 配置文件 (参考 README.MySQL)

# MySQLConfigFile               /etc/pureftpd-mysql.conf

# Postgres 配置文件 (参考 README.PGSQL)

# PGSQLConfigFile               /etc/pureftpd-pgsql.conf

# PureDB 用户数据库 (参考 README.Virtual-Users)

# PureDB                        /etc/pureftpd.pdb

# pure-authd 的socket 路径(参考 README.Authentication-Modules)

# ExtAuth                       /var/run/ftpd.sock

# 如果你要启用 PAM 认证方式, 去掉下面行的注释。

# PAMAuthentication             yes

# 如果你要启用 简单的 Unix系统 认证方式(/etc/passwd), 去掉下面行的注释。

# UnixAuthentication            yes

# 请注意,LDAPConfigFile, MySQLConfigFile, PAMAuthentication 和
# UnixAuthentication 这些指令只能被使用一次,不过,他们能被混合在一起用。例如:如果你使用了
# MySQLConfigFile 和 UnixAuthentication,那么 SQL 服务器将被访问。如果因为用户名未找
# 到而使 SQL 认证失败的话,就会在/etc/passwd 和 /etc/shadow 中尝试另外一种认证,如果因
# 为密码错误而使 SQL 认证失败的话,认证就会在此结束了。认证方式由它们被给出来的顺序而被链
# 接了起来。

《新牛津美语大辞典》宣布社交网站上的常用单词“Unfriend”当选为今年的年度词汇.
《新牛津美语大辞典》对于“Unfriend”的定义为:“在Facebooke等社交网站上与某人解除好友关系.”此次,其它一些科技和社交网站的相关词汇也得到了提名,包括hashtag(标签)、sexting(色情短信)、freemium(免费的商业模式)、paywall(网站的付费门槛).

据悉,今年年初“Twitter”进入了《柯林斯英语词典》,而“Facebook”曾是柯林斯词典2007年年度词汇.新媒体词汇进入传统词典的现象可以追溯到2004年,当时“Blog”入选韦氏大辞典的年度词汇榜.

新闻来源:tripwiremagazine.com
JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟,如今 JavaScript 库越来越强大,可以胜任许多复杂的工作,然而同时,人们在众多 JavaScript 库面前又觉得无所适从,本文,我们将使用 Google 搜索出排名前 10 位的 JavaScript 库,并对它们逐一进行介绍。

1. jQuery: The Write Less, Do More, JavaScript Library
jQuery: The Write Less, Do More, JavaScript Library

jQuery 是一个很新的 JavaScript 库,它的口号是“几行代码,能干大事”(Write Less, Do More),它是拥有最多插件和扩展的 JavaScript 库,以下是 jQuery 现状:

  • 当前版本: 1.3.2
  • 文件尺寸:压缩后最小19KB,未压缩为120K。
  • 作者: John Resig
  • 拥有19种语言的教程: 教程总计183种。
  • 著名用户: 超过1000个
  • 插件: 3493
  • 易学
  • 对设计师来说非常易学,使用 CSS 语法
  • 拥有大量有趣的扩展
  • 拥有非常出色的社区,可能是最大的
  • 被数以百万的站点使用,包括诸如 Google, Dell, CBS, NBC, DIGG, Bank of America, Wordpress, Drupal, Mozilla 等著名站点。

2. MooTools – a compact javascript framework
MooTools - a compact=

MooTools 是一个使用 MIT 许可的开源项目,意味着你可以在任一场合使用或对它就行修改。

  • 当前版本: 1.2.3
  • 未压缩尺寸: 95 KB (客户端) ,22 KB (服务器端)
  • 作者: Valerio Proietti
  • 著名用户: w3c, cnet, bing, …
  • 官方站上的插件数目: 4
  • 拥有更好的面向对象结构
  • 它的动画效果更平滑
  • 语法及对象句柄更富逻辑