High ping to server from outcoming ip of Cloudflare

Hello all,

I apologize if the wording was hard to understand - I was sleepy at the time of post. (The original worded post is in the details below)>

The IP that the user connects to indeed have a good connection to both user and the origin server: It has a ping of ~190ms ping from the user and 15ms ping from the server. However, when I test my ping to my server through cloudflare using websocket (which is obviously in-cacheable), the ping is as high as 350ms. I expected that forwarding websocket would add 10ms to the connection, but 150ms more looks suspicious. I tested the websocket overhead with direct connection, and it is neglect-able.

So I logged the IP of incoming request of websocket, and I got an IP that belongs to cloudflare but is different form the one that user resolves to. It has a high ping of 150ms from the server. It seems like the traffic went through the internal network of cloudflare, only to make the latency higher.
I understand this might be unfortunately because geographically nearest data centres do not necessarily mean the one with the lowest ping, but still I was thinking about the IP that user resolves to have a far less ping - it feels like such a huge waste.
And a 350 ms ping is not acceptable of my application, so I want to confirm the options I have now. Is there nothing I can do besides migrate my server or use argo?

Thank you

Summary

My server is located in Europe (on Vultr VPS), and I am having a ping time of 150ms from my server to logged IP address to my server (which I assume is the exit edge server of Cloudflare).
On the other hand, the “entrance” IP (the one that the client resolves to) has a ping of only 15ms from the server (not client). This feels like a huge waste.
Is this normal?

Latency is critical to my application. Although I can migrate my server to other locations, I would really like to consider other options before that. Is there anything I can do to improve this kind of server - CDN latency (the client - cdn latency makes sense for what I tested)?

Unless you are using Argo, Cloudflare’s connections will come from the nearest datacentre to the user, which is not necessarily the closest to your server.

On average this will give the lowest latency to the user as any query that Cloudflare itself can answer will not need to wait for your server at all, plus a few other cases where that datacentre can deal with requests more efficiently.

Thanks for the reply. I apologize if the wording was hard to understand - I was sleepy at the time of post.

The IP that the user connects to indeed have a good connection to both user and the origin server: It has a ping of ~190ms ping from the user and 15ms ping from the server. However, when I test my ping to my server through cloudflare using websocket (which is obviously in-cacheable), the ping is as high as 350ms. I expected that forwarding websocket would add 10ms to the connection, but 150ms more looks suspicious. I tested the websocket overhead with direct connection, and it is neglect-able.

So I logged the IP of incoming request of websocket, and I got an IP that belongs to cloudflare but is different form the one that user resolves to. It has a high ping of 150ms from the server. It seems like the traffic went through the internal network of cloudflare, only to make the latency higher.
I understand this might be unfortunately because geographically nearest data centres do not necessarily mean the one with the lowest ping, but still I was thinking about the IP that user resolves to have a far less ping - it feels like such a huge waste.

And a 350 ms ping is not acceptable of my application, so I want to confirm the options I have now. Is there nothing I can do besides migrate my server or use argo?

Thank you.