Mostafa Salama S Ответов: 1

Php и Microsoft SQL server linux слишком медленные ?


Привет
у меня есть большая проблема с php и sql server в linux

я построил свое приложение на windwos, php и sql server 2014

это буксировка быстро и у меня нет никаких проблем на localhost

после загрузки на сервер я вижу слишком медленный отклик и теперь не понимаю почему

мой код соединения

$ServerN = 'tcp:localhost,1433';
$UserName = 'sa';
$Password = '1';
$DatabaseName = "BellaDataBase2020ELROWAN";
$baseurl = '/' . 'New';
sqlsrv_configure('ClientBufferMaxKBSize',1024*1024);

$connectionInfo = array("Database"=>$DatabaseName,"UID"=>$UserName,"PWD"=>$Password,'CharacterSet'=>'UTF-8',"ConnectionPooling" => "1","MultipleActiveResultSets"=>'0');
$conn = sqlsrv_connect($ServerN, $connectionInfo);


мой php код для получения таблицы в json

    $sql102 = "
SET NOCOUNT ON
SET ARITHABORT OFF;
SET ARITHIGNORE ON;
SET ANSI_WARNINGS OFF;    
SELECT [ID],[ITemCode],[Item_Name] FROM Item WHERE [AccountType] = '3' AND [Item_Status] = 'True' ORDER BY [ITemCode] ASC";
    $ClientsASCA = sqlsrv_query($conn99,$sql102,array(),array("Scrollable"=>SQLSRV_CURSOR_CLIENT_BUFFERED,"QueryTimeout"=>0)) or die(print_r(sqlsrv_errors(),true));
    if (sqlsrv_has_rows($ClientsASCA)) {
    while ($fetchItemSST = sqlsrv_fetch_array($ClientsASCA,SQLSRV_FETCH_ASSOC)){
    $resultItemSST[] = $fetchItemSST;
    }
    echo json_encode($resultItemSST);
    }
    sqlsrv_free_stmt($ClientsASCA);
    sqlsrv_close($conn99);


мой ajax-код

    $.ajax({
        url: 'Static/CheckValue.php?Type=GetItemValue',
        type: "GET",
        dataType: "json",
        async: true,
        cache: true,
        processData: false,
        contentType: "application/json; charset=utf-8",
        error: function (data) {console.log(data);},
        complete: function(){$("#ItemNameValue1").append(ItemNameValueA);},
        success: function(data) {
        if(data.ID != ''){
            for (var i = 0; i " + Item_Name + "";
            }
            }else{
            $.each(data.err, function(k, v){
                console.log(data);
                bootbox.alert({message: "" + v + "",className: 'rubberBand animated',size: 'large'});
          });
        }
    }
});


Что я уже пробовал:

я не знаю, в чем проблема, я стараюсь много устанавливать
я не знаю этой проблемы ни в php коде ни на sql сервере ни на этом сервере
помните на локальном хосте стоит поститься

CHill60

Попробуйте запустить sql-запрос на сервере с помощью SQL Server Management Studio (его можно скачать бесплатно). Проверьте сроки и план выполнения. Если это быстро, то это ваш PHP. Если SQL работает медленно то по крайней мере вы знаете где искать

Mostafa Salama S

остро я вижу медленное время на управлении SQL Server на сервере но на локальном оно идет быстро
но я думаю, что это из SQLServer linux, это правда ?

1 Ответов

Рейтинг:
11

ZurdoDev

Мы ничего не можем сделать, кроме как предложить некоторые вещи, которые нужно искать. Мы не можем запустить ваш код, поэтому мы не можем отследить, почему он медленный. Как предложил Chill60, запустите sql непосредственно в SSMS и посмотрите, как он работает. Поместите точки останова и протоколирование в свой код и сузьте круг причин возникновения проблемы. Возможно, Вам понадобится больше оперативной памяти или лучший процессор или индексы в SQL. Вам придется его устранить.