Archive for 十月, 2006

super-smack

Super-smack 是一个强大的广受赞誉的压力测试工具,支持MySQL和PostgreSQL。这个工具程序现在由 Tony Bourke 维护。

Read the rest of this entry »

评论 (1)

MySQL Benchmarking 4: Compiling Super-Smack on Solaris 10

I hate to start the blog post with the same "I’ve been really busy excuse" but honestly that’s the truth. Ever since I wrote the last post, one important thing happened to me. My dentist prescribed me a mouth wash and it turned out that I was severely allergic to it. My upper lip became extremely swollen and remained like that for couple of days until I got a shot of steroid. Ughh, it was really painful. Anyways, time has just been flying by and I have a lot of catching up to do.

This is the part 4 of MySQL Benchmarking series. In the last post I showed you how you can compile Sysbench on Solaris 10. In this post, I will be showing you how you can compile Super-Smack on Solaris 10.

MySQL Super Smack was originally developed by Sasha Pachev (sasha at surveypro dot com), a former MySQL employee. After Sasha, Jeremy Zawodny of Yahoo! took over the maintenance of Super Smack. When Jeremey got really busy with Yahoo! stuff, Tony Bourke took over the Super Smack project.

Getting Super Smack to compile on Solaris 10 was really a headache even though a Sun blog post claimed it wasn’t. Nonetheless, I finally succeeded with the help of Andy.

Download Super Smack source (the current version is 1.3).

Read the rest of this entry »

评论

以秒执行应用程序的Cron

 know two replacements of cron with second resolution:

http://multivac.cwru.edu./runwhen/
http://www.ohse.de/uwe/uschedule.html

评论

急性肠胃炎

昨天起床之后,老跑WC。当时,没有意识到那是病的前兆。

下午的时候,还跑去银行那边想办个国际借记卡的。谁知,星期天不可以办理。

到晚上,吃饭的时候,胃痛到没有什么胃口吃饭了。吃饭之后,买了胃药吃。开始以为已经没有什么大事了。

结果,在快回家的时候,还是吐了。可以说,把吃的都吐出来了。

深夜的时候,还发了高烧。或许,这一切都跟平时的生活作息有关。

以后,也不这么拼命地做东西了,该休息的时候,还是休息去。不加班加点地写代码了。

这样写出来的代码,效率也不一定高。

评论 (3)

十分钟学会 xajax

译者按: xajax 最大的特点是他采用了xml response,这样我们可以用php来布置,处理异步传送数据之后,网页内容的更新。而这些操作其它的ajax 框架都是由js来完成的的。xajax 使我们只需要写一些php函数,就可以实现。
所有学好xajax的关健在于熟练掌握 xajaxresponse 类。

Read the rest of this entry »

评论 (2)

Installing Apache 2.2 With SSL

Getting Apache installed to get a web server running

Installing Apache2.2

Make sure you update ports and then run the following commands:

# cd /usr/ports/www/apache22

# make install clean

That will install apache2.2

Read the rest of this entry »

评论

truncate 和delete的区别

注意:这里说的delete是指不带where子句的delete语句
相同点
truncate和不带where子句的delete, 以及drop都会删除表内的数据

不同点:
1. truncate和 delete只删除数据不删除表的结构(定义)
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
   truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
  显然drop语句将表所占用的空间全部释放
  truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

评论

如何实现MySQL表数据随机读取

以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。

SELECT * FROM table_name ORDER BY rand() LIMIT 5;

  rand在手册里是这么说的:

  RAND() ,RAND(N) :返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。

  mysql> select RAND();  -> 0.5925  mysql> select RAND(20);  -> 0.1811  mysql> select RAND(20);  -> 0.1811  mysql> select RAND();  -> 0.2079  mysql> select RAND();  -> 0.7888

  你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做:

SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c 

  但我试了一下,8千条记录的表,执行一次需要0.08 sec,.慢了些

  
  后来请教了google,得到如下代码

  SELECT *  FROM table_name AS r1 JOIN  (SELECT ROUND(RAND() *  (SELECT MAX(id)  FROM table_name)) AS id)  AS r2  WHERE r1.id >= r2.id  ORDER BY r1.id ASC  LIMIT 5;

    执行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持这样的子查询.

评论 (1)

现在广告能养活网站吗?

在相当长的一段时间里,互联网一直被当作一个媒体看待,所以广告就成为惟一的商业驱动力。大家都拼命地做内容、拼访问量,目的就是获取广告收入。但现实 是,互联网广告的增长速度,远远低于网页数量的增长速度;投向互联网的广告总量,根本不足以支持急速膨胀的内容网站的数量。关于这一点,黄芳宇的文章已经 说得很清楚了。这种趋势继续下去,可预见的结果一定是,单位网页的广告价值不断贬值,访问量将越来越不值钱。

以下内容来自 数位之墙
—————————————————
被稀释掉的广告收入

Read the rest of this entry »

评论 (1)

从LiveJournal后台发展看大规模网站性能优化方法

一、LiveJournal发展历程

LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:

  • 博客,论坛
  • 社会性网络,找到朋友
  • 聚合,把朋友的文章聚合在一起

LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。

在上线后,LiveJournal实现了非常快速的增长:

  • 2004年4月份:280万注册用户。
  • 2005年4月份:680万注册用户。
  • 2005年8月份:790万注册用户。
  • 达到了每秒钟上千次的页面请求及处理。
  • 使用了大量MySQL服务器。
  • 使用了大量通用组件。

Read the rest of this entry »

评论