Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    6

    Differenza velocità script PHP - ASP

    Ciao a tutti, ho un problema di cui si è ampliamente discusso in termini teorici e "politici" ma che nella pratica non riesco a dipanare.
    Allora ho 2 pagine (1 asp ed una php) che fanno in pratica la stessa cosa: lettura di un db Mysql limitato a due record e 3 campi per record, siamo su server Windows.
    In linea teorica php dovrebbe essere più rapido in quanto per l'ASP utilizzo i driver ODBC mentre quello che avviene è che la pagina php impiega diversi secondi a terminare l'elaborazione mentre la ASP è istantanea.
    Spero di aver sbagliato nel codice php ma credo possa dipendere qualche impostazione sul server. Vi allego il codice delle due pagine nella speranza che qualcuno mi dipani questa incongruenza in quanto non vorrei davvero dover rifare tutto il sito in asp perchè il php è più lento.
    Grazie a tutti:

    PAGINA PHP:
    <?
    define('maxris_ricerca', 2);


    $inizio = 0;
    $parametro = strtolower($_GET["term"]);
    if (!$parametro) return;
    $campi = "visto_c_no as id,titolo as label,visto_c_no as value";

    $strWhere = " (titolo like '%$parametro%') ";

    $plink=mysql_connect('localhost','videoelite','200 3vide') or die("Impossibile connettersi al database");
    mysql_select_db('videoelite') or die ("Impossibile selezionare il database");


    $strQuery = "select $campi from mvs where $strWhere LIMIT $inizio,".maxris_ricerca;
    $sql = mysql_query($strQuery) or die (mysql_error());

    while($dati = mysql_fetch_object($sql)){
    echo "id=".$dati->id."&value=".$dati->value."&label=".$dati->label."
    ";
    }
    mysql_close();


    ?>

    PAGINA ASP
    <% @language=VBScript %>
    <% Option Explicit %>
    <% 'On Error Resume Next %>
    <% Response.expires = -1500%>
    <% 'Response.Buffer = True %>
    <%

    Dim Conn
    Dim RS
    Dim strQuery
    Dim maxRisultati
    Dim inizio
    Dim parametro
    Dim campi
    Dim strWhere
    Dim i

    maxRisultati = 2
    inizio = 0
    parametro = request.QueryString("term")

    campi = "visto_c_no as id,titolo as label,visto_c_no as value"
    strWhere = " (titolo like '%" & parametro & "%') "


    Set Conn = Server.CreateObject("ADODB.Connection")
    'response.Write(server.MapPath("DbReadOpen.asp"))


    Conn.ConnectionString = _
    "DRIVER={MySQL ODBC 3.51 Driver};PORT=3306;db=videoelite" & _
    ";SERVER=localhost" & _
    ";UID=videoelite" & _
    ";PWD=2003vide"

    Conn.open

    set Rs = Server.CreateObject("ADODB.Recordset")

    strQuery = "select " & campi & " from mvs where " & strWhere & " LIMIT " & inizio & "," & maxrisultati

    'echo "id=".$dati->id."&value=".$dati->value."&label=".$dati->label."
    ";

    RS.Open strQuery,Conn,3,&H0002

    i = 0
    if not RS.EOF then
    Do while (NOT RS.EOF)
    response.Write("&id=" & RS("id") & "&value=" & RS("value") & "&label=" & RS("label"))
    i = i + 1
    RS.Movenext
    Loop
    end if
    rs.close
    set rs = nothing
    conn.close
    Set conn= nothing

    %>

    Saluti


    Fabio

  2. #2
    no, il php è considerevolmente più veloce di asp ... il problema in questo caso è un altro: php sarà configurato sul web server come CGI cosa che uccide le performance in quanto per ogni richieste deve essere avviato il processo dell'interprete ... poi magari il server è pure carico di lavoro con il risultato che le performance sono in ferie a vita ^^

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    6
    Grazie mille, risolto.
    Avevi ragione tu e l'impostazione era su CGI ed in effetti era tutto lento.
    Dovrò poi capire perchè la usano tutti come impostazione di default su windows visto che c'è questa enorme sproporzione di performance.
    Comunque ti ringrazio molto.
    Saluti

    Fabio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.