Configuraciones específicas de Apache + MySQL para un sitio liviano

Configuraciones específicas de Apache + MySQL para un sitio liviano

Tengo un pequeño sitio web con Joomla y Moodle configurados. Parece que ambos son muy lentos. El servidor (CentOS versión 5.5 (Final)) es un servidor virtual dedicado con aproximadamente 2 GB de RAM. No espero tener nunca más de 10 a 15 personas al mismo tiempo (y si eso es alto)

¿Qué configuraciones podría cambiar en Apache, MySQL o incluso en el sistema operativo para aumentar el rendimiento de mi sitio?

No me preocupa quedarme sin recursos si recibo demasiados visitantes.

Si necesitas datos más específicos deja un comentario y editaré la pregunta.

Velocidad de la base de datos:

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

Módulos cargados de 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 

$ gato /etc/mi.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

Estoy buscandoconfiguraciones específicascambiar eso aumentará la velocidad del servidor.

Respuesta1

A Mysql siempre le gusta la RAM. Convertir (al menos la mayoría) de las tablas (en joomla y moodle, no en los demás) al formato InnoDb y aumentar la memoria que utiliza también ayudará mucho con la velocidad. innodb_buffer_pool_size es la configuración de mysql. El tamaño predeterminado que se utiliza es solo 8 MB; si su base de datos es realmente tan pequeña (y, francamente, me sorprendería un poco ese poco si realmente se usara), entonces darle incluso 16 MB haría una diferencia, y Lo más probable es que le dé 512 MB para innodb_buffer_pool_size de todos modos. Con todo el contenido de la base de datos en la memoria, el disco casi queda fuera de la ecuación.

Instalaciónxdebugle permitirá descubrir qué partes del sitio son lentas, función por función, línea por línea. Webgrindanalizará la salida de Xdebug para mostrárselo.

Para saber más que eso, necesitará recopilar algunas estadísticas sobre lo que está haciendo el servidor, algo así como ejecutar recopilados y luego ver los gráficos que se están produciendo. Incluso con solo mirar el resultado de 'top', ejecutarlo en la línea de comando puede ayudar mucho a ver qué está pasando.

información relacionada