「ajaxだから遅い」って判断は安易かつ早計だと思う。

リクエストからレスポンス受けて描画されるまでの時間で
どこがボトルネックになってるのか、ちゃんと計ってみれば?

あと、websocket使うよりJavaScriptのsetIntervalと
ajaxをうまく組み合わせて軽量なイベント待ちループ作ってもいいじゃん。