경량 사이트를 위한 특정 apache + mysql 설정

경량 사이트를 위한 특정 apache + mysql 설정

저는 Joomla와 Moodle이 설치된 작은 웹사이트를 운영하고 있습니다. 둘 다 매우 느린 것 같습니다. 서버(CentOS 릴리스 5.5(최종))는 약 2GB의 RAM을 갖춘 가상 전용 서버입니다. 동시에 10~15명 이상의 사람이 참여할 수 있을 것으로 예상하지 않습니다(그리고 그 수가 많다면).

내 사이트의 성능을 높이기 위해 Apache, mysql 또는 OS에서 어떤 설정을 변경할 수 있습니까?

방문자가 너무 많아도 리소스 부족에 대해 걱정하지 않습니다.

더 구체적인 데이터가 필요한 경우 의견을 남겨주시면 질문을 수정하겠습니다.

데이터베이스 속도:

+--------------------+----------------------+------------------+
| 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 

$ 고양이 /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 및 무들로)을 InnoDb 형식으로 변환하고 사용하는 메모리를 늘리면 속도에도 큰 도움이 됩니다. innodb_buffer_pool_size는 mysql 구성입니다. 사용되는 기본 크기는 단지 8MB입니다. 데이터베이스가 정말 그렇게 작다면(실제로 전혀 사용되지 않는다면 솔직히 조금 놀랄 것입니다), 16MB라도 주면 차이가 생길 것입니다. 어쨌든 innodb_buffer_pool_size에 대해 512MB를 제공할 가능성이 높습니다. 모든 데이터베이스 콘텐츠가 메모리에 있으므로 디스크가 거의 필요하지 않습니다.

설치 중X디버그이를 통해 사이트의 어느 부분이 기능별로, 한 줄씩 느린지 확인할 수 있습니다. 웹그라인드Xdebug의 출력을 분석하여 보여드리겠습니다.

그보다 더 많은 것을 알아내려면 서버가 수행하는 작업에 대한 몇 가지 통계를 수집해야 합니다. 예를 들어 collcted를 실행한 다음 생성되는 그래프를 보는 등이 있습니다. 'top'의 출력만 보더라도 명령줄에서 실행하면 무슨 일이 일어나고 있는지 확인하는 데 많은 도움이 될 수 있습니다.

관련 정보