|
|
|
|
||||||
| comp.info.servers.win Web servers for MS Windows and NT. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
I'm having the same problem mentioned in another post in this group titled
Apache throughput on high latency links WAN Basically, downloading from an Apache webserver is about 4-5 slower than downloading from an IIS box sitting right next to it. Apparently the default TCP send buffer for Apache is 4096 bytes. I want to increase that value so I'm using the SendBufferSize directive. I've tried setting it to 65535, 32768, and 0 (which should use the system value). So far, no matter what I use for the SendBufferSize value, Apache seems to use a value od 4096 bytes anyway. I've run network traces to verify this behavior. Any ideas why this would be happening? Is there any known issues with SendBufferSize not working properly on Win2K? My config is: Apache 2.0.44 Windows 2000 Pro SP4 |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Chris McFarling wrote:
> Any ideas why this would be happening? Is there any known issues with > SendBufferSize not working properly on Win2K? Set your error log level which will write warnings as a minimum. Other words, be sure warnings are being printed to your error log. Set your buffer to a logical standard issue size, 4096 bytes. Test your server, look at your error log. Increase your buffer to a common multiple of 4096, maybe 32768 bytes. Test your server, look at your error log. If there is a problem with Apache, this "should" show up in your error log as a warning. Note that is "should" show up. You might try a deliberate misconfiguration which prints a warning to verify warnings are being printed via your Win32 configuration. Research documentation about warnings to find examples. If not, you may have issues with your Win32 sock. Your sock configuration might be buffering, then sending 4096 bytes. Below you will find the code for this, and how an error is handled. I would first test Apache to be sure byte size is being set. Then I would look at configuration for your sock to discover if there are issues. There are variety of settings you can change for Win32 sock applications. Remember, you have to restart Apache to effect httpd.conf changes. Purl Gurl This code "might" not be the same for your version, but this will give you an idea of what to look for in your error log; failed to set ... etc if (send_buffer_size) { stat = apr_socket_opt_set(s, APR_SO_SNDBUF, send_buffer_size); if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) { ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p, "make_sock: failed to set SendBufferSize for " "address %pI, using default", server->bind_addr); /* not a fatal error */ } if (send_buffer_size) { 108 stat = apr_socket_opt_set(s, APR_SO_SNDBUF, send_buffer_size); 109 if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) { 110 ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p, 111 "make_sock: failed to set SendBufferSize for " 112 "address %pI, using default", 113 server->bind_addr); 114 /* not a fatal error */ 115 } |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Chris McFarling wrote:
> Any ideas why this would be happening? Is there any known issues with > SendBufferSize not working properly on Win2K? Set your error log level which will write warnings as a minimum. Other words, be sure warnings are being printed to your error log. Set your buffer to a logical standard issue size, 4096 bytes. Test your server, look at your error log. Increase your buffer to a common multiple of 4096, maybe 32768 bytes. Test your server, look at your error log. If there is a problem with Apache, this "should" show up in your error log as a warning. Note that is "should" show up. You might try a deliberate misconfiguration which prints a warning to verify warnings are being printed via your Win32 configuration. Research documentation about warnings to find examples. If not, you may have issues with your Win32 sock. Your sock configuration might be buffering, then sending 4096 bytes. Below you will find the code for this, and how an error is handled. I would first test Apache to be sure byte size is being set. Then I would look at configuration for your sock to discover if there are issues. There are variety of settings you can change for Win32 sock applications. Remember, you have to restart Apache to effect httpd.conf changes. Purl Gurl This code "might" not be the same for your version, but this will give you an idea of what to look for in your error log; failed to set ... etc if (send_buffer_size) { stat = apr_socket_opt_set(s, APR_SO_SNDBUF, send_buffer_size); if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) { ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p, "make_sock: failed to set SendBufferSize for " "address %pI, using default", server->bind_addr); /* not a fatal error */ } if (send_buffer_size) { 108 stat = apr_socket_opt_set(s, APR_SO_SNDBUF, send_buffer_size); 109 if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) { 110 ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p, 111 "make_sock: failed to set SendBufferSize for " 112 "address %pI, using default", 113 server->bind_addr); 114 /* not a fatal error */ 115 } |
|
![]() |
| Outils de la discussion | |
|
|