Introducing Punisher

By October 28, 2020 8 Comments
Screenshot of the FM-Punisher GitHub repo

"Is a Mac Mini a good server for ten users?" = "how long is a piece of string."

The number of users is a poor proxy for deciding how many resources you’ll need for your FileMaker Server; there is a huge difference between 10 users just reading data or ten users pounding away, creating records, and running summary reports.

Add that to the design patterns and architectural choices made by the developer that can cause one solution to perform worse than another (such as the over-use of unstored calcs and summaries, wide tables, busy layouts, lack of proper theming, etc.).

Add it all up, and picking a good server to run your solution is a bit of a dark art; it is a task that is made difficult because of the sheer number of variables involved.

“All things being equal;

  • Is FileMaker Server 19 faster than 18, in what areas?
  • Is FileMaker Server on Linux faster than on Windows?
  • What is the effect of faster cores? Or more cores?
  • What effect is there if I increase the FileMaker Server cache?
  • How much impact is there if I use an SSD, and what operations become quicker?”

Punisher is a tool that I built to help me figure out how FileMaker Server works and help me determine which deployment choices make a bigger impact for any given solution.

Punisher abstracts out the effect of the client’s processing power or the client-to-server network speed/latency; it only tests the server’s capabilities. Punisher also abstracts out any design choice differences between different solutions; it always runs the exact same tests, just on different hardware configurations.

Punisher tests the speed of FileMaker Server by spawning simultaneous (concurrent, parallel) PSoS sessions that run through a collection of scripts that run the gamut of the different types of operations your solutions would typically do: some scripts are heavy on database operations (record creation, record edits, sorting, etc.), other scripts are heavy on the computational resources available, and then some use import and export to tax the disk i/o.

FileMaker Server Comparison

The results are presented in several ways, including a nice JavaScript pivot table so that you can slice-and-dice the results to look at it in different ways.

Punisher is available as an open-source project on GitHub:

We are looking forward to your feedback on thoughts on how to improve it. Report your ideas on GitHub or find us on

Wim Decorte

Wim Decorte

Wim is a Senior Technical Solution Architect at Soliant. He is a FileMaker 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 and 18 Certified FileMaker Developer and the author of numerous Tech Briefs and articles on FileMaker Server. Wim is one of the very few multiple FileMaker Excellence Award winners and was most recently awarded the FileMaker Community Leader of the Year award at the 2015 FileMaker Developer Conference. He is also a frequent speaker at the FileMaker Developer Conference and at FileMaker Developer groups throughout the world. In addition to being a renowned expert on FileMaker Server, Wim also specializes in integrating FileMaker with other applications and systems. His pet project is the open source fmDotNet connector class that he created.


Leave a Reply

Need to adjust your business processes quickly? We're helping clients use technology to keep their teams productive and running smoothly in these times of uncertainty. Our team can guide yours if you need help in these areas.

Talk to a Consultant