2008-04-06 Sun
不知大家最近是否有发现,收藏夹已经偷偷的在改版了哦~~本次改版包括2部分内容:收藏步骤的改动和收藏宝贝detail中关联推荐的内容优化。
我们就按照收藏的过程来综合看下这次改动后的结果吧。
首先,用户在完成收藏这个动作之后,会跳出一个对话框(如下图),包括4块内容。
- 已有216位收藏成功啦–收藏成功的提示
- 淘宝猜你还喜欢–点击此链接到达该被收藏商品的关联推荐页面。(具体页面请继续向下看)
- 查看我的收藏夹–点击此链接到达我的收藏list。(此页面暂时未改动,敬请期待下次改版!是不是有句叫“且听下回分解”哈哈)
- 本类销售热门排行榜–虽然叫做了这个名字(为了吸引用户点击),其实推荐的内容是和当前收藏的商品具有相关性并且在同一类目下的商品。因为当你做收藏这个动作而非没有购买动作的时候,我们认为你对该类商品有兴趣,但可能还要多比较些同类商品,才能让你下决心去购买,所以我们在此时推荐同类商品给你,方便你更快的找到自己真正心仪的商品。点击此热门排行榜中推荐商品的链接,到达该商品的收藏关联推荐页面。
提到了2次收藏关联推荐页面,大家一定很好奇,到底页面是怎样的呢?现在就来详细解说吧。
收藏关联推荐页面一共分为五个部分:
第一部分,用户关注商品的简要信息。上图先,
这是用户所点击商品的一个简要信息。用户可以通过点击图片和最上方的文字链接到该商品的detail页面,可是在detail中查看商品详情,并且进行购买的操作。
第二部分,同类商品推荐。请看下图,
用户关注某件商品,肯定是对某类商品感兴趣或者有购买意向,所以我们给出同类的8件商品,让用户可以在这8件同类商品中,方便的进行比较和挑选。以便让用户更快的找到目标商品而做出购买决策。同时,点击图片和商品标题文字均可到达商品detail页面。用户可以对感兴趣的商品进行详细的了解并购买。
与此同时,我们还提供了非同类的一个推荐。请看第三部分:
用户除了可以看到同类的相关商品之外,还可以看到在别的不同类别下的相关商品。这样可以扩展用户的兴趣,让用户看到更多可能感兴趣的东西。就例如刚刚那个《无框画挂钟》,一般看这类商品的都是一些正在装饰新家的女用户,所以在我们给他的非同类的商品中还有:搁架、床单、挂帘、画等。又因为用户为女性,所以可能她会同时看一些服饰、鞋帽等,来满足自己的购物欲,所以这些就是我们给予看该《无框画挂钟》所推荐的商品。
用户可以通过点击商品图片和商品标题,到达商品detail页面来进行购买和继续收藏。
第四部分:相关店铺推荐,如下图,
如果用户的行为习惯是看某个卖家店铺的,也可以通过对店铺的推荐,让用户通过点击店标和店铺名来快速到达我们所推荐的店铺。根据用户浏览的商品,我们根据算法给出的推荐店铺有专卖无框画钟的店铺,也有其他装饰店铺,也有其他服饰类等来满足用户的各类需求。
第五部分:该类下排行榜,如下图,
用户可以通过排行榜信息很快的了解到该类目下,哪些商品最热门,价格是多少。用户可以直接点击图片和商品链接到达商品detail页面上,直接进行购买。满足某些喜欢看排行的用户的需求。
以上就是收藏的整个过程和页面展现。大家感兴趣的可以立即去淘宝网收藏一个商品看看哦!希望大家都能在淘宝找到自己喜欢的宝贝哦~
如果大家对收藏店铺也感兴趣的,且听下回分解了!哈哈。
ORA-01599 failed to acquire rollback segment (string), cache space is full (currently has (string) entries)
Cause: The amount statically allocated is not enough based on the value of the MAX_ROLLBACK_SEGMENTS parameter"
这个错误是说 max_rollback_segments 参数设置过小,通过增大该参数可以解决该问题。
max_rollback_segments 参数的含义如下:
Specifies the maximum size of the rollback segment cache in the SGA.
The number specified signifies the maximum number of rollback segments
that can be kept online (that is, status of ONLINE) simultaneously by one instance.
其缺省值为:max(30, transactions/transactions_per_rollback_segment)
而从Oracle9i开始,Oracle使用AUM模式,UNDO的管理自动化,该参数的限制作用不再,以下是我的一个测试,即使设置更小的 max_rollback_segment 数据库仍然能够Online更多的回滚段:
SQL> select * from V$RESOURCE_LIMIT;
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- -------------------- -----------
processes 11 13 150 150
sessions 14 18 170 170
enqueue_locks 9 13 2230 2230
enqueue_resources 9 9 968 UNLIMITED
ges_procs 0 0 0 0
ges_ress 0 0 0 UNLIMITED
ges_locks 0 0 0 UNLIMITED
ges_cache_ress 0 0 0 UNLIMITED
ges_reg_msgs 0 0 0 UNLIMITED
ges_big_msgs 0 0 0 UNLIMITED
ges_rsv_msgs 0 0 0 0
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- -------------------- -----------
gcs_resources 0 0 35215 35215
gcs_shadows 0 0 35215 35215
dml_locks 0 3 748 UNLIMITED
temporary_table_locks 0 0 UNLIMITED UNLIMITED
transactions 0 4 187 UNLIMITED
branches 0 0 187 UNLIMITED
cmtcallbk 0 0 187 UNLIMITED
sort_segment_locks 0 1 UNLIMITED UNLIMITED
max_rollback_segments 11 11 38 38
max_shared_servers 0 0 20 20
parallel_max_servers 0 0 6 6
22 rows selected.
SQL> show parameter rollback
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback string LOW
max_rollback_segments integer 37
rollback_segments string
transactions_per_rollback_segment integer 5
SQL> alter system set max_rollback_segments=2 scope=spfile;
System altered.
SQL> startup force;
ORACLE instance started.
Total System Global Area 219223120 bytes
Fixed Size 451664 bytes
Variable Size 134217728 bytes
Database Buffers 83886080 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> select * from V$RESOURCE_LIMIT;
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- -------------------- -----------
processes 11 13 150 150
sessions 14 15 170 170
enqueue_locks 9 14 2230 2230
enqueue_resources 9 9 968 UNLIMITED
ges_procs 0 0 0 0
ges_ress 0 0 0 UNLIMITED
ges_locks 0 0 0 UNLIMITED
ges_cache_ress 0 0 0 UNLIMITED
ges_reg_msgs 0 0 0 UNLIMITED
ges_big_msgs 0 0 0 UNLIMITED
ges_rsv_msgs 0 0 0 0
RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------ ------------------- --------------- -------------------- -----------
gcs_resources 0 0 35215 35215
gcs_shadows 0 0 35215 35215
dml_locks 0 2 748 UNLIMITED
temporary_table_locks 0 0 UNLIMITED UNLIMITED
transactions 0 4 187 UNLIMITED
branches 0 0 187 UNLIMITED
cmtcallbk 0 0 187 UNLIMITED
sort_segment_locks 0 1 UNLIMITED UNLIMITED
max_rollback_segments 3 3 3 3
max_shared_servers 0 0 20 20
parallel_max_servers 0 0 6 6
22 rows selected.
SQL> SELECT SEGMENT_NAME, STATUS FROM DBA_ROLLBACK_SEGS;
SEGMENT_NAME STATUS
------------------------------ ----------------
SYSTEM ONLINE
_SYSSMU1$ ONLINE
_SYSSMU2$ ONLINE
_SYSSMU3$ ONLINE
_SYSSMU4$ ONLINE
_SYSSMU5$ ONLINE
_SYSSMU6$ ONLINE
_SYSSMU7$ ONLINE
_SYSSMU8$ ONLINE
_SYSSMU9$ ONLINE
_SYSSMU10$ ONLINE
11 rows selected.
而且在Oracle9i中 ORA-01559 错误也已经被重新定义:
[oracle@jumper oracle]$ oerr ORA 01559
01559, 00000, "MAXEXTENTS for rollback segment must be greater than 1"
// *Cause: Specified MAXEXTENTS of less than 2 for rollback segment
// *Action: Specify larger MAXEXTENTS
-The End-
相关文章|Related Articles
- Oracle HowTo:判断一个死事务的恢复进度
- 在AUM下如何获取回滚段名称
- 修改默认的undo_retention参数设置
- 如何解决Ora-00600 4194错误
- Oracle HowTo:如何Shrink Undo表空间,释放过度占用的空间
评论数量(0)|Add Comments
本文网址:http://www.eygle.com/archives/2008/04/max_rollback_segments.html
So you’re running dedicated MySQL Linux box with plenty of memory, so the good question arises if you should have swap file enabled or disable it ? I’ve seen production successfully running on boxes both with and without swap file so it is not the question of you must do it this or that way but rather understanding advantages of both approaches.
I also would like to hear what you do yourself, and why
The rationale behind disabling swap is what there is nothing you want to swap out on such box anyway and if you disable swap file kernel will not swap and possibly will be able to manage memory smarter knowing it does not need to look for pages to swap out or balance memory for reducing a cache or swapping something out.
And indeed if you run with swap disabled you would not have the issue of swapping happening on the box as there is just nowhere to swap.
So what is about enabled swap - if we assume the kernel is smart (as we did for second case) we will be able to save a bit of memory as there are some programs which are started but never never really used. These would be first valid candidates to swap out. Second if you have swap file you get a bit more flexibility. What happens if you miscounted something or there is a gotcha in your application and you ended up with a lots of connections creating large temporary tables and so MySQL running out of memory (and getting killed by kernel). It could not even be MySQL but some script cron script or something similar with same affect.
In practice there are additional issues for both of the configurations - if you keep swap enabled you may have hard time keeping MySQL in memory because Kernel would love to swap it out. Recent kernels become much better than few years ago but I still run in workloads which expose bad kernel behavior and swap buffer space out even with /proc/sys/vm/swappiness =0. You can lock MySQL in memory by using –memlock option but it opens its own can of worms.
If you keep swap disabled you can run into another problems. A lot of code in the kernel assumes there is a swap space and I’ve seen kernel starting to behave crazy when there is memory pressure and there is nothing to swap out. This may actually mean the buffer pool (or other caches) which you can safely use can be less if you have swap file disabled. Though I must note again this can be workload and kernel version specific.
Besides general considerations there are many case specific ones. For example if you would rather spend more memory (allowing more reserve for spikes) than to have slowdown caused by swapping activities in case memory overcommit occurs you may be better off without swap file. If on the contrary you want to use as much memory as possible to get last bit of performance and do not mind slowdowns if you mixedup as well as have tools to resolve them quickly (ie killing runaway queries) keeping swap file enabled may be right for you.
Myself I tend to keep swap enabled on MySQL server but of course ensure there is not swapping happening (si/so columns in VMSTAT are zero or close to zero).
If you want to keep swap file disabled that also fine but you should make sure your workload is stable so there are no large spikes in memory requirements, as well as you have processes and discipline to make sure it is kept stable.
Entry posted by peter | 8 comments
So you’re running dedicated MySQL Linux box with plenty of memory, so the good question arises if you should have swap file enabled or disable it ? I’ve seen production successfully running on boxes both with and without swap file so it is not the question of you must do it this or that way but rather understanding advantages of both approaches.
I also would like to hear what you do yourself, and why
The rationale behind disabling swap is what there is nothing you want to swap out on such box anyway and if you disable swap file kernel will not swap and possibly will be able to manage memory smarter knowing it does not need to look for pages to swap out or balance memory for reducing a cache or swapping something out.
And indeed if you run with swap disabled you would not have the issue of swapping happening on the box as there is just nowhere to swap.
So what is about enabled swap - if we assume the kernel is smart (as we did for second case) we will be able to save a bit of memory as there are some programs which are started but never never really used. These would be first valid candidates to swap out. Second if you have swap file you get a bit more flexibility. What happens if you miscounted something or there is a gotcha in your application and you ended up with a lots of connections creating large temporary tables and so MySQL running out of memory (and getting killed by kernel). It could not even be MySQL but some script cron script or something similar with same affect.
In practice there are additional issues for both of the configurations - if you keep swap enabled you may have hard time keeping MySQL in memory because Kernel would love to swap it out. Recent kernels become much better than few years ago but I still run in workloads which expose bad kernel behavior and swap buffer space out even with /proc/sys/vm/swappiness =0. You can lock MySQL in memory by using –memlock option but it opens its own can of worms.
If you keep swap disabled you can run into another problems. A lot of code in the kernel assumes there is a swap space and I’ve seen kernel starting to behave crazy when there is memory pressure and there is nothing to swap out. This may actually mean the buffer pool (or other caches) which you can safely use can be less if you have swap file disabled. Though I must note again this can be workload and kernel version specific.
Besides general considerations there are many case specific ones. For example if you would rather spend more memory (allowing more reserve for spikes) than to have slowdown caused by swapping activities in case memory overcommit occurs you may be better off without swap file. If on the contrary you want to use as much memory as possible to get last bit of performance and do not mind slowdowns if you mixedup as well as have tools to resolve them quickly (ie killing runaway queries) keeping swap file enabled may be right for you.
Myself I tend to keep swap enabled on MySQL server but of course ensure there is not swapping happening (si/so columns in VMSTAT are zero or close to zero).
If you want to keep swap file disabled that also fine but you should make sure your workload is stable so there are no large spikes in memory requirements, as well as you have processes and discipline to make sure it is kept stable.
Entry posted by peter | 8 comments


今天从新东方回来,在小区门口,遇到了孟静同学。
这是我搬到这里来之后,第二次遇到疑似孟静同学,临近的时候,我打声招呼:是孟静么?
她稍微有点一愣,然后说:是啊,你是?
我说:是你的fans,你上过我的网站,我也经常读你的网站,但是我们是第一次见面。
然后她开始猜测我说MSN上的某个陌生人,或者曾经某次在公交车上遇到过。
我说:都不是(可是我们有颇深的渊源)....
我说:也许以后有机会去打扰你,我们住一个小区
她说:你住几号楼?
我说:7号
他说:哦,10号
我说:不是,是7号
孟同学说,我给你一张名片吧,也许以后可以联络。
我看她游忽不定的心神,说bye-bye。
忽然想起怀里抱着刚买的玫瑰和百合,转过身来喊住她说:孟静,我送你一只玫瑰好吧?
孟MM说:不要,因为我要去看戏。
会话到此结束。回家被老婆教训一顿,以后再不敢乱送花了,汗ing。
关于孟静是谁,请参考:孟静其人,孟八,我和老婆是这样认识的....
相关文章|Related Articles
评论数量(4)|Add Comments
本文网址:http://www.eygle.com/archives/2008/04/meet_mengjing_by_accident.html
昨天一大早起床,去eygle的新家接了eygle和julia两口子,还有蜥蜴,再加上coolyl、江涛、刘雁、我,一共7个人,两辆车,向黑龙潭进军了。
虽然说,天气并没有那么阳光灿烂,但是对于本来一直担心可能会下雨的我们来说已经很不错了。我一直以为黑龙潭是看水,谁知道原来是爬山。。。
这是在黑龙潭最后一个潭旁边的超级大斜坡上,我跟eygle,拍照者coolyl。
我们都可以站着拍照,而julia在被eygle忽悠上来以后,唯一能做的是爬在地上,她还劝导旁边的女生说,“像我这样趴着吧”,那女生很诧异,“为什么?”,Julia说,“这样安全”,我清晰地看到那女生眼中“我FT”的眼神。Julia爬在斜坡上,说自己要像大青虫那样拱呀拱呀的拱下去,但是只拱了一下就被eygle制止了,按照那速度估计天黑了她也拱不完,我在上面看得几乎笑翻到斜坡下去。各位要问了,那Julia是怎么下去的?她是在自己的尖叫声中被eygle和coolyl合手扯下去的。原来真有这样恐高的。。。汗。
龙溪潭旁边岩石坡上的合照,蜥蜴死活不上来,所以成为拍照者了。还有一张我鞋子踹在Julia头顶上的,在Julia相机里面。
这叫露一小脸。
这叫“妈的,还我”
沿路有很多这样高过人的芦苇荡,Julia给我们几个用这个氛围整了一张黑社会造型的,还未看到,不知效果如何。
初春,虽然天气预报里面说市区温度会到28度,但是在黑龙潭还有未化的冰雪。
青山,白石,深潭,颇为赏心悦目。
被告出去玩了,玩得很爽,不知道原告是不是也能这样放心地出去玩呢?
Author:NinGoo posted on NinGoo.net
升级过程很简单,覆盖上传wordpress2.5 ,然后执行/wp-admin/update.php升级数据库结构即可。我启用的插件不多,目前看来没什么不兼容的问题。
这次更新,最大的变化就是后台管理界面完全重写了,用起来还真有点不习惯,不过看起来确实比旧的要舒服一些。Tag终于加入了管理的功能,算是很早就该有的功能姗姗来迟,一大批Tag编辑相关的插件又要走向末路了。在撰写文章界面,标题的别名可以直接在标题下面的永久链接处修改了,这个位置更加容易被注意到,可以减少因为忘记而使得用了汉字的永久链接被URL编码成一堆百分号的机会。
Related Articles
2008-04-05 Sat
2008-04-04 Fri
AnySQL.net
DBA notes
Oracle & Starcraft
eagle's home
给你点color see see
AnySQL.net English
Oracle Scratchpad
Oracle Life
OracleDBA Blog---请享受无法回避的痛苦!
Photos from dbanotes
Chanel [K]
xzh2000的博客
Oracle Security Blog
ERN空间
Eddie Awad's Blog
MySQL Performance Blog
The Tom Kyte Blog
del.icio.us/fenng/oracle
AIXpert
O'Reilly Databases
Red Hat Magazine
DBASupport
DB2 Magazine 中文版
developerWorks : AIX 专区的文章,教程
Pythian Group Blog » Log Buffer
车东[Blog^2]
blue_prince
玉面飞龙的BLOG
此生 今世
人生就是如此
Orange Tiger 木匠 的 移民生活
生活帮-LifeBang
Hey!! Sky!
dba on unix
Oracle Notes Wiki
Brotherxiao's Home
柔嘉维则@life.oracle.eng
Fenng's shared items in Google Reader
jametong's shared items in Google Reader
缥缈游侠-logzgh
Tanel Poder's blog: Core IT for geeks and pros
DBA Tools
ilonng
yangtingkun
NinGoo@Net
Oracle & Unix
Inside the Oracle Optimizer - Removing the black magic
Ricky's Test Blog
DBA@Taobao
存储部落
Think in 88
Alibaba DBA Team
Oracle Team @SNC
淘宝数据仓库团队
OracleBlog.cn

















