473,498 Members | 1,828 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

PHP Driven Site responding slow on different networks.

I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

thanks for any suggestions anyone might have (unless they are to switch
over to Apache. ;-)

If anyone wants to try... http://www.gamearchive.com

thanks... jess

Jul 17 '05 #1
9 3436
Hi J!

On Mon, 26 Jan 2004 18:23:33 -0700, j askey <_j****@askeydot.org>
wrote:
I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.


Often these issues are DNS or Reverse DNS issues, eg. the machine not
being able to look after one of these entries.

How you sort that out with these magic-now-everything-better-Win2003
machines - I don't know.

HTH, Jochen
--
Jochen Daum - CANS Ltd.
PHP DB Edit Toolkit -- PHP scripts for building
database editing interfaces.
http://sourceforge.net/projects/phpdbedittk/
Jul 17 '05 #2
I actually found this in a older other newsgroup posting... seems like I
need to wait for SP1...

------

This class of perf issues has been reported, we have investigated, and we
will have a fix in the next Windows Server 2003 Service Pack. The class of
perf issues is not limited to ASP -- can affect PHP, Perl, etc . It also
manifests itself differently between local access and remote access.

This is a simple illustration of the worst problem:

<%
Response.Buffer = true

Response.Write ( "Start: " & Now & "<br>" )

FOR i = 1 TO 100000
Response.Write( "A" )
Response.Flush()
NEXT

Response.Write ( "<br>stop: " & Now & "<br>" )
%>
What we have found was that there are several interacting issues -- some are
IIS perf issues, and some are user-code perf issues -- so even with our
fixes, a user's website may be slower.

Basically, if you want to improve performance, buffering has to happen in
some form -- either you do it, or the system does a guess for you. The
layers under IIS5 would buffer network traffic in some form regardless of
"response.buffer = false" -- but with IIS6, you can actually see the effects
of no buffering...

----------

end attachment

Jochen Daum wrote:
Hi J!

On Mon, 26 Jan 2004 18:23:33 -0700, j askey <_j****@askeydot.org>
wrote:

I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

Often these issues are DNS or Reverse DNS issues, eg. the machine not
being able to look after one of these entries.

How you sort that out with these magic-now-everything-better-Win2003
machines - I don't know.

HTH, Jochen


Jul 17 '05 #3
Given that the page header manages to get sent before the delay occur, I
would say there's something in the PHP code. The only thing that changes
when you use a different IP to access the site is SERVER_ADDR. Perhaps
you're passing that variable to the database open routine? If so, change
that to localhost.

Uzytkownik "j askey" <_j****@askeydot.org> napisal w wiadomosci
news:d4************@fe07.usenetserver.com...
I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

thanks for any suggestions anyone might have (unless they are to switch
over to Apache. ;-)

If anyone wants to try... http://www.gamearchive.com

thanks... jess

Jul 17 '05 #4
j askey wrote:
I actually found this in a older other newsgroup posting... seems like I
need to wait for SP1...

------

This class of perf issues has been reported, we have investigated, and we
will have a fix in the next Windows Server 2003 Service Pack. The class of
perf issues is not limited to ASP -- can affect PHP, Perl, etc . It also
manifests itself differently between local access and remote access.

This is a simple illustration of the worst problem:

<%
Response.Buffer = true

Response.Write ( "Start: " & Now & "<br>" )

FOR i = 1 TO 100000
Response.Write( "A" )
Response.Flush()
NEXT

Response.Write ( "<br>stop: " & Now & "<br>" )
%>
What we have found was that there are several interacting issues -- some
are
IIS perf issues, and some are user-code perf issues -- so even with our
fixes, a user's website may be slower.

Basically, if you want to improve performance, buffering has to happen in
some form -- either you do it, or the system does a guess for you. The
layers under IIS5 would buffer network traffic in some form regardless of
"response.buffer = false" -- but with IIS6, you can actually see the
effects
of no buffering...

----------

end attachment

Jochen Daum wrote:
Hi J!

On Mon, 26 Jan 2004 18:23:33 -0700, j askey <_j****@askeydot.org>
wrote:

I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the
server by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network,
so I replaced my Cisco with my spare and swapped out hubs for
switches etc internally with no change. If I use a different computer
on my LAN to go to http://10.0.0.X then I get the same slow response.
I have packet dumped my network (nothing strange) and even
disconnected all computers except for the IIS server and I still get
the same results. I really thought it was a network issue until I
replaced everything. If I telnet to one of the slow IP addresses, the
HTML just comes out slower. I still think this is a network issue but
I just wanted to post here in case there was something strange with
PHP under 2k3 that I was missing.


Often these issues are DNS or Reverse DNS issues, eg. the machine not
being able to look after one of these entries.

How you sort that out with these magic-now-everything-better-Win2003
machines - I don't know.

HTH, Jochen



Sounds like you'd be able to spell relief: "A-P-A-C-H-E"

;)

- Dan
http://www.dantripp.com/
Jul 17 '05 #5
heh heh... but I just came from A-P-A-C-H-E land. :-) I needed .net
support without having to stuble around in cassini's sort of strict
environment for now. But, you are right, if I don't get this working
better soon. Im heading back over the hill.

Dan Tripp wrote:
j askey wrote:
I actually found this in a older other newsgroup posting... seems like
I need to wait for SP1...

------

This class of perf issues has been reported, we have investigated, and we
will have a fix in the next Windows Server 2003 Service Pack. The
class of
perf issues is not limited to ASP -- can affect PHP, Perl, etc . It also
manifests itself differently between local access and remote access.

This is a simple illustration of the worst problem:

<%
Response.Buffer = true

Response.Write ( "Start: " & Now & "<br>" )

FOR i = 1 TO 100000
Response.Write( "A" )
Response.Flush()
NEXT

Response.Write ( "<br>stop: " & Now & "<br>" )
%>
What we have found was that there are several interacting issues --
some are
IIS perf issues, and some are user-code perf issues -- so even with our
fixes, a user's website may be slower.

Basically, if you want to improve performance, buffering has to happen in
some form -- either you do it, or the system does a guess for you. The
layers under IIS5 would buffer network traffic in some form regardless of
"response.buffer = false" -- but with IIS6, you can actually see the
effects
of no buffering...

----------

end attachment

Jochen Daum wrote:
Hi J!

On Mon, 26 Jan 2004 18:23:33 -0700, j askey <_j****@askeydot.org>
wrote:
I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the
server by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network,
so I replaced my Cisco with my spare and swapped out hubs for
switches etc internally with no change. If I use a different
computer on my LAN to go to http://10.0.0.X then I get the same slow
response. I have packet dumped my network (nothing strange) and even
disconnected all computers except for the IIS server and I still
get the same results. I really thought it was a network issue until
I replaced everything. If I telnet to one of the slow IP addresses,
the HTML just comes out slower. I still think this is a network
issue but I just wanted to post here in case there was something
strange with PHP under 2k3 that I was missing.


Often these issues are DNS or Reverse DNS issues, eg. the machine not
being able to look after one of these entries.

How you sort that out with these magic-now-everything-better-Win2003
machines - I don't know.

HTH, Jochen



Sounds like you'd be able to spell relief: "A-P-A-C-H-E"

;)

- Dan
http://www.dantripp.com/


Jul 17 '05 #6
Okay, I did have a reverse DNS resolution issue but that is fixed now
and it still loads slowly. Thanks for getting my butt in gear to fix
that tho. ;-)

Jochen Daum wrote:
Hi J!

On Mon, 26 Jan 2004 18:23:33 -0700, j askey <_j****@askeydot.org>
wrote:

I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

Often these issues are DNS or Reverse DNS issues, eg. the machine not
being able to look after one of these entries.

How you sort that out with these magic-now-everything-better-Win2003
machines - I don't know.

HTH, Jochen


Jul 17 '05 #7
Chung Leong wrote:
Given that the page header manages to get sent before the delay occur, I
would say there's something in the PHP code. The only thing that changes
when you use a different IP to access the site is SERVER_ADDR. Perhaps
you're passing that variable to the database open routine? If so, change
that to localhost.
I removed all my PHP code that refers to SERVER_ADDR or REMOTE_ADDR but
all still acts the same. It is strange as I can watch the packet log and
the delay is just on the web server machine, by something like 250ms
per packet or so. If you look at the text over telnet port 80, the text
actually comes through fairly consistent, just slow. Because of the way
I have my page designed with nested tables, the rendering is delayed
until the table structure is finished so it seems to take a long time
before the page actually draws completely.

I got some feedback from the guys in the microsoft.iis ng and from doing
a log of IIS threads using iisstart, they seem to think that it is not
IIS nor PHP but a network issue. The only thing I have not replaced yet
is the NIC, will do that tomorrow.

thanks for your insights.

Uzytkownik "j askey" <_j****@askeydot.org> napisal w wiadomosci
news:d4************@fe07.usenetserver.com...
I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

thanks for any suggestions anyone might have (unless they are to switch
over to Apache. ;-)

If anyone wants to try... http://www.gamearchive.com

thanks... jess



Jul 17 '05 #8
Okay, after some playing with the network I still had no speed
improvement. So I went back to the know problem with IIS that outputs
looped text extremely poorly. After looking at my php.ini file it seems
I had output_buffering = Off still. I set this to output_buffering =
1500 and the page loaded in .541 seconds over the previous 11.497
seconds. Huge improvement!!! It is funny tho since the note on
output_buffering states that using it may slow down output so use
carefully. Apparently IIS6.0 has some network output issues that will be
fixed in SP1 but this works now. Thank you everyone for your help.

I guess I needed to get into the MS mindset now that Im not using
apache... 'slow down the output to make the page load faster'. DOH...
it's so logical! ;-)
j askey wrote:
I have a strange bandwidth issue that I have finally tracked down to
something fairly specific if anyone has any ideas...

Setup: Win2003 Server, PHP 4.3.4, IIS6.0, ISAPI

Network: DSL line with a Cisco 678 router using NAT and static port
maps. Two switches between webserver and Cisco.

Problem: Accessing PHP driven site via any computer except the web
server is about 20 times slower. I can get fast response on the server
by browsing to it's local IP address (http://10.0.0.x) or
(http://localhost). However, if I use the external IP address
(65.100.86.X) from the IIS server, the site is slow again. I figured
that my Cisco had an issue or there was some problem in my network, so I
replaced my Cisco with my spare and swapped out hubs for switches etc
internally with no change. If I use a different computer on my LAN to go
to http://10.0.0.X then I get the same slow response. I have packet
dumped my network (nothing strange) and even disconnected all computers
except for the IIS server and I still get the same results. I really
thought it was a network issue until I replaced everything. If I telnet
to one of the slow IP addresses, the HTML just comes out slower. I still
think this is a network issue but I just wanted to post here in case
there was something strange with PHP under 2k3 that I was missing.

thanks for any suggestions anyone might have (unless they are to switch
over to Apache. ;-)

If anyone wants to try... http://www.gamearchive.com

thanks... jess


Jul 17 '05 #9
r
I was just experiencing this exact same problem. I had set up a new
server for a friend of mine that had a PHP application that I wrote. I
set it up on server 2003, and everything was working great for the
first week. Then this past Saturday night, I put the server into
production. Sunday, everything worked great. (There are about 40
computers that use this web server within the network) Then this
morning, everything started going extremely slow. Worked perfectly on
the local machine, but anywhere else it was slow as hell. I went as far
as replacing the NIC. Then I found this topic. the buffering option in
PHP completely fixed my problem, except that I didn't use a number, I
just turned it on. restarted IIS, and the pages that were taking
anywhere from 5-10 seconds, were taking only a split second to load.
Everything seemed normal.

I was about to switch everything over to apache, but I'm glad I was
able to figure this out. Thanks for this topic!

Jul 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
2982
by: indy | last post by:
Hi! I'm looking for a good php/mysql content management system (CMS). I've been searching the web for good one but get slightly confused beacause of the different definitions of CMS itself and...
2
3711
by: alanrn | last post by:
For all you seasoned VB programmers this is going to be a no brainer. However, as a C programmer learning VB I'm having trouble getting my arms around the event-driven nature of VB. Suppose I...
2
1287
by: HR | last post by:
I'm called upon to redo a website for a client that will have (when it's built the way they want) the ability to serve up information dynamically. I can build up the front end with the graphics...
0
2286
by: Tim Haughton | last post by:
I've just released an article on using Test Driven Development with C# and Windows Forms. GUI's are often difficult to test, so I thought it might be of interest. The article along with the...
2
1598
by: tormod | last post by:
I'm using Visual Studio 2005 professional edition and try to build a web site built in c#. The solution consists of about 20 class library projects and one web site. The web site references the...
1
2756
by: Red | last post by:
Hi, Can someone give me a starting point, as I can't figure this out myself. I want to create a breadcrumb trail on a site, but instead of being generated by cookies or a directory structure,...
1
2031
by: Knoxy | last post by:
Hi folks, Just a quick post to see if anyone had any thoughts on branding a website for completely different website designs. I have a site at the minute that gets installed with another...
1
1044
by: =?Utf-8?B?RXJpayBLLiBTY2hpbmRlbGRlY2tlcg==?= | last post by:
Good Morning, I am looking for a resource to transition some existing ASP.net 2.0 vb web pages to Xslt-driven pages. I have been unable to find a good resource. Any suggestions on a good...
25
2766
by: pereges | last post by:
Hello, I'm trying to build a database driven website for a library management system. The database is stored on a remote server which all of my team mates can access. I've installed MySQL, PHP and...
0
7005
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7168
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7210
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6891
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7381
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5465
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4916
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4595
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3096
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.