LINUX.ORG.RU

Долгий ответ curl запроса

 


0

1

Есть два сервера, боевой и точная копия боевого. При запросе curl -X GET
-H «Accept: application/json»
-H «Authorization: Token #################»
https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=46.226.227.20

с боевого сервера ответ занимает 5,5 секунд, при аналогичном запросе с тестового, около 0,02. Не могу понять, в какую сторону начать копать.

ps не важно куда обращаться через curl, везде ситуация аналогичная.

ps версии По одинаковые, ип разные

ps не важно на какой сайт делать запросы, ситуация аналогичная



Последнее исправление: Valva (всего исправлений: 3)

Если серверы находятся на разных внешних публичных IP адресах, то возможно, ты уже достал этот сайт своими запросами и тебе увеличили время ответа. Если с одного внешнего адреса, то возможно фильтруют ещё по UserAgent.

kostik87 ★★★★★
()
Ответ на: комментарий от Valva

Вот смотри, тебе я дал несколько предположений. Какие ты выводы сделал? Какие вопросы смог увидеть?

Как минимум, мог бы дать пояснение, серверы выходят с одного публичного ip адреса или с разных, версии по одинаковые или разные?

Указать что до гугл запрос тоже идёт долго мог бы сразу в стартовом сообщении.

Проверяй тресерт с одного сервера и второго и смотри как быстро работает разрешение доменных имён.

kostik87 ★★★★★
()
Ответ на: комментарий от aol

Делаю такой запрос с боевого сервера curl -X GET
-H «Accept: application/json»
-H «Authorization: Token #############»
https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=46.226.227.20

ответ занимает 5,5 секнуд

делаю аналогичный запрос с тествого сервера (полной копии боевого), ответ занимает 0,02 секунда

делаю такой запрос с боевого curl -X GET
-H «Accept: application/json»
https://www.google.ru/

ответ занимает 5,5 секнуд

делаю аналогичный запрос с тествого сервера (полной копии боевого), ответ занимает 0,02 секунда

Valva
() автор топика
Ответ на: комментарий от Valva

Ты конечно извини, но либо у меня, либо у тебя проблема с логикой.

Я тебе прямым текстом написал вопросы, на которые тебе стоит дать пояснения, но так ответов и не увидел.

Очень странно.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87
  • About to connect() to suggestions.dadata.ru port 443 (#0)
  • Trying 185.129.103.75…
  • Connected to suggestions.dadata.ru (185.129.103.75) port 443 (#0)
  • Initializing NSS with certpath: sql:/etc/pki/nssdb
  • CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
  • SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • Server certificate:
  •   subject: CN=*.dadata.ru
    
  •   start date: Jul 29 06:56:02 2022 GMT
    
  •   expire date: Aug 30 06:56:01 2023 GMT
    
  •   common name: *.dadata.ru
    
  •   issuer: CN=GlobalSign GCC R3 DV TLS CA 2020,O=GlobalSign nv-sa,C=BE
    

GET /suggestions/api/4_1/rs/iplocate/address?ip=46.226.227.20 HTTP/1.1 User-Agent: curl/7.29.0 Host: suggestions.dadata.ru Accept: application/json Authorization: Token #######################

< HTTP/1.1 200 OK < Server: ddos-guard < Connection: keep-alive < Keep-Alive: timeout=60 < Set-Cookie: _ddg1=L46uS7U4TYEK3yS8xEft; Domain=.dadata.ru; HttpOnly; Path=/; Expires=Sat, 09-Sep-2023 07:45:30 GMT < Date: Fri, 09 Sep 2022 07:45:30 GMT < Content-Type: application/json; charset=UTF-8 < Vary: Accept-Encoding < X-Plan: MEDIUM < Transfer-Encoding: chunked

такой ответ получил с параметром verbose

Valva
() автор топика
Ответ на: комментарий от cobold

14:18:43.764965 == Info: About to connect() to suggestions.dadata.ru port 443 (#0) 14:18:43.765049 == Info: Trying 185.129.103.75… 14:18:43.766831 == Info: Connected to suggestions.dadata.ru (185.129.103.75) port 443 (#0) 14:18:43.766858 == Info: Initializing NSS with certpath: sql:/etc/pki/nssdb 14:18:43.821308 == Info: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none 14:18:43.830736 == Info: SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 14:18:43.830747 == Info: Server certificate: 14:18:43.830755 == Info: subject: CN=*.dadata.ru 14:18:43.830764 == Info: start date: Jul 29 06:56:02 2022 GMT 14:18:43.830767 == Info: expire date: Aug 30 06:56:01 2023 GMT 14:18:43.830769 == Info: common name: *.dadata.ru 14:18:43.830771 == Info: issuer: CN=GlobalSign GCC R3 DV TLS CA 2020,O=GlobalSign nv-sa,C=BE 14:18:43.830800 => Send header, 217 bytes (0xd9) 0000: GET /suggestions/api/4_1/rs/iplocate/address?ip=46.226.227.20 HT 0040: TP/1.1 0048: User-Agent: curl/7.29.0 0061: Host: suggestions.dadata.ru 007e: Accept: application/json 0098: Authorization: Token ###################### 00d7: 14:18:43.846798 <= Recv header, 17 bytes (0x11) 0000: HTTP/1.1 200 OK 14:18:43.846817 <= Recv header, 20 bytes (0x14) 0000: Server: ddos-guard 14:18:43.846823 <= Recv header, 24 bytes (0x18) 0000: Connection: keep-alive 14:18:43.846828 <= Recv header, 24 bytes (0x18) 0000: Keep-Alive: timeout=60 14:18:43.846832 <= Recv header, 118 bytes (0x76) 0000: Set-Cookie: ddg1=Cf2LTcLVmsvwcc8tSgj3; Domain=.dadata.ru; Htt 0040: pOnly; Path=/; Expires=Sat, 09-Sep-2023 11:18:43 GMT 14:18:43.846840 <= Recv header, 37 bytes (0x25) 0000: Date: Fri, 09 Sep 2022 11:18:43 GMT 14:18:43.846845 <= Recv header, 47 bytes (0x2f) 0000: Content-Type: application/json; charset=UTF-8 14:18:43.846850 <= Recv header, 23 bytes (0x17) 0000: Vary: Accept-Encoding 14:18:43.846854 <= Recv header, 16 bytes (0x10) 0000: X-Plan: MEDIUM 14:18:43.846859 <= Recv header, 28 bytes (0x1c) 0000: Transfer-Encoding: chunked 14:18:43.846864 <= Recv header, 2 bytes (0x2) 0000: 14:18:43.846867 <= Recv data, 2288 bytes (0x8f0) 0000: 8E4 0005: {«location»:{«value»:«.. ………………»,«unrestricted_value 0045: «:«350000, …………………….. …….., .. …………. 0085: …..»,«data»:{«postal_code»:«350000»,«country»:»…………»," 00c5: country_iso_code":«RU»,«federal_district»:«……….»,«region_f 0105: ias_id»:«d00e1013-16bd-4c09-b3d5-3cb09fc54bd8»,«region_kladr_id» 0145: :«2300000000000»,«region_iso_code»:«RU-KDA»,«region_with_type»:" 0185: …………………….. ……..«,«region_type»:»……..«,«r 01c5: egion_type_full»:»……..«,«region»:»…………………….. 0205: «,«area_fias_id»:null,«area_kladr_id»:null,«area_with_type»:null 0245: ,«area_type»:null,«area_type_full»:null,«area»:null,«city_fias_i 0285: d»:«7dfa745e-aa19-4688-b121-b655c11e482f»,«city_kladr_id»:«23000 02c5: 00100000»,«city_with_type»:».. ………………«,«city_type»:» 0305: ..«,«city_type_full»:»……….«,«city»:»………………«,«c 0345: ity_area»:null,«city_district_fias_id»:null,«city_district_kladr 0385: _id»:null,«city_district_with_type»:null,«city_district_type»:nu 03c5: ll,«city_district_type_full»:null,«city_district»:null,«settleme 0405: nt_fias_id»:null,«settlement_kladr_id»:null,«settlement_with_typ 0445: e»:null,«settlement_type»:null,«settlement_type_full»:null,«sett 0485: lement»:null,«street_fias_id»:null,«street_kladr_id»:null,«stree 04c5: t_with_type»:null,«street_type»:null,«street_type_full»:null,«st 0505: reet»:null,«stead_fias_id»:null,«stead_cadnum»:null,«stead_type» 0545: :null,«stead_type_full»:null,«stead»:null,«house_fias_id»:null,» 0585: house_kladr_id":null,«house_cadnum»:null,«house_type»:null,«hous 05c5: e_type_full»:null,«house»:null,«block_type»:null,«block_type_ful 0605: l»:null,«block»:null,«entrance»:null,«floor»:null,«flat_fias_id» 0645: :null,«flat_cadnum»:null,«flat_type»:null,«flat_type_full»:null, 0685: «flat»:null,«flat_area»:null,«square_meter_price»:null,«flat_pri 06c5: ce»:null,«postal_box»:null,«fias_id»:«7dfa745e-aa19-4688-b121-b6 0705: 55c11e482f»,«fias_code»:null,«fias_level»:«4»,«fias_actuality_st 0745: ate»:«0»,«kladr_id»:«2300000100000»,«geoname_id»:«542420»,«capit 0785: al_marker»:«2»,«okato»:«03401000000»,«oktmo»:«03701000001»,"tax 07c5: office":«2300»,«tax_office_legal»:«2300»,«timezone»:null,«geo_la 0805: t»:«45.040216»,«geo_lon»:«38.975996»,«beltway_hit»:null,«beltway 0845: _distance»:null,«metro»:null,«divisions»:null,«qc_geo»:«4»,«qc_c 0885: omplete»:null,«qc_house»:null,«history_values»:null,«unparsed_pa 08c5: rts»:null,«source»:null,«qc»:null}}} 08eb: 0 08ee: 14:18:43.846983 == Info: Connection #0 to host suggestions.dadata.ru left intact

если смотреть тут на время, то как будто бы всё ок

Valva
() автор топика

А чего traceroute не сделал? Это первое, что нужно делать в таких ситуациях. Проблема скорее всего сетевая. Например, хостера могут ддосить и сейчас у него сеть тормозит. Или какой-нибудь свитч помирает.

InterVi ★★★★
()
Ответ на: комментарий от kostik87

Это у него «талант» объяснения такой. Похоже, что имеется ввиду тормозная сеть, из которой любой запрос в мир занимает 5сек. Боевой сервак в тормозной сети, а тестовый нет.

InterVi ★★★★
()
Ответ на: комментарий от aol

Какую лучше команду использовать для того что бы замерить скорость или понять что медленее? Пока использовал эту nslookup -type=any -debug kakoitodomen.ru Домен и ип заменил

Server: 8.8.8.8 Address: 8.8.8.8#53


QUESTIONS:
    kakoitodomen.ru, type = ANY, class = IN
ANSWERS:
->  kakoitodomen.ru
    nameserver = ns2.selectel.org.
    ttl = 241
->  kakoitodomen.ru
    nameserver = ns1.selectel.org.
    ttl = 241
->  kakoitodomen.ru
    nameserver = ns3.selectel.org.
    ttl = 241
->  kakoitodomen.ru
    nameserver = ns4.selectel.org.
    ttl = 241
->  kakoitodomen.ru
    mail exchanger = 0 mail.kakoitodomen.ru.
    ttl = 241
->  kakoitodomen.ru
    internet address = 88.888.88.88
    ttl = 241
->  kakoitodomen.ru
    text = "v=spf1 ip4:888.888.888.888 ip4:88.888.88.88 ip4:88.888.88.88 ~all"
    ttl = 241
->  kakoitodomen.ru
    origin = ns1.selectel.org
    mail addr = support.selectel.ru
    serial = 2022082544
    refresh = 10800
    retry = 3600
    expire = 604800
    minimum = 300
    ttl = 241
AUTHORITY RECORDS:
ADDITIONAL RECORDS:

Non-authoritative answer: kakoitodomen.ru nameserver = ns2.selectel.org. kakoitodomen.ru nameserver = ns1.selectel.org. kakoitodomen.ru nameserver = ns3.selectel.org. kakoitodomen.ru nameserver = ns4.selectel.org. kakoitodomen.ru mail exchanger = 0 mail.kakoitodomen.ru. Name: kakoitodomen.ru Address: 89.223.24.85 kakoitodomen.ru text = «v=spf1 ip4:888.888.888.888 ip4:88.888.88.88 ip4:88.888.88.88 ~all» kakoitodomen.ru origin = ns1.selectel.org mail addr = support.selectel.ru serial = 2022082544 refresh = 10800 retry = 3600 expire = 604800 minimum = 300

Authoritative answers can be found from:

Valva
() автор топика
Ответ на: комментарий от Valva

Оба сервера твои селектеловские? Иди к ним тогда ) администрирование платное купи, наконец))

Время исполнения замерить очевидным time

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)