Random timeouts on Ropsten

Through last week and today I am plagued with timeouts when I use the Infura Ropsten API (Throughout yesterday I did not get a single timeout). I get randomly errors like:

Error: Error: connect ETIMEDOUT :443

When I run my tests about half of the requests to Infura succeed the other half time out. There is no pattern as to which requests fail expect that calls are more likely to succeed and sending tx more likely fail.

Hi @thec00n, welcome to our community and sorry to hear you are experiencing issues on Ropsten. Can you provide more information, code snippets, and error responses so that we can help you dig into why these are occurring?

For example the following error with occurs during a call to the RPC API:

 console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
    Error: Error: connect ETIMEDOUT 54.165.179.174:443
        ...
        at Request.emit (events.js:203:15)
        at ClientRequest.emit (events.js:198:13)
        at TLSSocket.socketErrorListener (_http_client.js:392:9)
        at TLSSocket.emit (events.js:198:13)
        at emitErrorNT (internal/streams/destroy.js:91:8)
        at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
        at process._tickCallback (internal/process/next_tick.js:63:19) undefined

Or this one during sending a transaction:

    Invalid JSON RPC response: ""

      at Object.InvalidResponse (node_modules/web3-core-helpers/src/errors.js:42:16)
      at XMLHttpRequest.request.onreadystatechange (node_modules/web3-providers-http/src/index.js:106:32)
      at XMLHttpRequest.el.addEventListener.event (node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js:33:32)
      at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:193:27)
      at XMLHttpRequestEventTargetImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:119:9)
      at XMLHttpRequestEventTargetImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:82:17)
      at XMLHttpRequest.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:157:21)
      at requestErrorSteps (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:121:7)
      at Object.dispatchError (node_modules/jsdom/lib/jsdom/living/xhr-utils.js:62:3)
      at Request.client.on.err (node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js:676:20)
      at Request.onRequestError (node_modules/request/request.js:881:8)

Could you share your code that is generating these requests?