buenas, tengo un problema con mi servidor. Estoy que estudio los diferentes tiempos de respuesta de un servidor apache cambiando el maxclient para esto uso :
1. Laptop windows 7 core i3 . Pero el servidor lo tengo instalado en un virtualizado, vmware de windows server 2003 con 1 core, 2gb de ram y 10 de disco duro. La instalacion del apache la hize manual. (wifi)
2. Una pc windows xp dual core 2 duo. En el tengo el JMeter con el que hago la carga de trabajo para analizar la data. ( cable utp)
3. EL medio es un router TP-Link de 300 mb ... aunque solo esta pra 150mb wifi y la tarjeta de red de la pc para 100mb.
Hize mi prueba usando una pagina sencilla y cambiando los maxclient por intervalos de tiempo pero no me salio mucha la diferencia. Asi que quize ponerle algo mas de peso a la pagina para ver si los resultados eran mas notorios y me di cuenta que aun asi no hay tanto cambio.
Se que windows usa el modulo mpm_winnt pero no logre hacer cambiar, probe con los demas mpm y sin ningun resultado. Aqui un cuadro de los resultados que me salieron.
MaxClient/ThreadsPerChild-----mpm_winnt_module - mpm_winnt.c---prefork---worker---beos
35---------------------------15-------------------12--------12-----12------15
175--------------------------12-------------------12--------12-----11------12
Creo que entre 35 y 175 de MaxClient o ThreadsPerChild hay mucha diferencia a parte que la pagina que estoy probando pesa alrededor de 4 megas ( fotos para hacerla pesada ).
Alguna idea de que problema puedo tener?. Estoy intentando hacer un controlador PID. Y para esto necesito muestras y sacar el modelo matematico, pero con los datos que me estan saliendo no me sale ningun modelo confiable ( incluso se va a negativo la confiabilidad).
Espero me puedan ayudar con la configuracion. Gracias.
Adjunto mi httdp.conf ( tuve que eliminar algunas cosas para que pueda entrar )
Código HTML:
Ver original#
PHPIniDir "C:/php"
#<IfModule mpm_winnt_module>
# ThreadsPerChild 175
# MaxRequestsPerChild 0
#</IfModule>
#<IfModule mpm_winnt.c>
# ThreadsPerChild 175
# MaxRequestsPerChild 0
#</IfModule>
#<IfModule mpm_prefork_module>
# StartServers 5
# MinSpareServers 5
# MaxSpareServers 10
# MaxClients 175
# MaxRequestsPerChild 0
#</IfModule>
#<IfModule mpm_worker_module>
# StartServers 2
# MaxClients 175
# MinSpareThreads 25
# MaxSpareThreads 75
# ThreadsPerChild 175
# MaxRequestsPerChild 0
#</IfModule>
#<IfModule mpm_beos_module>
# StartThreads 10
# MaxClients 175
# MaxRequestsPerThread 10000
#</IfModule>
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>
</IfModule>
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error.log"
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#LogFormat "%h %l %u %t \"%r\" %>s %b" common
#LogFormat "%D %h %t \"%r\" %>s" common
LogFormat "%h %t \"%r\" %b sec:%T usec:%D" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
CustomLog "logs/access.log" common
#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog "logs/access.log" combined
</IfModule>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://IngControl_Server/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin/"
</IfModule>
<IfModule cgid_module>
#
# ScriptSock: On threaded servers, designate the path to the UNIX
# socket used to communicate with the CGI daemon of mod_cgid.
#
#Scriptsock logs/cgisock
</IfModule>
#
# "C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>