我在serverfault上发现了这个类似的问题 ,但是那里的答案不包括我的情况(我可以告诉)。
在一些[显然]随机的基础上,Firefox(只有浏览器我试过)将尝试下载一个PHP页面,而不是“加载”它。
通常,closures下载/打开对话框并重新点击链接将使其正常工作。 有时候,我需要反弹阿帕奇。
这不仅对我自己,而且对使用我的服务器的其他人也很恼人。 任何想法是什么可能造成这个?
top输出: ( mysqld在这台服务器上运行的任何地方都在1%到190%之间,但是我没有注意到其峰值和Apache之间的相关性,是否提供了一个“开放”的PHP页面,并且就像它应该运行一样。
top - 15:37:38 up 44 days, 10:17, 1 user, load average: 0.11, 0.37, 0.43 Tasks: 39 total, 2 running, 37 sleeping, 0 stopped, 0 zombie Cpu0 : 94.6% us, 5.4% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si Cpu1 : 94.9% us, 5.1% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 1474560k total, 1464856k used, 9704k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3698 mysql 15 0 124m 28m 4348 S 187.0 1.9 5:26.25 mysqld 11286 root 15 0 3552 880 656 S 1.6 0.1 83:31.36 dovecot 1 root 15 0 1652 608 520 S 0.0 0.0 3:19.89 init 3622 root 15 0 21220 8992 5524 S 0.0 0.6 0:00.17 httpd 3651 root 19 0 2124 1040 888 S 0.0 0.1 0:00.00 mysqld_safe 3709 apache 15 0 41464 27m 4104 S 0.0 1.9 0:03.21 httpd 3728 apache 16 0 44008 29m 4276 S 0.0 2.1 0:07.59 httpd 3853 apache 16 0 44568 30m 4244 S 0.0 2.1 0:08.38 httpd 3869 apache 15 0 35084 20m 3040 S 0.0 1.4 0:01.82 httpd 9580 root 23 0 1548 576 492 S 0.0 0.0 0:00.00 udevd 9811 apache 15 0 32736 17m 2808 S 0.0 1.2 0:00.22 httpd 10042 root 15 0 1552 528 440 S 0.0 0.0 0:28.87 syslogd 10047 root 22 0 1492 372 308 S 0.0 0.0 0:00.00 klogd 10065 named 18 0 47508 2876 1920 S 0.0 0.2 0:37.05 named 10123 root 15 0 4068 1144 840 S 0.0 0.1 0:08.00 sshd 10137 root 18 0 2112 756 632 S 0.0 0.1 0:00.00 xinetd 11350 root 15 0 2632 1052 532 S 0.0 0.1 0:20.59 crond 11362 root 15 0 6404 2140 1072 S 0.0 0.1 3:11.85 dovecot-auth 11383 xfs 18 0 3172 1476 768 S 0.0 0.1 0:01.21 xfs 11401 root 16 0 1720 452 344 S 0.0 0.0 0:03.66 atd 11411 root 18 0 4092 804 576 S 0.0 0.1 0:00.00 saslauthd 11412 root 18 0 4092 468 240 S 0.0 0.0 0:00.00 saslauthd 11435 root 18 0 7344 5388 1628 S 0.0 0.4 1:41.01 miniserv.pl 11935 root 15 0 6944 2240 1804 S 0.0 0.2 0:00.01 sshd 11938 datente 15 0 7092 1520 1068 R 0.0 0.1 0:00.00 sshd 11939 datente 15 0 2176 1312 1052 S 0.0 0.1 0:00.00 bash 12005 datente 15 0 1912 992 788 R 0.0 0.1 0:00.00 top 12161 root 15 0 11164 480 336 S 0.0 0.0 0:00.00 vzctl 12162 root 17 0 2184 1292 1068 S 0.0 0.1 0:00.01 bash 13574 root 15 0 7380 2016 992 S 0.0 0.1 0:01.88 sendmail 13583 smmsp 18 0 6528 1640 828 S 0.0 0.1 0:00.00 sendmail 20230 datente 18 0 2748 1224 712 S 0.0 0.1 0:00.07 screen 20231 datente 15 0 2316 1344 1060 S 0.0 0.1 0:00.00 bash 20264 datente 26 10 1132m 2884 844 S 0.0 0.2 13:50.31 fah6 23843 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:06.58 imap-login 23845 dovecot 15 0 3552 1528 1268 S 0.0 0.1 4:07.76 imap-login 23847 dovecot 15 0 3556 1536 1272 S 0.0 0.1 4:09.06 imap-login 23899 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:07.39 imap-login 23963 dovecot 15 0 3556 1532 1268 S 0.0 0.1 4:06.99 imap-login
如果在Apache中正确configuration了PHP并且客户端运行正常,那么PHP脚本可能不会为内容输出指定适当的MIMEtypes。 Content-type通常需要打印给浏览器才能理解如何处理数据。
Firefox试图下载的文件的内容是什么?
您可以尝试使用Apache Jarkarta Jmeter http://jakarta.apache.org/jmeter/index.html加载您的服务器(如果它没有生产或者有testing拷贝的话)
如果你从来没有使用它,需要花费大约半个小时的时间,但是使用起来相当简单。 您可以创build数百个请求,并从服务器中查看返回的信息,甚至可以根据需要呈现页面。 这可能使您能够确定相关性,无论是加载,随机还是不正确的标题/ MIME问题。
这是一个非常棒的工具,可用于低负载时间诊断。
你是预压缩你的页面,然后允许mod_deflate重新压缩? 您遇到的问题是,Firefox尚未收到来自服务器的Content-length:bytes,因此将其视为部分下载。 使用live-http-headers,你会发现它确实具有text / html作为内容types,并且保存文件确实具有适当的呈现内容less于几个字节。 如果内容只是正确的字节数,分块编码也会导致问题。
当Firefox遇到短暂的下载,或者通过超时或连接closures的问题(通过sigkill等),就会发生这个问题。
华纳的新手假设,内容types设置不正确,只是表明他没有处理大量的networkingstream量。 我在2.2.14 / 2.2.15更频繁地注意到这个行为,我们把一些补丁移植到了2.2.12