Asignarle más recursos a un servicio, cómo?

Iniciado por Pablo Videla, 1 Septiembre 2011, 15:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Pablo Videla

Estimados, esta es mi duda:

Tengo un servidor con redhat y lo administro via ssh, la cosa es la siguiente:

Quiero darle prioridad maxima a un servicio, ojalá que cuando se use el servicio que ocupe el 100 % de cpu  + toda la ram posible sin que deje la cagada obviamente, la cosa es que le aumente la prioridad a -15 lo maximo creo que es -19 o -20 no recuerdo, la cosa es que aun asi no me ocupa ni el 5 % de cpu cuando saco un fichero gigante en excel mediante sql, la cosa es que ocupe todos los recursos disponibles para cuando se use el mysql en una consulta de gran tamaño. La cosa es, como rayos hago eso, ya le di la prioridad alta al mysql y al httpd que puedo hacer para que me funcione bien .

aca un pantallazo:



PD: la aplicacion es en php.

Foxy Rider

Eso depende de cómo esté programada la aplicación y ahí no depende de que puedas hacer vos (bueno, si decidís hacerla multi-hilo o multi-proceso si depende), si no está pensada para multiples cores, entonces vá a reventar uno al 100% y el resto nada ...
Igualmente el comportamiento de una app como mysql o apache/php es tuneable, yo que vos pregunto en los correspondientes foros.

Pero cuando postees allá (Tanto en desarrollo web y/o Redes y Bases de datos) aclará que tipo de carga de trabajo(workload) tenés si querés empezar bien el hilo.

Saludos.

Pablo Videla

Comprendo, pero es normal que ocupe 1 % de cpu? aunque no sea multiple core, debería ocupar todo lo disponible en el procesador, no me imagino como optimizar la aplicación si el servidor no esta ejecutando a la velocidad que debería, no es posible realmente asignarle mas recurso a un servicio o simplemente la cosa esta programada ahí no mas?

No me imagino como optimizar la aplicación porque hace lo que tiene que hacer, obviamente todo es optimizable, pero veré el tema , muchas gracias por tu respuesta, quien tenga alguna otra idea que sea libre de responder.

Foxy Rider

#3
Si está usando 1% es por que no está haciendo nada que consuma cpu ... tan simple como eso.
Todo software que ejecutes no tiene límite de recursos, por lo que no le "asignás más recursos", podés darle prioridad (para que, entre uno u otro proceso consumiento CPU/IO, se le dé preferencia a uno, pero nada más, no va a hacer aparecer un consumo), pero esa es otra historia....

Saludos.

P.S: si se te demora en responder la app y ves bajo consumo, es por que hay algún cuello de botella (lo cual también, es otro tema), ya sea en el ancho de banda, en lo que programaste o no sé ... hay que ver qué quisiste hacer en ese caso y ver como son las transferencias.

Pablo Videla

Le di mas proridad al servicio e igual vi un cambio, onda ayer se demoro una hora, hoy se demoro 45 minutos en hacer exactamente lo mismo, vamos a ver que pasa en el futuro, lo malo es que no progame yo la aplicación por eso se hace complejo modificarla porque los procesos son complicados.

Gracias!.

Foxy Rider

http://foro.elhacker.net/gnulinux/herramientas_que_todo_sysadmin_deberia_conocer-t312460.0.html

Revisá esto, no sé como está hecha tu app, pero puede servirte para encontrar el problema.
Se me ocurren varias ideas, pero si no sé el hardware, cuanto usás, cuanto está libre y qué hace la app como para rastrear cuellos de botella.... es imposible ayudarte a desatascarlos u optimizar la app

Saludos.

Pablo Videla

Gracias veré la web.

Sobre los recursos:

CPU
Código (bash) [Seleccionar]

[root@datacomex proc]# cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 1
cpu MHz : 2395.642
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl cid xtpr
bogomips : 4793.27





Memoria

Código (bash) [Seleccionar]

[root@datacomex proc]# cat meminfo
MemTotal:      1263164 kB
MemFree:        150004 kB
Buffers:          5028 kB
Cached:        1028836 kB
SwapCached:          0 kB
Active:         107308 kB
Inactive:       985244 kB
HighTotal:      360192 kB
HighFree:        45184 kB
LowTotal:       902972 kB
LowFree:        104820 kB
SwapTotal:     1052248 kB
SwapFree:      1052088 kB
Dirty:               0 kB
Writeback:           0 kB
Mapped:          71456 kB
Slab:            10984 kB
Committed_AS:   221656 kB
PageTables:       1168 kB
VmallocTotal:   106488 kB
VmallocUsed:      2268 kB
VmallocChunk:   103860 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     4096 kB




Echare un ojo a la web, gracias!

el-brujo

Apache y MySQL son muy tuneables:

Instalar Apache + PHP + MySQL + Perl en Windows y Linux + Configuración Avanzada
http://foro.elhacker.net/tutoriales_documentacion/instalar_apache_php_mysql_perl_en_windows_y_linux_configuracion_avanzada-t251.0.html

Apache bien configurado rinde muy bien, usa APC para el PHP 5 y el MySQL 5.5x bien configurado y funciona bien rápido:


Herramientas para Optimizar MySQL
http://foro.elhacker.net/tutoriales_documentacion/herramientas_para_optimizar_mysql-t214396.0.html


Pablo Videla

Cita de: el-brujo en  1 Septiembre 2011, 17:01 PM
Apache y MySQL son muy tuneables:

Instalar Apache + PHP + MySQL + Perl en Windows y Linux + Configuración Avanzada
http://foro.elhacker.net/tutoriales_documentacion/instalar_apache_php_mysql_perl_en_windows_y_linux_configuracion_avanzada-t251.0.html

Apache bien configurado rinde muy bien, usa APC para el PHP 5 y el MySQL 5.5x bien configurado y funciona bien rápido:


Herramientas para Optimizar MySQL
http://foro.elhacker.net/tutoriales_documentacion/herramientas_para_optimizar_mysql-t214396.0.html



Gracias,  leere todo lo que me han mandado, se agradece, respecto a optimizar el mysql solo habia usado hasta ahora el mysqlcheck xD,

Código (bash) [Seleccionar]
mysqlcheck -ao --auto-repair -uUsuario -pClave --all-databases


Al parecer eso no es suficiente, voy hacer lo que me aconsejan, saludos.