从性能的角度选择加载Drupal节点对象所使用的函数

性能

通过前两天的文章,大家可以发现:menu_get_object()和node_load()都可用于加载Drupal节点对象。那么使用哪一个性能更好呢?今天我就为大家实际测试一下吧。

测试方法:分别调用两个函数1000次,记录消耗的所有时间,再求平均值。Drupal的计时器函数在前不久刚刚为大家做过介绍,就不解释了。

注意:请在某个Drupal节点页面中执行下列代码。

从路由项加载Drupal对象

从路由项加载Drupal对象 - 使用menu_get_object()函数

Drupal提供的menu_get_object()函数可以让我们从路由项加载Drupal对象。有关Drupal路由项的知识可以查阅我的另一篇文章《使用menu_get_item()函数返回Drupal路由项 》,链接在本文后面的相关文章列表中。

menu_get_object()函数有3个参数,分别是:

$type:对象的类型。可供选择的类型有aggregator_feed,aggregator_category,contact,filter_format,forum_term,menu,menu_link,node,taxonomy_vocabulary,taxonomy_term,user。默认值为node。在hook_menu()钩子函数的实现中,也可通过%[对象类型]进行定义。如:%user和%node,与其相关的加载函数分别是user_load()和node_load()。

Drupal计时器功能详解

计时器

时间测量间隔

计时器开始与结束的时间区间称为时间测量间隔。如果存在多个时间测量间隔(即:多次开始和停止同样的计时器),则每个间隔所统计的时间将被累加。

$timers全局变量

Drupal的全局变量$timers用于保存计时器的数据。它是一个嵌套数组,看起来就像这样:$timer[计时器的名字][属性]。其中计时器的名字可以根据自己的需要取名,而属性则分为三种:

在Linux操作系统中快速查找端口与网络服务的对应关系

端口与网络服务的对应关系

不同的网络服务拥有各自的监听端口。用户可以通过指定某个端口连接想要的网络服务。例如:用户在浏览器中输入http://mydrupal.org就可以连接http(WorldWideWeb HTTP)服务,而输入https://drupal.org则可以连接https(http protocol over TLS/SSL)服务。

在很多网络协议当中都定义了默认的标准端口。那么怎样快速知道端口与网络服务的对应关系呢?我们可以查询IANA官方网站获得权威信息。也可以在Linux操作系统中快速查找到它们:

Drupal旅游门户案例Niagara Falls Fun

Drupal旅游门户案例Niagara Falls Fun

尼亚加拉大瀑布是世界上最壮丽的自然奇观之一。在大瀑布周边拥有众多的酒店、餐馆、商店、夜总会...这让大瀑布风景区更加丰富多彩,但也让游客们眼花缭乱,无所适从。

基于Drupal开发的旅游门户网站Niagara Falls Fun帮助旅游者解决了这一难题。凡是他们想要的,这里都有:

将Drupal页面标题添加到面包屑的简单方法 - Menu Breadcrumb模块

Drupal面包屑

Drupal默认没有将页面标题添加到面包屑,这给用户带来了一些不便。有很多模块可以实现这一功能,今天为大家介绍其中最简单的Menu Breadcrumb模块

首先下载并启用该Drupal模块。

drush dl menu_breadcrumb
drush en menu_breadcrumb

然后进入该模块的配置界面(http://你的Drupal网站域名/admin/config/user-interface/menu-breadcrumb),勾选下列两项(如果不希望标题面包屑呈现为链接形式,则不要勾选第二项):

在Drupal节点被呈现前操作节点对象

Drupal节点对象

hook_node_view()钩子函数用于在Drupal节点被呈现前操作节点对象。下面是几个例子:

修改node/24的标题和作者:

function mymodule_node_view($node, $view_mode, $langcode) {
  if ($node->nid == 24) {
    $node->title = '我是第24个节点';
    $node->name = 'drupal';
  }
}

移除所有Drupal节点的links元素:

为Linux服务器创建Swap的详细教程

Swap

Linux内存由大量的内存页组成。当物理内存不足时,可以将内存页从内存复制到硬盘上的预配置空间Swap中。虽然这帮助我们降低了服务器的硬件成本,但是Swap的缺点也是显而易见的。和内存相比,硬盘的速度要慢得多。在使用VPS时尤其如此。而且,交换数据太多也会影响Swap的稳定性。因此,对于Swap的使用,应该根据具体情况权衡取舍。

在一般的Linux安装过程中,我们可以方便的创建Swap。但是网络上很多VPS提供的系统模板,默认没有创建Swap。应该怎样创建它呢?下面请看具体方法。

首先我们需要检查Swap是否已被启用。

swapon -s

如果得到一个空的列表,则表明Swap未被启用。

然后检查文件系统,看看还有多少硬盘空间可用。

Pages