XOOPS

优化Xoops、其模块以及您的服务器

instantzero  17-Dec-2007 11:32 9824 阅读量   12 评论(s) 
1/ 服务器
我们将首先关注您的服务器以及您可以对其进行哪些操作。
根据您拥有的服务器和合同类型,我们建议您启用gzip压缩。
如果您的服务器正在运行Apache 2,则您需要启用deflate模块
我们将不讨论如何安装和使用它;您可以在互联网上找到许多关于这方面的好教程。

“现代化”浏览器(实际上它们运行在不是那么新的浏览器中)可以要求从Web服务器发送压缩后的页面。
这样做有很多优点,首先,服务器和您的导航器之间的连接更少,其次,您接收的数据更少。
这种方法的缺点是您要求服务器工作得更多。但这值得!
这就像使用任何zip程序压缩HTML页面并将其发送到您的浏览器一样。
这对您的浏览器来说是一样的,并且您的浏览器肯定可以做到这一点。对于您的服务器...您必须与您的托管服务提供商协商。

如果您可以的话,我们还建议您安装并使用Zend OptimizereAccelerator扩展。
PHP6应包含opcache,但在它到来之前,您尝试使用其他方法节省一些时间。
使用Zend optimizer(或任何其他opcache缓存系统),最常用的脚本将保持在内存中的预编译状态下。这样,您的站点在每次调用时都不需要解释每个脚本。
使用类似eAccelerator的PHP扩展,您的站点调用的所有PHP脚本都可以以“编译”状态保存在您的硬盘上。它需要与您有的脚本一样多的磁盘空间(甚至更多),但它对于拥有更快的站点也是一种极大的帮助。


2/ 自身的Xoops
内容管理系统的问题在于一切都是动态的,因此数据库经常被使用,这与Xoops也是一样。
然而,Xoops 使用一个名为 “Smarty” 的模板系统,并且这个系统允许您使用缓存系统。
虽然当在模块页面上全局使用时,这个缓存系统可能会引起问题,但它对您的模块区块非常有用。
而且,通常,您网站的主页使用许多区块。
所以,别忘了为您的区块应用一些缓存,您可以在 Xoops 区块管理器中做到这一点,编辑区块并选择缓存时长。
最后一个建议,在我们进行的许多网站维护中,我们常常看到这个选项被激活了,“检查模板修改?”
毫无疑问,除非您正在制作您的主题,否则(除非有必要)请禁用此选项(将其设为否)!


3/ 数据库
您的数据库在每一页上都会被调用。它被 Xoops 和您的模块调用。
随着时间的推移和使用的增加,您的数据库可能会变得“未优化”,因此我们首先建议您安装和配置 XoopsCare
使用此模块,您可以为数据库计划一些定期的优化过程。

你必须知道的是,如果你有一天数据库出现崩溃问题,从经常优化的数据库中恢复数据比从未优化的数据库中更容易(如果可能的话),且对于您的网站来说更快。

根据您网站的流量,您可以为您选择的“每隔多少时间维护数据库”选项选择较大的或较小的值。我们还建议您使用“缓存和模板_c”选项以及“清空会话”。
关于会话,会话设置得越长,您填写的数据库就越大(并且越长)!
而且别忘了,像谷歌这样的机器人也会使用会话...

当谈到数据库时,我们将在本文的这部分结束,谈谈您可以对 Xoops 和您网站上安装的模块使用的Mysql 表进行的一些优化。

在修改数据库的任何更改之前,我们强烈建议您对其进行完整备份(内容和结构)。

正如您所知,Xoops 使用一个数据库来存储内容。模块也是如此。
每个模块都有自己的 Mysql 表。它包括一个结构(一个名称和字段)和数据。

每个表可以根据需要添加任意数量的索引。
索引被用来更快地进行搜索,但作为代价,您在读取过程中的所获将被丢失,因为您需要将数据插入表中并更新索引。
但是,通常,您的网站更多地用于读取而不是写入。因此,如果您的网站速度有问题,您可以在可能有用的地方添加一些索引。

因此,为了向网站添加索引,并且在进行备份后,我们建议您使用像 Phpmyadmin 这样的脚本来向您的表添加索引。
添加索引是一个非常简单的操作。一旦您点击(在左侧)表的名称,然后其结构就会在右侧可见,您将看到一个链接或图标,用于在所需字段上添加索引。

我们将查看您可以在其中添加一些索引的 Xoop 表,以及您可以索引哪些字段。

a) “modules” 表(在您的网站上类似于“xoops_modules”,具体取决于安装时使用的表前缀,但在此篇文章中我们将称之为“xoops”)。在这个表中,声明了在您网站上安装的模块。您可以向这些三个字段添加索引:“isactive”、“weight”和“hascomments”。

b) xoops_users. 这个表存储了您网站的所有用户列表。您可以索引“level”字段。

c) xoops_online. 这个表由“在线用户”区块(且仅当此区块可见时填充其内容)使用。您可以索引“online_updated”和“online_uid”字段。

d) Xoops_config. 在这个表中,保存了Xoops的配置和模块的配置。您可以在“conf_order”字段上添加索引。

e) xoops_xoopscomments. 如其名所示,这个表包含了所有模块的评论。您可以在“com_status”字段上添加索引。

f) 现在,我们将查看一些模块的表。首先,multiMenu。这是一个非常受欢迎的模块,您可以创建菜单,正如其名所示。在这个模块的表中,您可以索引“weight”、“hide”和“submenu”字段。

g) 新闻。 新闻模块也是一个著名的创建文章的模块。您可以在“xoops_stories”表的“published”字段上添加索引。

h) extCal是一个出色的日程表。在“xoops_extcal_event”表中,您可以对“event_start”、“event_end”进行索引,将“event_approved”从int(11)更改为tinyit(1)并对其进行索引。您还可以对“cat_id”字段进行索引。如果您愿意,您还可以添加另一个由“event_start”+“event_end”+“event_approved”组成的索引。

i) Smartsection,这是一个用于创建页面的模块。在其名为xoops_smartsection_items的表中,您可以索引“status”和“datesub”字段。仍然在这个模块中,在其名为xoops_smartsection_categories的表中,您可以索引“parentid”和“weight”字段。

j) XoopsPoll,这是一个用于创建调查的模块。在其名为xoops_xoopspoll_desc的表中,您可以索引“weight”字段。

k) Newbb。这是Xoops的论坛。在其名为“xoops_bb_online”的表中,您可以在“online_uid”字段上添加索引,并在其名为“xoops_bb_topics”的表中索引“approved”字段。对于名为“xoops_bb_posts”的表,您可以在“approved”字段上添加索引。最后,在其名为“xoops_bb_forums”的表中,您可以在“parent_forum”字段上添加索引。

l) Catads。这是一个出色的广告模块。在其名为“xoops_catads_ads”的表中,您可以索引“waiting”、“published”、“expired”、“uid”和“cat_id”字段。在其名为“xoops_catads_cat”的表中,您可以在“weight”和“pid”字段上添加索引。

m) SmartFAQ是一个FAQ模块,在其名为“xoops_smartfaq_categories”的表中,您可以在“parentid”字段上添加索引。

这并不是一个完整的列表。您肯定可以找到需要更多索引的表,甚至是没有索引的表。
如果您是开发者或经验丰富的用户,您可以激活您Mysql安装的“慢查询日志”
如果您不是开发者或经验丰富的用户,那么,您至少可以通过Phpmyadmin查看您网站所使用的表是否有索引。


4/ 使用的文件
一些文件被用于每个页面,例如文件xoops.js。
您可以在网站的“include”文件夹中找到此文件。
如果您使用的是标准主题,则此文件会在您网站的每个页面上被调用。

使用类似jsmin的程序可以缩小其大小。
这听起来有些荒谬,但对于流量很大的网站,这可以帮助您的网站更快地运行。

您可以将jsmin应用在您使用的任何其他JavaScript文件上,例如jQueryPrototype
一般来说,对于JavaScript文件,尽可能将这些文件放在您主题的代码中的较低部分。
您也可以将这个规则应用于Google Analytics代码(如果您使用它)和Google Ads。

您网站使用的另一种类型的文件是图片。
尽量将图片的重量减到最小。
如果您正在使用Photoshop,请将其导出为网页格式,并尽可能压缩它们。
如果您不使用Photoshop,我建议您使用XnView(Windows和Linux下都有提供)。


5/ CSS
您的网站肯定使用了一个从主题中调用的CSS文件。请核实该文件没有太多注释,并在必要时删除它们。
将调用CSS文件的代码放置在主题的顶部,这是一种节省时间的方法。


结论
如果您需要Xoops相关服务,请随时联系我们。

Instant Zero,您的Xoops专家。
评分 0/5
评分: 0/5(0票)
投票已被禁用!


Login

Who's Online

202 user(s) are online (20 user(s) are browsing Publisher)


Members: 0


Guests: 202


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Aug 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits

Categories