Speed of Bokeh server application

Hello,
I developped my Bokeh application running on Tornado. I use my application on my computer, no problem. Now i want to deploy my application on the server of my company, for everybody can use it in the local . It works. But i see, my application works too slowly. The people use my application is limited. It depends on multi-process. I don’t know why. In here, if who have used an application Bokeh for a company, i need an advise, Please.
Thanks so much

It’s hard to speculate without much more detail, or really, being able to run and reproduce. So at present I can only offer some general observations:

  • Tornado is a single-threaded asynchronous framework. If you have app code that does real work, and multiple users simultaneously, then all user sessions will block any time the any session runs that blocking work. If that’s what you are seeing:
    • you could try using --num-procs to spawn multiple processes
    • you could run multiple instances of your bokeh server app behind a load balancer
    • you could offload blocking work to thread executors in tornado
    • some/all of the above
  • If you don’t have multiple users at a time, then the difference must be either the compute resource the app is running on, or the network. Are you sending huge amounts of data? If so running locally on localhost will be faster then sending over a real network. Are you making sure to use numpy arrays with dtypes that support the fast binary array protocol?

That’s about all I can offer without much, much more information.

Hi Bryan,
Thanks so much for your answer.
Bokeh app run on my computer, there is no problem, juste a delay (5-10s) to change a layout (slider,plot,…). i don’t know how to fix it. Every calculs, its very fast.
And now, i want to develop on a server of my company, the people wil have a link to connect this app and use it in local.
I explained to IT’s team how i can run my bokeh app on my personal computer (with which version Python, verison Bokeh,…), and they developed it. But its too slow. The speed of loading page and the speed of calculing are too slow. I’m not IT, so i don’t know how they can develop.
There are any difference between the navigators.? I run my app on firefox, its faster than Google Chrome (i talk about the speed of loading page, the delay when the layout is changed, not the calculs).
If i deloppe my app onto Apache, the speed will be improved?

If there are no delay when the layout is changed, this is very perfect for me.
Do you have any advices?

I’m sorry, but just saying “it is slow” does not provide nearly enough information for me to be able to speculate on anything specific. All I can do in this situation is what I have already done: describe several possible scenarios above that might account for “slowness”, so that you (or someone else in your organization) can investigate on your end.