Mailing List Archive

HTTP server benchmarking/load testing in Python
Hello, I could use something like Apache ab in Python (
https://httpd.apache.org/docs/2.4/programs/ab.html ).

The reason why ab doesn't quite cut it for me is that I need to define a
pool of HTTP requests and I want the tool to run those (as opposed to
running the same request over and over again)

Does such a marvel exist?

Thinking about it, it doesn't necessarily need to be Python, but I guess
I would have a chance to tweak things if it was.

Thanks

Dino
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 10:53 AM, Dino wrote:
>
> Hello, I could use something like Apache ab in Python (
> https://httpd.apache.org/docs/2.4/programs/ab.html ).
>
> The reason why ab doesn't quite cut it for me is that I need to define a
> pool of HTTP requests and I want the tool to run those (as opposed to
> running the same request over and over again)
>
> Does such a marvel exist?
>
> Thinking about it, it doesn't necessarily need to be Python, but I guess
> I would have a chance to tweak things if it was.


I actually have a Python program that does exactly this. The intention
was to simulate a large number of independent users hitting a particular
web site as rapidly as possible, so see what the typical throughput is.
The program is somewhat specialized in the nature of the requests, but
the method is easy enough to implement.

The requests are composed from a pool of 300 pieces, and for each
request, four pieces are selected randomly with replacement and combined
to form the entire request. The idea here is to try to minimize caching,
so as to better assess the throughput for random queries.

The program runs a configurable number of threads. Each thread tries to
maintain an average query rate, but you have to throttle them to prevent
an exponential buildup of the request queue. If you run the program,
the server machine (usually the same as the querying machine) is likely
to get very hot - it's can be quite a stress test - and you want to
monitor the CPU temperatures just in case.

I can't share the actual code for copyright reasons, but the above
description should be helpful. The actual code is not very complicated
nor hard to develop.

I also have a version that uses async techniques instead of threads. To
give a feel for using a program like this, I think I can show the
'__main__' bit:

if __name__ == '__main__':
handleCmdLine()

# Warm up [redacted] in case it is not ready to get flooded with
queries
for n in range(WARMUP_REPS):
HTTPClient(HOST, setpath(), True)
asyncore.loop()

# Warmup done, reset hit counter
reps = 0

# And away we go ...
for n in range(NUMCLIENTS):
HTTPClient(HOST, setpath())

start = clock()
asyncore.loop(timeout=50)
now = clock()

sys.stderr.write('\n')
reps_per_sec = reps / (now - start)
print ('%0.1f hits/sec' % reps_per_sec)


There are also some polling-based systems available that do a similar
job. I don't remember the name of the one I tried a few years ago. It
ran a server to run the queries and reported the results via your browser.


--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
Dino <dino@no.spam.ar> writes:

> Hello, I could use something like Apache ab in Python (
> https://httpd.apache.org/docs/2.4/programs/ab.html ).
>
> The reason why ab doesn't quite cut it for me is that I need to define
> a pool of HTTP requests and I want the tool to run those (as opposed
> to running the same request over and over again)
>
> Does such a marvel exist?
>
> Thinking about it, it doesn't necessarily need to be Python, but I
> guess I would have a chance to tweak things if it was.
>
> Thanks
>
> Dino


I have used locust with success in the past.

https://locust.io
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 1:33 PM, orzodk wrote:
>
>
> I have used locust with success in the past.
>
> https://locust.io

First impression, exactly what I need. Thank you Orzo!
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 1:21 PM, Thomas Passin wrote:
>
>
> I actually have a Python program that does exactly this.

Thank you, Thomas. I'll check out Locust, mentioned by Orzodk, as it
looks like a mature library that appears to do exactly what I was hoping.



--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 3:29 PM, Dino wrote:
> On 1/25/2023 1:21 PM, Thomas Passin wrote:
>>
>>
>> I actually have a Python program that does exactly this.
>
> Thank you, Thomas. I'll check out Locust, mentioned by Orzodk, as it
> looks like a mature library that appears to do exactly what I was hoping.

Great! Don't forget what I said about potential overheating if you hit
the server with as many requests as it can handle.

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
> Great! Don't forget what I said about potential overheating if you
> hit the server with as many requests as it can handle.

Frankly, if you can overheat a server by hitting it with HTTP requests,
get better hardware and/or put it into a place with better airflow.

hp

--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | hjp@hjp.at | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
> On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
>> Great! Don't forget what I said about potential overheating if you
>> hit the server with as many requests as it can handle.
>
> Frankly, if you can overheat a server by hitting it with HTTP requests,
> get better hardware and/or put it into a place with better airflow.
>

Frankly, if you have a server-grade machine then well and good but if
you are running a nice quiet consumer grade laptop - my development
machine - you need to be careful. We don't know what hardware the OP is
using. And it's not servicing the requests per se that's the issue,
it's the heavy computing load that has to be done for each request. The
CPU is generally pegged at 100% for most or all of the test.

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On Thu, 26 Jan 2023 at 12:06, Thomas Passin <list1@tompassin.net> wrote:
>
> On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
> > On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
> >> Great! Don't forget what I said about potential overheating if you
> >> hit the server with as many requests as it can handle.
> >
> > Frankly, if you can overheat a server by hitting it with HTTP requests,
> > get better hardware and/or put it into a place with better airflow.
> >
>
> Frankly, if you have a server-grade machine then well and good but if
> you are running a nice quiet consumer grade laptop - my development
> machine - you need to be careful. We don't know what hardware the OP is
> using. And it's not servicing the requests per se that's the issue,
> it's the heavy computing load that has to be done for each request. The
> CPU is generally pegged at 100% for most or all of the test.

If you have to worry about thermals because of CPU load, then worry
about thermals because of CPU load. The HTTP request testing is
completely separate.

Load testing means putting a system under load. I'm not sure why you'd
be concerned about one specific possible consequence, rather than, I
dunno, just put the system under load and see how it performs?

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 8:36 PM, Chris Angelico wrote:
> On Thu, 26 Jan 2023 at 12:06, Thomas Passin <list1@tompassin.net> wrote:
>>
>> On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
>>> On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
>>>> Great! Don't forget what I said about potential overheating if you
>>>> hit the server with as many requests as it can handle.
>>>
>>> Frankly, if you can overheat a server by hitting it with HTTP requests,
>>> get better hardware and/or put it into a place with better airflow.
>>>
>>
>> Frankly, if you have a server-grade machine then well and good but if
>> you are running a nice quiet consumer grade laptop - my development
>> machine - you need to be careful. We don't know what hardware the OP is
>> using. And it's not servicing the requests per se that's the issue,
>> it's the heavy computing load that has to be done for each request. The
>> CPU is generally pegged at 100% for most or all of the test.
>
> If you have to worry about thermals because of CPU load, then worry
> about thermals because of CPU load. The HTTP request testing is
> completely separate.
>
> Load testing means putting a system under load. I'm not sure why you'd
> be concerned about one specific possible consequence, rather than, I
> dunno, just put the system under load and see how it performs?

This is not that hard, folks! I needed to know the throughput of this
system if it were hit with a great many queries at once, as if it were a
busy help desk, for instance. The intent is not to bring the server to
its knees as a load test for the server, it's to measure the maximum
throughput for independent queries. It happens that each query takes a
lot of processing, so the system is not IO bound, it's CPU bound. The
result is a large CPU load and a large amount of heat generated.

"just put the system under load and see how it performs" This is exactly
what was happening, but not in the service of stressing the computer,
but in finding the throughput for this particular Tomcat app with
representative queries. As a byproduct, I noticed very high CPU
temperatures, which probably wouldn't have occurred in a datacenter
server with much better cooling. I didn't care about that except for
protecting my own laptop.

And this is way OT for the OP's question.
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 3:27 PM, Dino wrote:
> On 1/25/2023 1:33 PM, orzodk wrote:
>>
>> I have used locust with success in the past.
>>
>> https://locust.io
>
> First impression, exactly what I need. Thank you Orzo!

the more I learn about Locust and I tinker with it, the more I love it.
Thanks again.
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 4:30 PM, Thomas Passin wrote:
> On 1/25/2023 3:29 PM, Dino wrote:
> Great!  Don't forget what I said about potential overheating if you hit
> the server with as many requests as it can handle.

Noted. Thank you.




--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/25/2023 11:23 PM, Dino wrote:
> On 1/25/2023 3:27 PM, Dino wrote:
>> On 1/25/2023 1:33 PM, orzodk wrote:
>>>
>>> I have used locust with success in the past.
>>>
>>> https://locust.io
>>
>> First impression, exactly what I need. Thank you Orzo!
>
> the more I learn about Locust and I tinker with it, the more I love it.
> Thanks again.

That's the one I was trying to remember! I think it was in in its early
days when I tried it out.

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 2023-01-26, Thomas Passin <list1@tompassin.net> wrote:
> On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
>> On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
>>> Great! Don't forget what I said about potential overheating if you
>>> hit the server with as many requests as it can handle.
>>
>> Frankly, if you can overheat a server by hitting it with HTTP requests,
>> get better hardware and/or put it into a place with better airflow.
>>
>
> Frankly, if you have a server-grade machine then well and good but if
> you are running a nice quiet consumer grade laptop - my development
> machine - you need to be careful.

A properly designed laptop with a non-broken OS will not overheat
regardless of the computing load you throw at it. The fan might get
annoying loud, but if it overheats either your hardware or OS needs
to be fixed.

--
Grant



--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
> On Jan 26, 2023, at 11:02 AM, Grant Edwards <grant.b.edwards@gmail.com> wrote:
>
> On 2023-01-26, Thomas Passin <list1@tompassin.net> wrote:
>> On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
>>> On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
>>>> Great! Don't forget what I said about potential overheating if you
>>>> hit the server with as many requests as it can handle.
>>>
>>> Frankly, if you can overheat a server by hitting it with HTTP requests,
>>> get better hardware and/or put it into a place with better airflow.
>>>
>>
>> Frankly, if you have a server-grade machine then well and good but if
>> you are running a nice quiet consumer grade laptop - my development
>> machine - you need to be careful.
>
> A properly designed laptop with a non-broken OS will not overheat
> regardless of the computing load you throw at it. The fan might get
> annoying loud, but if it overheats either your hardware or OS needs
> to be fixed.

Exactly.

But what he might be thinking about is Thermal Throttling, which I keep seeing people attribute
to overheating….

Overheating is not thermal throttling, it’s the OS and CPU protecting themselves from overheating.
Usually because the manufacturer didn’t add enough cooling to keep the system cool enough with a continuous load. (Which to be honest, almost no laptop designers do, because they assuming you are going to be having a spiky load instead…

- Benjamin

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/26/2023 11:02 AM, Grant Edwards wrote:
> On 2023-01-26, Thomas Passin <list1@tompassin.net> wrote:
>> On 1/25/2023 7:38 PM, Peter J. Holzer wrote:
>>> On 2023-01-25 16:30:56 -0500, Thomas Passin wrote:
>>>> Great! Don't forget what I said about potential overheating if you
>>>> hit the server with as many requests as it can handle.
>>>
>>> Frankly, if you can overheat a server by hitting it with HTTP requests,
>>> get better hardware and/or put it into a place with better airflow.
>>>
>>
>> Frankly, if you have a server-grade machine then well and good but if
>> you are running a nice quiet consumer grade laptop - my development
>> machine - you need to be careful.
>
> A properly designed laptop with a non-broken OS will not overheat
> regardless of the computing load you throw at it. The fan might get
> annoying loud, but if it overheats either your hardware or OS needs
> to be fixed.

A nice theory but nothing to do with the real world. I've had a number
of laptops that overheat (or would, if I let test program continue)
running this test program. They have been different brands, different
CPUs, different levels of noisy fans. I don't know how I would find one
of your "properly designed laptops with a non-broken OS", or what could
be done to fix it. Maybe a high-end gaming machine... which I don't
wish to invest in or hear the fan noise from.

Anyway, the point was to warn other people - who probably also wouldn't
have a "properly designed laptop with a non-broken OS" - that they
should keep an eye on their CPU core temperatures. In my experience,
that's a real concern, whether or not it "should not" be an issue.


--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
> A nice theory but nothing to do with the real world. I've had a number
> of laptops that overheat (or would, if I let test program continue)
> running this test program.

Define "overheat". If all you're saying is "the fan began to whine and
I got annoyed so I shut off the program", that is absolutely NOT
overheating. I would accept "the CPU thermally throttled to the point
where the test was non-indicative" as a form of overheating, though
then the warning should be "be aware that, if your web server is
CPU-limited, this test may result in hard-to-interpret numbers due to
requests per second varying with the change in CPU temperature", which
isn't nearly as punchy.

But unless you have a system where the heat sink isn't attached to the
CPU properly, I'd be very surprised if you were able to actually
damage your CPU this way. Maybe you could reduce the lifetime that way
(the same way that crypto mining can shorten the lifespan of a GPU),
but it shouldn't cause any sort of immediate damage. Even on a laptop.

Feel free to prove me wrong, though.

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 2023-01-26, Thomas Passin <list1@tompassin.net> wrote:
> On 1/26/2023 11:02 AM, Grant Edwards wrote:
>
>[...]
>
>> A properly designed laptop with a non-broken OS will not overheat
>> regardless of the computing load you throw at it. The fan might get
>> annoying loud, but if it overheats either your hardware or OS needs
>> to be fixed.
>
> A nice theory but nothing to do with the real world. I've had a number
> of laptops that overheat (or would, if I let test program continue)
> running this test program.

You mean they actually fail/crash?

Or they just throttle the fans up and the CPU down to keep the core
temperature within limits?

--
Grant



--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/26/2023 11:41 AM, Chris Angelico wrote:
> On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
>> A nice theory but nothing to do with the real world. I've had a number
>> of laptops that overheat (or would, if I let test program continue)
>> running this test program.
>
> Define "overheat". If all you're saying is "the fan began to whine and
> I got annoyed so I shut off the program", that is absolutely NOT
> overheating.

CPU core temperatures up to 95 deg C and rising rapidly, as reported by
a number of utilities including NZXT and CoreTemp. Max junction
temperature is given as 100 deg C, and I don't want to risk reducing the
lifetime of my CPU.

Maybe five or ten minutes at or above 100 deg C every few months might
not make a noticeable lifetime difference, who knows? I don't want to
make a habit of it. I wouldn't drive my car very long with a low oil
pressure warning active, either.
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On Fri, 27 Jan 2023 at 04:31, Thomas Passin <list1@tompassin.net> wrote:
>
> On 1/26/2023 11:41 AM, Chris Angelico wrote:
> > On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
> >> A nice theory but nothing to do with the real world. I've had a number
> >> of laptops that overheat (or would, if I let test program continue)
> >> running this test program.
> >
> > Define "overheat". If all you're saying is "the fan began to whine and
> > I got annoyed so I shut off the program", that is absolutely NOT
> > overheating.
>
> CPU core temperatures up to 95 deg C and rising rapidly, as reported by
> a number of utilities including NZXT and CoreTemp. Max junction
> temperature is given as 100 deg C, and I don't want to risk reducing the
> lifetime of my CPU.
>
> Maybe five or ten minutes at or above 100 deg C every few months might
> not make a noticeable lifetime difference, who knows? I don't want to
> make a habit of it. I wouldn't drive my car very long with a low oil
> pressure warning active, either.

Did you get a warning, or did you just decide to stop the test?

Did you continue the test and see what would happen?

Did you, when the temperature got up to 95°, check what the CPU's
clock frequency was? The easiest way to recognize thermal throttling
is a reduction in frequency while at 100% utilization.

Or did you just assume that, with a mere five degree buffer and your
own personal analysis, that the CPU was just seconds away from total
destruction?

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/26/2023 12:57 PM, Chris Angelico wrote:
> On Fri, 27 Jan 2023 at 04:31, Thomas Passin <list1@tompassin.net> wrote:
>>
>> On 1/26/2023 11:41 AM, Chris Angelico wrote:
>>> On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
>>>> A nice theory but nothing to do with the real world. I've had a number
>>>> of laptops that overheat (or would, if I let test program continue)
>>>> running this test program.
>>>
>>> Define "overheat". If all you're saying is "the fan began to whine and
>>> I got annoyed so I shut off the program", that is absolutely NOT
>>> overheating.
>>
>> CPU core temperatures up to 95 deg C and rising rapidly, as reported by
>> a number of utilities including NZXT and CoreTemp. Max junction
>> temperature is given as 100 deg C, and I don't want to risk reducing the
>> lifetime of my CPU.
>>
>> Maybe five or ten minutes at or above 100 deg C every few months might
>> not make a noticeable lifetime difference, who knows? I don't want to
>> make a habit of it. I wouldn't drive my car very long with a low oil
>> pressure warning active, either.
>
> Did you get a warning, or did you just decide to stop the test?

(At least) one of the utilities, I forget which one, did show the
temperature in a danger zone.

> Did you continue the test and see what would happen?

No, why would I? Would you go up to the edge of a cliff, past the
warning signs, and when the ground started to crumble take another step
to see if it would really collapse?

> Did you, when the temperature got up to 95°, check what the CPU's
> clock frequency was? The easiest way to recognize thermal throttling
> is a reduction in frequency while at 100% utilization.

No, there was no point. Maybe it would have throttled, maybe no damage
would have occurred. But doing so would not have accomplished anything,
since I already had the throughput numbers I needed and the purpose of
the test was not to see how hard I could drive the system before
hardware failure. I'll leave that to Tom's Hardware or some gamers' site.

> Or did you just assume that, with a mere five degree buffer and your
> own personal analysis, that the CPU was just seconds away from total
> destruction?

To quote myself from my last message:

"Maybe five or ten minutes at or above 100 deg C every few months might
not make a noticeable lifetime difference, who knows? I don't want to
make a habit of it. I wouldn't drive my car very long with a low oil
pressure warning active, either."

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On Fri, 27 Jan 2023 at 06:54, Thomas Passin <list1@tompassin.net> wrote:
> > Did you get a warning, or did you just decide to stop the test?
>
> (At least) one of the utilities, I forget which one, did show the
> temperature in a danger zone.

I'm very curious as to which utility, and on what basis it called it
"danger". Notably, whether there's any sort of actual manufacturer
threshold that that was based on.

Personally? Very dubious. Your entire premise is "five degrees MUST be
a problem", without any visible basis.

ChrisA
--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
> On 26 Jan 2023, at 17:32, Thomas Passin <list1@tompassin.net> wrote:
>
> ?On 1/26/2023 11:41 AM, Chris Angelico wrote:
>>> On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
>>> A nice theory but nothing to do with the real world. I've had a number
>>> of laptops that overheat (or would, if I let test program continue)
>>> running this test program.
>> Define "overheat". If all you're saying is "the fan began to whine and
>> I got annoyed so I shut off the program", that is absolutely NOT
>> overheating.
>
> CPU core temperatures up to 95 deg C and rising rapidly, as reported by a number of utilities including NZXT and CoreTemp. Max junction temperature is given as 100 deg C, and I don't want to risk reducing the lifetime of my CPU.

Silicon junctions melt something like 400C ish not 100C.
The max you see is the operating temp of the CPU.

For intel CPU if you go beyond what the slow clocking can deal with the CPU turns itself off to prevent damage.

Intel did this to stop people asking for replacement parts when there cooling was at fault.

Barry

>
> Maybe five or ten minutes at or above 100 deg C every few months might not make a noticeable lifetime difference, who knows? I don't want to make a habit of it. I wouldn't drive my car very long with a low oil pressure warning active, either.
> --
> https://mail.python.org/mailman/listinfo/python-list
>

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/26/2023 6:39 PM, Barry wrote:
>
>
>> On 26 Jan 2023, at 17:32, Thomas Passin <list1@tompassin.net> wrote:
>>
>> ?On 1/26/2023 11:41 AM, Chris Angelico wrote:
>>>> On Fri, 27 Jan 2023 at 03:34, Thomas Passin <list1@tompassin.net> wrote:
>>>> A nice theory but nothing to do with the real world. I've had a number
>>>> of laptops that overheat (or would, if I let test program continue)
>>>> running this test program.
>>> Define "overheat". If all you're saying is "the fan began to whine and
>>> I got annoyed so I shut off the program", that is absolutely NOT
>>> overheating.
>>
>> CPU core temperatures up to 95 deg C and rising rapidly, as reported by a number of utilities including NZXT and CoreTemp. Max junction temperature is given as 100 deg C, and I don't want to risk reducing the lifetime of my CPU.
>
> Silicon junctions melt something like 400C ish not 100C.
> The max you see is the operating temp of the CPU.

Of course I know the junction isn't going to melt at 100 deg C. We're
not talking low temperature solder here!

> For intel CPU if you go beyond what the slow clocking can deal with the CPU turns itself off to prevent damage.
>
> Intel did this to stop people asking for replacement parts when there cooling was at fault.
>
> Barry
>
>>
>> Maybe five or ten minutes at or above 100 deg C every few months might not make a noticeable lifetime difference, who knows? I don't want to make a habit of it. I wouldn't drive my car very long with a low oil pressure warning active, either.
>> --
>> https://mail.python.org/mailman/listinfo/python-list
>>
>

--
https://mail.python.org/mailman/listinfo/python-list
Re: HTTP server benchmarking/load testing in Python [ In reply to ]
On 1/26/2023 5:00 PM, Chris Angelico wrote:
> On Fri, 27 Jan 2023 at 06:54, Thomas Passin <list1@tompassin.net> wrote:
>>> Did you get a warning, or did you just decide to stop the test?
>>
>> (At least) one of the utilities, I forget which one, did show the
>> temperature in a danger zone.
>
> I'm very curious as to which utility, and on what basis it called it
> "danger". Notably, whether there's any sort of actual manufacturer
> threshold that that was based on.

1. we're talking maybe a dozen years ago, I don't remember every detail
about wordings. Coretemp e.g., gives clear warnings (though at what I
think are lower temperatures than necessary).

2. "What is Tjunction max temperature?"
Tjunction max is the maximum thermal junction temperature that a
processor will allow prior to using internal thermal control mechanisms
to reduce power and limit temperature. Activation of the processor's
thermal control system may cause performance loss as the processor
typically reduces frequency and power to prevent overheating. The
maximum junction temperature limit varies per product and usually is
between 100°C-110°C."

https://www.intel.com/content/www/us/en/support/articles/000005597/processors.html

The utilities I used always stated a 100 deg limit for Tj.

3. "Is it bad if my processor frequently approaches or reaches its
maximum temperature?

Not necessarily. Many Intel® processors make use of Intel® Turbo Boost
Technology, which allows them to operate at very high frequency for a
short amount of time. When the processor is operating at or near its
maximum frequency it's possible for the temperature to climb very
rapidly and quickly reach its maximum temperature. In sustained
workloads, it's possible the processor will operate at or near its
maximum temperature limit. Being at maximum temperature while running a
workload isn't necessarily cause for concern. Intel processors
constantly monitor their temperature and can very rapidly adjust their
frequency and power consumption to prevent overheating and damage."

(same source)

But automatic throttling wasn't common back when I first noticed the
heating issue.

> Personally? Very dubious. Your entire premise is "five degrees MUST be
> a problem", without any visible basis.

Bridges are built with 150 - 200 % strength margin. This doesn't mean
you should deliberately overload one.

Heat is the enemy of electronics - a very old lesson. Tj =~ 100 deg C
for CPUs, a familiar figure.

My premise, to use your word, is not what you say. It is to avoid
excessive heat if at all possible, and if the manufacturer says the max
junction temperature is 100 deg, I'm going to avoid approaching 100 deg
if possible - or to minimize the stay there. Most chemical effects are
exponentially sensitive to temperature and problems with semiconductors
are likely to be chemical - remember, e.g., the purple plague? A
chemical problem.

So yes, checking with HWiNFO, my current system is throttling and power
limiting during this particular test. That's good. And I'm still going
to stay away from the highest temperatures when possible.

Nuff said!

--
https://mail.python.org/mailman/listinfo/python-list

1 2  View All