I had previously tested Pylot on various machines and OS's, including: Windows XP, Vista, Cygwin, Ubuntu, Eee PC.
Recently I got news that it also runs on Macs, and the GUI looks pretty damn good:
I had previously tested Pylot on various machines and OS's, including: Windows XP, Vista, Cygwin, Ubuntu, Eee PC.
Recently I got news that it also runs on Macs, and the GUI looks pretty damn good:
This is a little script that gets the CPU Utilization metric from a remote Windows machine. On multi-way or multi-core machines, it will return an average of all processors/cores.
To run this, you will first need to install the WMI module. Follow the instructions and get the download from here: http://timgolden.me.uk/python/wmi.html
import wmi
def get_cpu(computer, user, password):
c = wmi.WMI(find_classes=False, computer=computer, user=user, password=password)
utilizations = [cpu.LoadPercentage for cpu in c.Win32_Processor()]
utilization = int(sum(utilizations) / len(utilizations))
return utilization
15 Tools to Help You Develop Faster Web Pages
"Response times, availability, and stability are vital factors to bear in mind when creating and maintaining a web application. If you’re concerned about your web pages’ speed or want to make sure you’re in tip-top shape before starting or launching a project, here’s a few useful, free tools to help you create and sustain high-performance web applications."
Pylot makes the list :)
Pylot (my web performance test tool) and WebInject (my web functional test tool) were both just named on the "List of top web application load and stress test tools" from WarePrise.
I am really glad people are finding Pylot useful. It still needs a lot of work and functionality to get it to where I want it to be, but so far adoption is good for such a simple tool. It is written in Python and I use it regularly for my own testing.
WebInject is a more advanced tool that has been widely adopted for a few years as a testing tool and monitoring plugin. Lately it has taken on a life of its own and keeps popping up everywhere. Who knew my ugly ball of Perl code would get that popular?
Thanks for the props!
Paul Graham has some great essays online that made up the content of his book: Hackers & Painters. One of my favorite posts is The Python Paradox, which presents something rather counterintuitive at first read:
"I'll call it the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job.
This concept may be a little scary to some. Learning an esoteric language improves your chances at getting a "good" job? (presumably "good" meaning one you like) But what about all the recruiters salivating for Java/JEE and .NET programmers?
"People don't learn Python because it will get them a job; they learn it because they genuinely like to program and aren't satisfied with the languages they already know."
.. and there lies the paradox. If you don't know an esoteric language, or one that is not considered mainstream Enterprise, you can't learn one just to land a job. You must already happen to enjoy programming enough to seek it on your own.
I just made my 3000th comment/post over at SQAForums. I've been a member and have enjoyed being part of that community since 2001. 8 years and 3000 posts.. wow.
I spend a lot of time posting in the "Performance & Load Testing" and "Automated Testing" forums. Good stuff.
"This article shows how response times improved after upgrading to a new dedicated web server with solid-state drives and faster processors."http://www.websiteoptimization.com/speed/tweak/solid-state-drive/
This state machine diagram from the Python source code (client.py in Python 3, httplib.py in Python 2) is useful for understanding the different states of a client/server connection via HTTP:
http://svn.python.org/view/python/branches/py3k/Lib/http/
HTTPConnection goes through a number of "states", which define when a client
may legally make another request or fetch the response for a particular
request. This diagram details these state transitions:
(null)
|
| HTTPConnection()
v
Idle
|
| putrequest()
v
Request-started
|
| ( putheader() )* endheaders()
v
Request-sent
|
| response = getresponse()
v
Unread-response [Response-headers-read]
|\____________________
| |
| response.read() | putrequest()
v v
Idle Req-started-unread-response
______/|
/ |
response.read() | | ( putheader() )* endheaders()
v v
Request-started Req-sent-unread-response
|
| response.read()
v
Request-sent
This diagram presents the following rules:
-- a second request may not be started until {response-headers-read}
-- a response [object] cannot be retrieved until {request-sent}
-- there is no differentiation between an unread response body and a
partially read response body