Очень медленный доступ через интернет

sir_genry
Дата: 08.01.2015 22:16:54
Здравствуйте!
PHP-скрипт коннектится к БД через интернет. Запросы выполняются очень медленно. Локально же все работает быстро. То есть сам запрос оптимален. Очевидно, что все тормоза из-за сетевых задержек. Ping выдает:
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=53 time=101 ms
То есть самый простой запрос выполняется 0,5-1.0 секунд.
Есть какие-нибудь мысли как решить проблему?
Заранее спасибо
sir_genry
Дата: 09.01.2015 11:36:05
Если вдруг кому-то пригодится, то для себя я нашел следующее решение:
1. Время на соединение с удаленной БД при пинге 103ms:
Try connect with public database... Connected. Elapsed 0.6279s

2. Select ... LIMIT 1000;
Elapsed 0.5091s

3. Update for 1000 records:
foreach($select->result() as $row) {
    pg_query($conn, 'UPDATE...');
}

Elapsed 102.0623s

4. Update for 1000 records:
$sql = ''
foreach($select->result() as $row) {
    $sql .= 'UPDATE...';
}
pg_query($conn, $sql);

Elapsed 2.9046

Для моей нагрузки это уже приемлемо
NikolayV81
Дата: 09.01.2015 11:56:32
sir_genry
Здравствуйте!
PHP-скрипт коннектится к БД через интернет. Запросы выполняются очень медленно. Локально же все работает быстро. То есть сам запрос оптимален. Очевидно, что все тормоза из-за сетевых задержек. Ping выдает:
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=53 time=101 ms
То есть самый простой запрос выполняется 0,5-1.0 секунд.
Есть какие-нибудь мысли как решить проблему?
Заранее спасибо


Если у вас выборка из той же бд, то используйте анонимные блоки
http://www.postgresql.org/docs/9.0/static/sql-do.html
sir_genry
Дата: 09.01.2015 12:38:05
NikolayV81
sir_genry
Здравствуйте!
PHP-скрипт коннектится к БД через интернет. Запросы выполняются очень медленно. Локально же все работает быстро. То есть сам запрос оптимален. Очевидно, что все тормоза из-за сетевых задержек. Ping выдает:
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=53 time=101 ms
То есть самый простой запрос выполняется 0,5-1.0 секунд.
Есть какие-нибудь мысли как решить проблему?
Заранее спасибо


Если у вас выборка из той же бд, то используйте анонимные блоки
http://www.postgresql.org/docs/9.0/static/sql-do.html


Не мой случай, но за наводку спасибо