postmanlabs / postman-app-support

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
https://www.postman.com
5.84k stars 839 forks source link

Slow application consuming a lot my memory and system CPU #7294

Closed jperucello closed 1 year ago

jperucello commented 5 years ago

Postman application gets really slow and uses too much of my memory/CPU

To Reproduce Steps to reproduce the behavior:

  1. Open the Postman app (windows or Mac)
  2. Use your collections and send the requests Result: After a few minutes using the app, it becomes really slow, the calls takes a long time to be opened as a tab

Expected behavior When I click on a request, I need it to open and be ready to be send

Screenshots image

App information (please complete the following information):

Additional context It's been a while since is like that (since I started using it really), but since last updates is even worse, I have to force stop the application and clean the cache at least 5 times a day to be able to use the application in a acceptable speed.

deanblackborough commented 5 years ago

Adding an additional data point as I am experiencing the same thing and it is starting to impact development, on my laptop at least. Opening saved requests become slow and due to the UI delay, it is easy to accidentally save a modified request without realising what has happened.

I have a collection with ~150 requests and ~700 tests, memory usages is 1.4GB after a single run and never drops from that point, slowly increases with each run,

If the runner is never opened memory usage stays at ~600MB so the collection runner likes its memory.

App information

*App context I feel like the app has become a lot less performant over the last six months however it may just be that my collections have increased in size.

noynir commented 5 years ago

I Have the same issues on my mac. It never stop trying to sync, cpu is through the roof and the app hangs. App info:

Screen Shot 2019-09-25 at 1 30 34
Wotuu commented 5 years ago

I would like to chip in as well and say I have to restart Postman multiple times per day as memory usage increases to the point where it's too slow to work with. I have a collection with 600+ request and a few thousand tests, memory usage goes to 3GB within an hour, pretty much forcing a full restart.

image

NagoLazaro commented 5 years ago

I also find the same performance issues on my Mac. It never stop trying to sync. Environment details:

sharq88 commented 5 years ago

image Happens every now and then... I think this relates to SYNC! Look at the screenshot - the sync icon keep spinning, but nothing actually needed syncing.. the app was not used in the past hour, it just kicked in and I noticed that my mac is hot like hell..

Native App version: 7.7.3 macOS Sierra - (Intel Core i7, 3GHZ, 16GB 1600 MHZ DDR3)

cappi10 commented 5 years ago

Same problem here, also on version 7.8.0. It's making everything almost unresonsive.

Native App version 7.8.0 macOS Mojave

manishbeetch commented 5 years ago

I am facing the same problem. Postman keeps consuming high cpu even with 0 requests in the workspace. after closing the app it keeps running in the background, consuming large amount of CPU. Native App Version: 7.8.0 Windows 10 version 1903

jlevitt commented 5 years ago

I've had high postman memory usage and sluggishness ever since upgrading to 7.x. What used to be a fast lightweight application is now a sluggish, unusable memory hog. What changed? There's a noticeable delay when clicking any UI element. Sometimes the formatting of JSON/XML responses takes ~30 seconds!

image

~2.5 GB just to make API calls :(

Native App version 7.8.0 Windows 10 version 1803

kamalaknn commented 5 years ago

@jlevitt We are looking into the cause for these issues. Could you give us a bit more information to help us identify the root cause?

  1. How many request tabs do you have open?
  2. How many saved requests/collections do you have?
  3. What is the average size of the request in the tab/collection/history?
  4. How many variables do you have in your active environment?
jlevitt commented 5 years ago

@jlevitt We are looking into the cause for these issues. Could you give us a bit more information to help us identify the root cause?

Sure thing, thanks for the quick response!

1. How many request tabs do you have open?

It varies, but generally ~10. Closing tabs doesn't seem to help though.

2. How many saved requests/collections do you have?

The main collection that our company uses has 735 requests. I have 12 other collections with a combined total of 279 requests.

3. What is the average size of the request in the tab/collection/history? ]

For the request body? Most would be less than 500 bytes. The response bodies can be multiple megabytes. The issue doesn't seem to improve when I close tabs with large response bodies though.

4. How many variables do you have in your active environment?

15 in my current environment. I have ~30-50 environments.

Any guidance you can give that would help reduce memory while you guys work on a fix would be much appreciated. I'd also like to reiterate that I never had problems until upgrading to v7. Same collections, etc.

kamalaknn commented 5 years ago

@jlevitt Thanks for the info. I have some follow up questions,

  1. How big are your request descriptions, pre-request, and test-scripts? Do you use a lot of URL query parameters or form-data/urlencoded body type?
  2. How big are your responses on average?

We don't have a quick workaround that you can apply on existing apps, but when we have the fixes ready we will push the changes to Canary first.

BernierCR commented 5 years ago

I don't think it's related to any of that stuff. I have very few things loaded. It was still horrible. It was actually good today, but earlier in the week, horrible. How am I supposed to develop an API if postman uses all the CPU? There's no cpu left for the API. So it takes 10 seconds for your API call because postman and the server are running on the same computer at that point. Today it was fine. I had lots of trouble with other things, but today postman was fine. No idea how it got better all of a sudden, but it might break again just as suddenly. On Oct 10, 2019 10:08 PM, Kamalakannan notifications@github.com wrote:@jlevitt Thanks for the info. I have some follow up questions, How big are your request descriptions, pre-request, and test-scripts? Do you use a lot of URL query parameters or form-data/urlencoded body type?How big are your responses on average? We don't have a quick workaround that you can apply on existing apps, but when we have the fixes ready we will push the changes to Canary first.

—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.

jlevitt commented 5 years ago

@kamalaknn

1. How big are your request descriptions, pre-request, and test-scripts? Do you use a lot of URL query parameters or form-data/urlencoded body type?

We don't use request descriptions or pre-request scripts. Our test scripts are only on a few requests and none are longer than 5 lines. We normally don't use query parameters, but when we do it's no more than 3. We don't use form-data; it's all json or xml.

2. How big are your responses on average?

It varies wildly depending on if we're calling list routes or singular routes. For a list route, ~500kb would probably be average.

We don't have a quick workaround that you can apply on existing apps, but when we have the fixes ready we will push the changes to Canary first.

Yeah I was just wondering if clearing history or deleting unused requests/collections would help.

Omsad commented 5 years ago

Is there a way to log what Postman is doing? I came back to the below after having closed Postman some hours ago. The user interface was no longer visible but the process as still running in the background.

image

I'm using version 7.9.0. Earlier that day I had updated one variable which is used for authentication and then run a couple of requests.

philmagr commented 5 years ago

I had this and appear to have immediately fixed it by clearing my entire history.

Acceptable workaround for me, as I never use the feature.

Is postman needing to scan over the entire history list to append an item? I experienced general slowness, and extreme UI lag immediately after any call completion.

deanblackborough commented 5 years ago

I had this and appear to have immediately fixed it by clearing my entire history. Acceptable workaround for me, as I never use the feature. Is postman needing to scan over the entire history list to append an item? I experienced general slowness, and extreme UI lag immediately after any call completion.

@philmagr You might be onto something, I deleted my history (took an absolute age) and memory usage has dropped dramatically.

Additionally, my request history only appeared to go back five days; however, after killing and restarting POSTMAN I saw history entries going back 6 weeks. What is shown doesn't match up with what exists, at least for me anyway.

philmagr commented 5 years ago

The issue came back fairly quickly, initially I thought i was mistaken about history being the issue but wiping history again today has restored functionality.

The indicator I am using for "restored functionality" is "ability to click on a tab as soon as a request completes"

When it's being slow, clicking on a different tab becomes impossible for .3-.5 seconds after request completion.

Also likely relevant is that I use postman without an account.

I am also noticing cpu usage spikes (up to 20% or so) while completely idle, which is concerning, though it does not seem to impact performance directly, except that while these periodic spikes are happening the non-responsiveness issue is also happening. Clearing history makes the spikes much lower (~3%)

jlevitt commented 5 years ago

I have a quick update: I created a new workspace and shared 2 collections (the ~700 request one and a 2 request one) and one environment. Using this workspace, everything is back to being snappy. Maybe this leans towards a large number of environments being part of the issue?

kamalaknn commented 5 years ago

@jlevitt We are tracking some rendering performance issues when there are more variables in the active environment.

Can you tell us if you are seeing high memory usage or sluggishness in rendering and responsiveness?

If you could give us the number of environments and the number of variables in them which generally caused these issues that would be helpful.

jlevitt commented 4 years ago

Can you tell us if you are seeing high memory usage or sluggishness in rendering and responsiveness?

I'm seeing both.

If you could give us the number of environments and the number of variables in them which generally caused these issues that would be helpful.

In my main workspace I have ~50 environments with ~20 variables each.

VicKetchup commented 4 years ago

With the current version (7.12.0) on Mac the performance of the app has been really good, second day without any freezes or need to quit, recommend for everyone to try it out!

kamalaknn commented 4 years ago

Hey @VicKetchup

We have pushed some performance improvements that should improve the experience when working with environments.

Glad that it worked for you. Thanks for letting us know.

farukciber commented 4 years ago

I had the same issue with Version 7.14.0 on MacOS X 18.6.0 / x64. The requests took way too long to execute and the whole app froze for a few seconds.

Apparently removing 2 environments which only had around 10 variables each improved performance greatly.

bartholomew1 commented 4 years ago

Postman Potman App Type Native App Postman Version 7.14.0 OS: Windows 10 Enterprise 1803 (64x) Additional Info: Fix from similar tickets seams to not be working in my case.

skn91111557 commented 4 years ago

I have same problem. Just exec the postman, after too high cpu consumption. really too slow.

Postman ver : 7.14.0 Os : Windows 10 (64)

Fyrilin commented 4 years ago

If it helps, I was having the same problem on 7.14 and 7.15 under Windows 10 64bit: >50% CPU usage while idle. I downloaded 7.12 and it's working fine at ~0.2% while idle!

I noticed that, in 7.12, I only have "Postman" subprocesses but under 7.15 I had the same "Registry Console Tool" and "Windows Command Processor" subprocesses as @bartholomew1

I'm using the personal version with a single workspace, 8 collections, no environment, and very small request/response sizes.

bartholomew1 commented 4 years ago

@Fyrilin thank you it helped to solve my problem now I have 0,2 % of usage when idle, computer working normally. 👍 Something is not ok with most recent 7,14 version

ankurdengla commented 4 years ago

Hey @bartholomew1 @Fyrilin @skn91111557 ! Could you send us the app logs in order to help us debug this issue better? The logs can be found using the View menu in the app - View -> Developer -> View Logs in Explorer. Please send all the logs located in this directory to help@postman.com with the subject as Logs for Github issue #7294.

swagulkarni commented 4 years ago

Is there any fix for the performance issues with Postman? I am using 7.14 on Windows 10 and it annoyingly slow. The postman takes up almost entire CPU once started and won't let me do any actions on the app.

vinitshahdeo commented 4 years ago

@bartholomew1 @Fyrilin @skn91111557 Do you have Interceptor connected while facing a high CPU consumption issue? If not, try installing Interceptor Bridge and restart the Postman App once the installation is finished and check if there's a decrease in CPU usage.

Note: You can install Interceptor Bridge either from the Capture Cookies tab or Request tab with source toggled to Interceptor.

Screenshot 2020-01-16 at 10 41 30 PM Screenshot 2020-01-16 at 10 45 34 PM
Fyrilin commented 4 years ago

@vinitshahdeo It looks like that fixed the problem! Mine is hovering around 0.7% CPU after installing the bridge in the Postman application and the extension to Chrome. It seems like the interceptor has to be connected, though. I didn't see improvement until I had both the settings/installation in the app and the browser extension installed. Once it showed as connected and I restarted the app, the problem went away.

This is on v7.14.0. I also updated to v7.16.0 and all is good there too.

Thanks!

abhijitkane commented 4 years ago

Thanks for confirming that @Fyrilin - we're investigating the CPU usage issue seen when the Interceptor isn't connected, and hope to have an update soon.

vinitshahdeo commented 4 years ago

@bartholomew1 @Fyrilin @skn91111557 @swagulkarni

Please try using Postman Canary(v7.16.0-canary01). We've shipped a fix to reduce the CPU usage. Please confirm if this update helps.

You can download Postman Canary from here.

We're still working on improvements and hope to have a stable release soon.

Fyrilin commented 4 years ago

@bartholomew1 @Fyrilin @skn91111557 @swagulkarni

Please try using Postman Canary(v7.16.0-canary01). We've shipped a fix to reduce the CPU usage. Please confirm if this update helps.

You can download Postman Canary from here.

We're still working on improvements and hope to have a stable release soon.

I tried installing it and got the same installation error as mentioned in https://github.com/postmanlabs/postman-app-support/issues/5681 .

Fyrilin commented 4 years ago

@vinitshahdeo it looks like version 7.16.1 has fixed the issue for me, even with the interceptor disconnected. Well done, all!

imtrobin commented 4 years ago

I'm on 7.17.0 and its still taking up alot of CPU

vinitshahdeo commented 4 years ago

@imtrobin Could you please provide us the following info to investigate this issue further:

REG QUERY HKCU\Software\Google\Chrome\NativeMessagingHosts\com.postman.postmanapp

Please send all the above info to help@postman.com with the subject as Logs and Screenshots for Github issue #7294.

ziadloo commented 4 years ago

I'm using Postman v7.17.0 and I'm having problems with the performance as well. I'm using Postman in a Windows 10 and in Kubuntu 18.04 and both of them are facing the same performance issue. This is so serious that I cannot do anything with Postman any more. Each click will take easily a few minutes to get a response from the app.

I'll email you the requested info.

ash007-postman commented 4 years ago

@vinitshahdeo The logs from mehranziadloo@gmail.com can be found on ticket 45453.

Even a simple scrolling of the main window lags. Most of the times a single click could take easily 10 to 15 seconds to show any sign of responsiveness. And this is all new (like a week old). I don't think there has been any update on the Postman. It seems to me (but I'm not sure) the app is lagging due to some network connectivity while the problem with that is definitely not my connection. I can see the round button labeled "Sync your API requests across devices" changes color regularly.

imtrobin commented 4 years ago

I sent via email and issue resolved with canary build

jeronimusus commented 4 years ago

Still getting the blue circle of death on v7.18.0 on the Mac app. I've found that if I delete all the Collection and folder level tests then I don't face the issue.

grahamthesmith commented 4 years ago

Similar issue here, I noticed my CPU shot up after closing Postman on my Windows 10 machine. image Using latest v7.18.0 It is not possible to end the tasks, seems I need to reboot.

Mr3dfx commented 4 years ago

Using Postman 7.18.1, Windows 10 Enterprise: This is just sitting on the check for update screen, no queries, literally just sitting here... image Postman becomes so unresponsive I have to use task manager to kill it. I can't even create a new query without Postman choking.

What info would you like, where?

0xWhiteleaf commented 4 years ago

Similar issue here, I noticed my CPU shot up after closing Postman on my Windows 10 machine. image Using latest v7.18.0 It is not possible to end the tasks, seems I need to reboot.

Same here on Windows 10 (same version).

danherd commented 4 years ago

I'm finding Postman starts chewing up CPU (and sometimes displays a black screen) when I have a large JSON response and it tries to auto-format it.

It would be good if this (the auto formatting) could be made optional.

grahamthesmith commented 4 years ago

I'm finding Postman starts chewing up CPU (and sometimes displays a black screen) when I have a large JSON response and it tries to auto-format it.

It would be good if this (the auto formatting) could be made optional.

Aha, yes, I was dealing with some large responses when I had high CPU numbers. Good spot.

untilted-document commented 4 years ago

I experience the same high CPU use with 7.19.1

Would running a profile in the dev tools be of any use? Which one (current view/current shell/shared view/shared shell) would be relevant?

untilted-document commented 4 years ago

Postman seems to be spending most of its time beating the hell out of the AppData/Roaming/Postman/storage folder or a file within it. It took me a couple of seconds to collect over half a million events in ProcMon, that just seem to be an endless repetition of what you see in the screenshot below:

image

It was doing this even after I closed the app and the main window wasn't visible. One process remained active, taking 60% CPU and accessing this path hundreds of thousands of times a second. Without postman running, and my system relatively idle (one browser tab, task manager, few background apps), there are ~ 32 000 events per second. With Postman running this rises to ~65 000 events per second

untilted-document commented 4 years ago

I quit postman, renamed the storage folder to storage_old and restarted postman. CPU usage is very low now. I've diffed the two folders and the only significant differences are:

It may be relevant that some of my postman config was restored after a reset of Windows (an operation that saves settings/userdata and then reinstall O/S) ; I took my old postman appdata folder out of the backup that windows made, and copied it to my new appdata/roaming folder

malcolmm83 commented 4 years ago

I'm in v7.21.2 and I still have issues. It's not all the time, but if it runs long enough, it eventually starts using up most of the CPU. Restarting fixes it for a while. I do use the history quite a bit.