El 20/09/2013 15:19, "fernando sainz" <[email protected]> escribió: > > El día 20 de septiembre de 2013 14:57, fernando sainz > <[email protected]> escribió: > > El día 20 de septiembre de 2013 14:06, Maykel Franco > > <[email protected]> escribió: > >> Hola muy buenas, siempre que he necesitado dar prioridad a un > >> determinado proceso en ejecución siempre he usado nice pero,y ahí va > >> la pregunta, se podría hacer algo para por ejemplo si tienes un mysql > >> con 8 procesadores, use los 8 procesadores para agilizar cada > >> petición? O eso se administra por una capa inferior a nivel de > >> kernel?? > >> > >> Me refiero a sí se hace una query tocha, que use los 8 procesadores a full... > >> > >> He estado buscando info pero solo encuentro nice...En ésa máquina sólo > >> está corriendo un mysql y un ssh, aparte de rsyslog, y los paquetes > >> base de debian en la instalación. > >> > >> > >> > >> Saludos y gracias. > >> > >> > > > > Tradicionalmente los programas eran un solo proceso y cada proceso > > corre en un procesador. El kernel divide el tiempo de procesador > > entre todos los procesos (Ahí es donde el nice tiene algo que decir). > > Los procesos son secuenciales por lo que si el kernel lo para en un > > momento, cuando vuelve continua a partir de ahí. > > > > Múltiples procesadores tienen sentido cuando hay muchos procesos > > corriendo. Si tienes muchos procesadores el kernel no interrumpirá los > > procesos tan a menudo. > > > > Ahora los procesos pueden tener múltiples "threas" (hilos) que pueden > > ejecutarse cada uno en un procesador distinto (pero eso se realiza a > > nivel de programación, con lo que o el programa está escrito con > > threads o no). > > > > S2. > > Otra cosa. > Primero perdona porque el puñetero webmal de gmail hace que a veces se > me olvide borrar a la persona que escribió y te habrá llegado > duplicado. > > Solo comentar que hoy por hoy los cuellos de botella no suelen estar > en la velocidad de proceso, sino en los accesos a disco. > Así que si quieres hacer alguna optimización investiga más en ese sentido. > > Si tienes varias BD el rendimiento mejoraría si estuvieran en discos distintos. > Una vez hice una pequeña prueba, un script que copia 4 ficheros > grandes, uno secuencial, otro paralelo y gana el secuencial :-) > > Secuencial script1.sh > #! /bin/bash > cp ./file1.jpg file1.bak > cp. /file2.jpg file2.bak > cp ./file3.jpg file3.bak > cp ./file4.jpg file4.bak > > y > > Paralelo scritp2.sh > #! /bin/bash > cp ./file1.jpg file1.bak & > cp. /file2.jpg file2.bak & > cp ./file3.jpg file3.bak & > cp ./file4.jpg file4.bak & > > lo ejecutas con: > $ time scritp1.sh > $ time script2.sh > > y verás. > > S2. > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact [email protected] > Archive: http://lists.debian.org/[email protected] >
Gracias Fernando. Varias cosas, efectivamente el cuello de botella esta en los discos y como has comentado es mejor separar la bd, asi lo tengo con openvz, el container es independiente y escriben en /var/lib/mysql que es un raid1 con otros 2 discos que comparte o mapea openvz al arranque del mismo. Ya en su dia mejore el numero de threads en mysql pero queria saber si habia alguna forma de optimizarlo mas aun y solo se me ocurre meter bd en ssd raid1 xD. Aun asi me tunee un poquito el my.cnf. Muchas gracias por todo, me ha ayudado a comprender mejor lo de la gestion del procesador respecto a los procesos. Saludos.

