首页 | 摘要显示 | 上一页 1 2 3 4 5 6 7 8 9 下一页

Weblog Archives

September 8, 2007

加快Movable Type的留言速度的办法

    最近基于Movable Type平台的本站留言速度下降比较历害, 这严重地影响了浏览者进行留言交流的极积性, 如何提高速度呢? 象Oracle数据库一样, 一开始没什么人用时比较快, 最后数据多了就慢了, 进行调优的最好的方法是减少数据库上的执行次数, 最近一个生产库就是用这个方法的, 效果很明显. 现在要将这一步应用到Blog平台上来, 由于Movable Type是静态发布的, 因此留言后需要重新发布页面, 因此减少需要重建的页面是很关键的一招.

    拿我的站点来讲, 禁掉了以下几个页面的自动发布.

  • 自定义的一些模板
  • Master Archives
  • Site Scripts
  • Site Styles

    另外, 我还去掉了Monthly Archive, 有Cateogry Archive就足够了, 那东西没有多少人访问. 在CDMA 1X的网络上测试感觉还不是很明显, 不过大家可以留言试试速度.

    减少不必要的功能, 是很有效的一招调优的方法.

September 9, 2007

更改了Movable Type平台几个表上的索引

    观看Movable Type后台的数据库, 发现有些索引建得不是很合理, 基本上是每个列上都建了一个单独的索引, 这一招是很多软件商都采用的办法, 而不管这个列上面的选择性如何. 我主要更改了以下三个表的索引.

    MT_PLACEMENT表记录了文章所属的类的信息, 更改后的索引结构如下:

+--------------------------------+------+-----------------------+
| Key_name                       |  Col | Column_name           |
+--------------------------------+------+-----------------------+
| PRIMARY                        |    1 | placement_id          |
| mt_placement_entry_id          |    1 | placement_entry_id    |
| mt_placement_blog_category_id  |    1 | placement_blog_id     |
| mt_placement_blog_category_id  |    2 | placement_category_id |
| mt_placement_category_entry_id |    1 | placement_category_id |
| mt_placement_category_entry_id |    2 | placement_entry_id    |
+--------------------------------+------+-----------------------+

    MT_OBJECTTAG表记录了文章和Tag的关联信息, 更改后的索引结构如下:

+----------------------------+------+---------------------+
| Key_name                   |  Col | Column_name         |
+----------------------------+------+---------------------+
| PRIMARY                    |    1 | objecttag_id        |
| mt_objecttag_blog_tag_id   |    1 | objecttag_blog_id   |
| mt_objecttag_blog_tag_id   |    2 | objecttag_tag_id    |
| mt_objecttag_object_tag_id |    1 | objecttag_object_id |
| mt_objecttag_object_tag_id |    2 | objecttag_tag_id    |
| mt_objecttag_tag_object_id |    1 | objecttag_tag_id    |
| mt_objecttag_tag_object_id |    2 | objecttag_object_id |
+----------------------------+------+---------------------+

    MT_ENTRY表主要是删除了几个索引(AUTHOR_ID和STATUS列上的), 更改后的索引结构如下:

+------------------------+------+-------------------+
| Key_name               |  Col | Column_name       |
+------------------------+------+-------------------+
| PRIMARY                |    1 | entry_id          |
| mt_entry_basename      |    1 | entry_basename    |
| mt_entry_modified_on   |    1 | entry_modified_on |
| mt_entry_created_on    |    1 | entry_created_on  |
| mt_entry_week_number   |    1 | entry_week_number |
| mt_entry_blog_entry_id |    1 | entry_blog_id     |
| mt_entry_blog_entry_id |    2 | entry_id          |
+------------------------+------+-------------------+

    其实改这些好象也没有作用, 请几个人测试后, 发现留言速度并没有加快.

September 10, 2007

如何更好地在RSS中显示AnySQL的代码

    关于RSS的输出格式, 一直很有争议, 如是否全文输出以及网页格式化. 我一起是全文输出的, 可能是因为我没内容写的原因, 所以每篇都很短. 偶儿有几篇看起来很长的, 却是一些SQL或程序代码, 为了更好地显示本站的代码, 请定义一个用等宽字体的prefont样式. 如下所示:

.prefont
{
    font-family: "Courier New", Courier, mono;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: normal;
    word-spacing: normal;
    background-color: #efefef;
    background: #efefef;
    margin-left: 30px;
    margin-right: 15px;
    margin-top: 10px;
    margin-bottom: 10px;
}

    因为这些SQL或代码都没有放在pre标记中, 所以形成了这个问题, 但加了这段css后应当很整齐了.

    谢谢!

September 20, 2007

最近一段时间要少更新本站了

    下半年公司的事情较多, 要少写让人看不懂的贴子, 多做工作.

    英文站点(dbatools.net)上则会更新多一些, 不过也没有新内容, 只是将AnySQL的英文页面的内容整理重新组织一下, 以后会将AnySQL English移走. 英文语法错误肯定很多, 不过老外都差不多能看懂, 你也应当可以看懂的.

    请大家一如即住地继续关注本站.

    谢谢你的访问.

December 5, 2007

Text Link Ads赚钱广告的JavaScript实现

    个人网站要赚点钱就得给人做广告, Google Adsense的收入是越来越差了, 因为这个帐号已经积累了84美元, 等积累到100时, 就转向阿里妈妈(Alimama)算了. 为了增加一点广告收入, 在站点中加上了Text Link Ads(简称TLA)的文字链接广告(还要过几天才有显示). 其实很早就申请了TLA的帐号, 但因为其不提供JavaScript格式的广告代码, 所以一直没有加到主页上, 为了这一点将访问量最大的静态HTML改成PHP不值, 因为测试过, 在资源很有限的Dreamhost虚拟主机上执行PHP的效率很差.

    不过总有办法解决的, 将TLA的PHP广告代码改改(改好的), 就可以变相实现了. 更改TLA的PHP源码存成单独的文件(tla.php), 将出广告HTML代码部份写入一个JavaScript文件, 然后在主页上只引用这个生成的JavaScript文件就可以, js文件中的内容如下:

document.write('<ul>')
document.write('<li> <a href="...">Test Link Ad</a> </li>')
document.write('</ul>')

    然后调度一个后台进程来刷新.

wget http://yourdomain/tla.php -O - > /dev/null 2>&1

    如果你不想这么麻烦, 你可以不改代码, 用iframe标记来实现, 不过我个并不喜欢这样. 本来想用MT插件(Plugins)方式, 来做成静态代码的, 不过那样广告的实时更新有点麻烦, 需要留言或重建首页时才能更新.

上一页 1 2 3 4 5 6 7 8 9 下一页

当前分类: Weblog

Creative Commons License
本站版权: 共用创作 CC
署名-非商业性-相同方式分享
本站基于MT-3.36免费版
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql