This is for the CLI but give it a try: Nigel's Monitor nmon Originally designed for AIX on IBM POWER architecture, it's been ported for Linux running on different platforms. Has a dæmon mode, too.
> As you can see, most of the loading time is spent waiting for the server. Is this because my VPS is unable to basically process PHP and server MySQL data faster?
Why are you asking us? You have access to the server. You'll be able to see if you're running on no memory. free -m
will show you. You can also install nmon to monitor network, memory, CPU and disk usage. You can quickly tell issues about the server from that.
For debugging speed issues, you can also install Blackfire.io to find PHP bottlenecks or Percona Cloud Tools to find MySQL bottlenecks.
One issue I've noticed for some sites is that there's a blocking API request so if the external API goes down your site now has a minimum response time of the time out. Check for that.
I can't say enough how disappointed in this app.
If you are really looking for live data to monitor your system, look for something else like NMON.
http://nmon.sourceforge.net/pmwiki.php
It has installers, and you can monitor your disk activity in realtime.
As bpytop is a much newer application, I would have thought they would review
all the different monitoring applications and come up with a better app, instead of a system monitoring app that is "really like a game."
I seems nobody has better suggestion then let me chime in with some rough solutions.
Usually you should not have any big issues setting up the guest.
The only stuff which comes to my mind is badly configured network interface (100mbit instead of 1/10 gbit), VM filesystems located on wrong disk (hdd instead of ssd, or even worse - nfs), filesystems on smb with big latency, wrong number of cpus for the workload or low amount of memory assigned.
Those are the most obvious fails. There is more but its hard to predict what you may be using.
Assumptions: - you know something is off and need proof.
You feel the performance is low but cant find the bottleneck
You can shuffle the workload between VMs, hosts
You can put controlled load on your guest.
You know how to perform standard linux performance checks (top, iostat, vmstat etc...)
Test the workload on VM and compare to non VM environment (laptop, desktop, host if possible). This will tell you if there is any big issue.
If approach #1 is not possible, try to move the workload to different machine. Preferably different VM solution. Compare with your initial setup.
Check standard metrics on host and on guest (top, iostat, vmstat, iptraf etc.) during load and test if there is a possibility to hit it even harder (if iostat shows 20MB/s average, can you load it even more? etc)
All above can be done much better if you have any monitoring solution (I suggest zabbix) which will give you any clues what is happening.
If you dont have one use the nmon http://nmon.sourceforge.net/pmwiki.php
Additionally check if the external components (DB, external soap web services, queues etc) are not having performance issues.
Unfortunately you did not provided much info so hopefully something from the stuff above will be helpful.
Sounds like a job for the sysstat package or for nmon. With sysstat you can collect statistics periodically usually via cron them process the output to something useful with sar/sadf.
If you want something more low-level and it is your source code you are talking about, you could use gprof or something similar to instrument your code. See: gprof
I'd use nmon for linux, grab the Ubuntu release and have it run the data to a log file. Then you can download the nmon analyzer and pump the data through there and get pretty graphs.
If you only have this one machine I recommend Nmon which is a great performance monitor for the console, but key point for you it can do graphs for you to view on some web page.