Announcement

Collapse
No announcement yet.

Slow SOAP Api

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Slow SOAP Api

    I am trying to use the SOAP API to run search queries in 3dcart. My plan is to proxy the search through an external server so that I can further process the results. Everything works, but the query is slow. I was expecting an acceptable 500s delay, but it is taking over 4 seconds to retrieve the search results, when I add in the side filters, this goes to 8 seconds. My external server adds about 100ms to the processing so I know it is not the external server. How to speed this up?

  • #2
    Assuming you are doing sql queries via the advanced soap api, you may want to look into optimizing the query you are sending in. I don't know the format or details - but thats the only optimization you really can do from your side.

    If you're just using the old soap api (not advanced) its probably better to consider using the rest api as its newer and most likely more performant for the operations you are doing.

    Other services that do similar things will pull your data via the api ahead of time and cache/store the aggregated results in their own server (or build a secondary database etc). This would cut out the extra trip from your vps to 3dcart and since you are doing additional processing anyway - it would be handy to have all of that data in a format probably more optimized for your operation than the api response would afford.

    Comment


    • #3
      The query is a fairly simple select


      SELECT catalogid, id, name, categoriesaaa, manufacturer, price, price2, price3, saleprice, onsale, stock, display_stock, weight, thumbnail, image1, hide, free_shipping, extra_field_10, price_1, price_7, price_10, show_out_stock, loginlevel, redirectto, review_average, review_count, parent_catalog_id, extra_field_7, extra_field_8, extra_field_11, extra_field_12, canonical_url from products
      WHERE ( description LIKE '%true%' AND description LIKE '%refrigerator%' )
      OR ( extended_description LIKE '%true%' AND extended_description LIKE '%refrigerator%' )
      ORDER BY sorting OFFSET 0 ROWS FETCH NEXT 25 ROWS ONLY

      Comment

      Working...
      X