|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
[PHP] Carico eccessivo su Apache...
Tramite una pagina PHP faccio un "SELECT" da un "Database Access" con i driver "ODBC di Sistema" su una Macchina Win chiaramente,
succede che se lo faccio in locale estrae tutti i risultati, se mi connetto da remoto mi estrae solamente i risultati non troppo grandi, per risultati che comportano l'estrazione di grosse quantita' di dati, il browser mi fa dei REFRESH non indotti da me e per finire non mi visualizza nulla perche' con quei refresh mi fa perdere gli Identificativi e chiavi che uso per le query ... !!! pensavo alla mole di dati esegerata da inviare a carico di Apache...!!! non ci sono dei settaggi di Apache per potere inviare PACCHETTI piu' grandi via http in modo che non si sovraccarichi ??? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Nulla ???
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Perchè non prevedi n istanze di Apache su cui suddividere in maniera Random le richieste?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma quanto sono grosse queste query ?
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Cacchio che risposta ampia !!!
non so come si fa !!! |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Quote:
2000/3000 record da 8 colonne suddivisi in 50 risultati per pagina...(paging) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Allora non sono tanti...il numero di record che il server DBMS ti da in ouput li limiti con una query SQL o tramite codice ?
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
con il LIMIT $a,$b sulla query
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Allora credo che sia difficile che il problema dipenda da quello...
Non è che i dati che visualizzi contengono codice HTML o JavaScript ? |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
mi idmenticavo
ci sono 2 query, 1 per l'estrazione degli articoli 1 per il conteggio del totale degli articoli mysql_num_rows() e nella seconda non c'e' il LIMIT $a,$b |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Quote:
no !! solo varchar(30) , date, e basta nei varchar ci sono solo stringhe semplici a-z 0-9 tieni conto che si parla di Access + ODBC Driver non so se significa qualcosa.... |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Select Sum(*) As SommaArticoli From Tabella; Prova un po' così...magari si risolve |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
no !!!
guarda il primo post-...... |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Alora come fai ad usare LIMIT (che è una prerogativa di MySQL) ?
Comunque prova a farti ritornare il conteggio dei record direttamente dalla select... |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Codice:
<?
//QUERY
$Rec_Pagina=50;
if(!isset($Start))$Start=0;
$Num_Prodotti=odbc_result(odbc_exec($oConn,"SELECT count(*) AS Num_Prodotti FROM $Codice_Cliente WHERE Esito='OK'"),"Num_Prodotti");
$Numero_Pagine=ceil($Num_Prodotti/$Rec_Pagina);
$Pagina_Corrente=ceil(($Start/$Rec_Pagina)+1);
$sSQL="SELECT TOP ".$Rec_Pagina*$Pagina_Corrente." Ora_Start_Out,Ora_End_Out,CLI,Chiamato,DateDiff('s',Ora_Start_Out,Ora_End_Out) AS Risultato FROM $Codice_Cliente WHERE Esito='OK' ORDER BY Ora_Start_Out DESC";
$sS="SELECT Ora_Start_Out,Ora_End_Out,CLI,Chiamato,DateDiff('s',Ora_Start_Out,Ora_End_Out) AS Risultato FROM $Codice_Cliente WHERE Esito='OK' ORDER BY Ora_Start_Out DESC";
?>
<?
//PAGING
if($Numero_Pagine>1){
for($Pagina=1;$Pagina<=$Numero_Pagine;$Pagina++){
?>[ <a href="?Start=<? echo(($Pagina-1)*$Rec_Pagina); ?>&Controllo=Query&Codice_Cliente=<? echo$Codice_Cliente; ?>"><?
if($Pagina==$Pagina_Corrente){ ?><font color="#ff9900"><strong><? echo$Pagina; ?></strong></font><? }else{ ?><font color="#ffffff"><strong><? echo$Pagina; ?></strong></font><? } ?></a> ]<? }}
?>
prendi i dati e le variabili per buone e non sbagliate, altrimenti per spiegarti il tipo di progetto mi ci vogliono 2 giorni !!! |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ad occhio vanno bene le query... Il problema è che non puoi limitare il risultato solamente alla pagina che ti interessa con Access... Strano...non so che dirti... Prova a proporre il problema su una mailing list di PHP... Magari ripulisci il codice dalla roba che non utile e gli mandi il DB di prova compattato...
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
OK ti ringrazio per avermi seguito fin ora, se magari ti venisse in mente qualcosa riesuma la discussione, grazie ancora ciao!!!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:24.



















