Jump to content
php.lv forumi

Par serveri - kāpēc serveris mēdz nedot laukā bildes?


aldis

Recommended Posts

Nu man pēdējā laikā uzmetusies serverim slimība, kas dienas laikā mēdz parādīties 3-5 reizes, un katra no tām uz kādām 10 minūtēm! Pārlūkojot lapu - redzu ka viņa ielādējas, un tā griežas riņķītis mozillā kādas 5min, un ielādēts ir tikai <title>, kas arī parādās, un balta lapa! Paskatoties (View Source) redzams ka lapas kodu serveris ir izdevis laukā, tā tad, pašas bildes nenāk laukā! Tā varētu būt servera konfigurācijas kļūda?

 

Vēl pie reizes tajā pašā laikā Internet Explorer lapu ielādē, un tas nav konstatēts tikai man - vairāki lietotāji par to ir sūdzējušies!

 

Sākumā likās ka Javaskripts kāds vainīgs, kas kautko iedarbina, un mozilla tādā gadījumā neņem pretī bildes! "Pašam likās stulbs variants, un pēc tam papētīju ka tas tomēr nav īstais iemesls"

 

Vai kādam ir tā gadījies, vai to arī kāds zin izskaidrot?

Link to comment
Share on other sites

Vai pie Apache logiem tiec klāt?

Ja tiec, tad papēti, kuros brīžos logos parādās pieprasījumi, kas apstrādāti ilgāk par, nu teiksim, 30 sekundēm. Vēl izpēti kādu MPM apache lieto un kādi tam ir parametri:

Apmēram šādi izskatās tā configa daļa, kas attiecas uz MPM:

##
## Server-Pool Size Regulation (MPM specific)
##

# worker MPM
# ThreadLimit: maximum setting of ThreadsPerChild
# ServerLimit: maximum setting of StartServers
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
ThreadLimit		 25
ServerLimit		 64
StartServers		 2
MaxClients		 600
MinSpareThreads	 25
MaxSpareThreads	 75
ThreadsPerChild	 25
MaxRequestsPerChild  0
</IfModule>

Protams, ja izmanto citu MPM, tad konfigurācijā būs citi parametri.

Link to comment
Share on other sites

Ar PHP var ārstēt tā:

 

<img src="img/logo.jpg" ... >

vietā ieliec

<img src="img/logo.php" ... >

 

 

img/logo.php :

 

<?php

header("Content-type: image/jpeg");

$bilde = file_get_contents("img/logo.jpg");

echo $bilde;

?>

 

Universālāk -

logo.php var aizvietot ar image.php?img=logo

vai bilde.jpg ar htaccess aizklāt ar image.php?img=bilde.jpg

Link to comment
Share on other sites

Var būt, ka var kalpot pagaidu risinājums, taču laist visu caur PHP palielina resursu noslodzi.

 

[edit] Taču stingri šaubos, ka šāda pieeja kaut ko atrisinās šajā gadījumā. Visdrīzāk tiek izsaukts viens vai vairāki ilgi izpildošies skripti vienā lapā un pārlūks iztērē visas viņa konfigurācijā atvēlētās konekcijas. Vai arī uz servera tiek sasniegts workeru limits.

Link to comment
Share on other sites

ja tu paņem firefoxā view source, tad viņš iedos versiju no servera, nevis ielādēto. Tāpēc jāņem ctrl+a un view selection source. Es tikai minu, jo teici, ka redzi baltu lapu.

Vispār pēc šīem mainīgiem grūti kaut ko konstatēt. Ne OS, ne servera versija.

Un kas tas par mistisko piegājienu image.php?img=logo , nesaprotu ko jūs ar to gribat dabūt. Apacim (vai kas tev tur) pats to dara - aizsūta headerus un failu.

Link to comment
Share on other sites

×
×
  • Create New...