我有一个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
我正在寻找特定的设置来改变,这将增加服务器的速度。
Mysql总是喜欢RAM。 将(至less大部分)表(至less大部分)转换成InnoDb格式,并增加使用的内存也将大大提高速度。 innodb_buffer_pool_size是mysql的configuration。 使用的默认大小只有8MB – 如果你的数据库真的很小(如果真的被使用的话,我会坦白地说,有一点点惊讶),那么给它甚至16MB就会有所作为,无论如何,我更愿意给innodb_buffer_pool_size 512MB。 有了内存中的所有数据库内容,磁盘几乎不在方程中。
安装Xdebug将允许你找出网站的哪些部分是慢的,按function逐行执行。 Webgrind将parsingXdebug的输出来显示你。
要了解更多信息,您需要收集一些关于服务器正在做什么的统计信息,比如运行时碰撞,然后查看正在生成的图表。 即使只看“顶”的输出,在命令行上运行也可以帮助我们看到发生了什么。