
December 2000
Performance Anxiety
by Brian Dunning
digg this
article | del.icio.us
this article
A
hack of the machete sent a thick bundle of vine to the grassy
floor. The Consultant breathed hard, sweating as he stared through
the hole in the jungle. Mosquitoes wandered freely on his bare
shoulders. He shuddered at what he saw.
Shining wet blood coated the stone idol before him. The gaping
skeleton, its flesh stripped away, sprawled across the face of
the rock, pinned by iron spikes through its mangled limbs. A laptop
case was chained to its wrist, and the smashed Windows notebook
lay on the ground beside Microsoft Access and 4D manuals.
Obviously he was not the first to pass this way. Others had tried
and failed. A few steps further he came across a newly cut head
stuck atop a spear thrust into the ground, jammed through a Microsoft
Internet Information Server box. "Cusick," he recognized. "Trying
to pass off those damned Active Server Pages again."
"A friend of yours?" asked the Consultant's porter.
"A competitor. He was good. He was very, very good."
Dead faces rose from the jungle all around him. The painted warriors
moved slowly and calmly without fear or threat, closing in on
the Consultant. The porter was carefully pulled to the ground
and beaten to death with measured blows. The Consultant shouted
as he was lifted, turned, drugged, and carried through the dizzy
dark passages of bamboo.
"Madness," said the Client, squeezing water from a rag and dipping
his face in a coconut bowl. "Madness, that after three Consultants,
our site is still not performing."
"Have you checked your server logs?"
The Client rose and stood looking down at the Consultant's curled
form, quivering, feverish. Light and darkness wrought their themes
across his chiseled face and he frowned.
The Consultant coughed. "I can start if you show me your server."
The Client made no answer and stood with black eyes. Then he
lifted a machete and pointed it across the room at a recent Dell
Pentium III.
The Consultant crawled over, his grubby rags trailing on the
stone floor. With a dirty hand he dragged the mouse and brought
FileMaker Pro to the foreground. The screen was dancing madly
from layout to layout and from record to record, periodically
pausing only to let a lazy progress bar grind agonizingly across
the screen.
The Consultant's experienced instincts took over and his mind
instantly analyzed what he saw. "You're running your entire site
on this server, "he began, like an automaton. "Web Companion is
turned on, it's acting as your web server, and as your database.
All user requests are coming through this one machine." And then
his brow wrinkled. He saw a problem. And then another.
"Your site has scripts in it," said the Consultant. "That's the
first thing to go."
"Why," said the Client. It was a command, not a question.
"When a script runs, even if it's just for a moment, it blocks
Web Companion from handling any other server requests at all.
This can seriously impact site performance under heavy load. Forget
the scripts, and do all your data manipulation with the CDML tags."
"If I shouldn't use scripts, then why are the CDML tags for scripts
in there?"
"Do you want my help, or not?"
The Client said nothing; only bowed his head. The machete drooped.
He took a deep breath, filled his lungs and threw his head back.
Drizzle from the bamboo roof sprinkled on his shaven face and
head. And then he spoke:
"I've done...questionable things."
"Yes you have," said the Consultant. He pointed to a layout.
"Look at all the fields on this layout that Web Companion is accessing.
Some of them are calculation fields."
"That's the layout we use for data entry," said the Client.
"Your web interface only requires access to a very few of these
fields. Yet, when additional fields appear on the same layout
that Web Companion accesses, they create tremendous additional
overhead for Web Companion to process needlessly. Especially these
calculation fields. Even though your site does not require them,
simply placing them on the same layout requires FileMaker to update
each of the calculations and pass that along to Web Companion."
The Consultant plugged in his laptop, opened the file as a multi-user
client, and duplicated the layout. He deleted all the fields not
required by Web Companion, particularly the calculation fields.
The site sped up immediately.
"There now," said the Consultant. "A simple fix, with dramatic
noticeable results. Now you can use this duplicate layout for
your data entry, and leave this one alone."
"Sometimes," said the Client, trying to restrain his pleasure,
"when a web user finds a large set of records, FileMaker takes
too long to sort."
"Which causes other web users to have to sit and wait, and twiddle
their thumbs," said the Consultant. "I feel your pain. Here's
the solution."
He dug in his PowerBook case and produced FileMaker Developer
5. "This product includes a nifty tool called Web Server Connector.
Do you have any other computers available?"
The Client pointed the machete across the dark hut to a neat
stack of newly boxed iMacs and Dells. The Consultant unboxed four
of them, set them up, and installed FileMaker on three of them.
He installed FileMaker Pro Server on a fourth.
"I'm going to take your site down for five minutes."
The Client said nothing, but his eyes widened perceptibly. He
tightened his grip on the machete, an action not lost on the Consultant.
"And when I bring it back up," said the Consultant, "you'll have
far more capacity for concurrent users. And they won't slow each
other down when they do large sorts and stuff."
The Consultant stopped FileMaker Pro on the server computer.
He removed the application. Then he turned on Microsoft Internet
Information Server services, installed the Web Server Connector,
and opened a browser. He accessed the settings and defined the
three new FileMaker computers. Then he copied the files across
the network to the fourth computer running FileMaker Server,
started
it up, open the files as clients on the three FileMaker machines,
then started IIS.
Instantly, the screens on the three FileMaker machines started
popping as web users hit them.
"What have you done?" whispered the Client harshly, as if the
Consultant had just committed global genocide.
"All of your web users are now hitting Microsoft IIS instead
of Web Companion," explained the Consultant. "It's a much more
robust, multi-threaded web server. The Web Server Connector is
funneling all the FileMaker requests to the three FileMaker machines,
in a round-robin load distributing kind of way." One of the machines
paused for a few seconds as FileMaker sorted a large group of
records, but the others continued popping right along.
The Client smiled.
"Well done," he said slowly. Then he raised the machete again,
and some of his painted warriors appeared at the Consultant's
side. "Now be our guest at dinner."
And the Client howled with an otherworldly laughter, which echoed
through the stone temples and flushed thousands of bats from the
trees.
|