轻量级网站的特定 apache + mysql 设置

轻量级网站的特定 apache + mysql 设置

我有一个小网站,安装了 Joomla 和 Moodle。这两个网站似乎都很慢。服务器(CentOS 版本 5.5(最终版))是一个虚拟专用服务器,内存约为 2GB。我预计不会同时有超过 10-15 人同时在线(如果这个数字很高的话)

我可以在 apache、mysql 甚至操作系统中更改哪些设置来提高网站的性能?

如果访客太多,我并不担心资源耗尽。

如果您需要更具体的数据,请发表评论,我会编辑问题。

数据库速度:

+--------------------+----------------------+------------------+
| Data Base Name     | Data Base Size in MB | Free Space in MB |
+--------------------+----------------------+------------------+
| information_schema |           0.00390625 |       0.00000000 | 
| joomla             |           0.33125496 |       0.07981014 | 
| moodle             |           7.73092937 |       0.01922131 | 
| mysql              |           0.52505302 |       0.00000000 | 
| phpmyadmin         |           0.01499939 |       0.00106049 | 
+--------------------+----------------------+------------------+
5 rows in set (0.07 sec)

Apache 加载的模块:

core prefork http_core mod_so mod_auth_basic mod_auth_digest mod_authn_file mod_authn_alias mod_authn_anon mod_authn_default mod_authz_host mod_authz_user mod_authz_owner mod_authz_default mod_include mod_log_config mod_env mod_ext_filter mod_mime_magic mod_expires mod_deflate mod_headers mod_setenvif mod_mime mod_status mod_autoindex mod_info mod_negotiation mod_dir mod_alias mod_rewrite mod_cache mod_suexec mod_disk_cache mod_file_cache mod_cgi mod_version mod_php5 mod_ssl 

$ cat /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#don't use old password format
old_passwords=0

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links=0

#Alwaysuse the better InnoDB
default-storage-engine=InnoDB
innodb_buffer_pool_size=512

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我在找具体设置改变这一点将会提高服务器的速度。

答案1

Mysql 总是喜欢 RAM。将(至少大多数)表(joomla 和 moodle 中的,而不是其他的)转换为 InnoDb 格式并增加使用的内存也会对速度有很大帮助。innodb_buffer_pool_size 是 mysql 配置。使用的默认大小只有 8MB - 如果您的数据库真的那么小(坦率地说,如果真的使用它,我会对这么小感到有点惊讶),那么给它 16MB 也会有所不同,而且更有可能的是,我还是会给它 512MB 的 innodb_buffer_pool_size。由于所有数据库内容都在内存中,因此几乎不需要考虑磁盘。

安装调试将允许您逐个功能、逐行地找出网站中哪些部分运行缓慢。 网磨将解析 Xdebug 的输出以显示给您。

要了解更多信息,您需要收集一些有关服务器正在做什么的统计数据 - 比如运行 colcted,然后查看正在生成的图表。即使只是查看“top”的输出,在命令行上运行也可以帮助了解正在发生的事情。

相关内容