Full Download Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database, 3rd Edition Thomas Larock PDF DOCX
Full Download Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database, 3rd Edition Thomas Larock PDF DOCX
com
https://ebookmeta.com/product/pro-sql-server-2022-wait-
statistics-a-practical-guide-to-analyzing-performance-in-
sql-server-and-azure-sql-database-3rd-edition-thomas-larock/
OR CLICK HERE
DOWLOAD NOW
https://ebookmeta.com/product/expert-performance-indexing-in-azure-
sql-and-sql-server-2022-fourth-edition-edward-pollack/
ebookmeta.com
https://ebookmeta.com/product/advanced-optical-and-wireless-
communications-systems-2nd-edition-ivan-b-djordjevic/
ebookmeta.com
https://ebookmeta.com/product/the-medieval-soldier-in-the-wars-of-the-
roses-2nd-edition-andrew-boardman/
ebookmeta.com
https://ebookmeta.com/product/lonely-planet-india-19th-edition-lonely-
planet/
ebookmeta.com
https://ebookmeta.com/product/nano-technological-intervention-in-
agricultural-productivity-javid-a-parray/
ebookmeta.com
https://ebookmeta.com/product/the-role-of-sdn-in-broadband-networks-
springer-theses-habibi-gharakheili-hassan/
ebookmeta.com
Marvel s SPIDER MAN Hostile Takeover 1st Edition David
Liss
https://ebookmeta.com/product/marvel-s-spider-man-hostile-
takeover-1st-edition-david-liss/
ebookmeta.com
Pro
SQL Server 2022
Wait Statistics
A Practical Guide to Analyzing Performance
in SQL Server and Azure SQL Database
—
Third Edition
—
Thomas LaRock
Enrico van de Laar
Pro SQL Server 2022
Wait Statistics
A Practical Guide to Analyzing
Performance in SQL Server and Azure
SQL Database
Third Edition
Thomas LaRock
Enrico van de Laar
Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in
SQL Server and Azure SQL Database
Thomas LaRock Enrico van de Laar
East Longmeadow, MA, USA Drachten, The Netherlands
Introduction������������������������������������������������������������������������������������������������������������xxi
v
Table of Contents
sys.dm_exec_requests��������������������������������������������������������������������������������������������������������������� 35
Understanding sys.dm_exec_requests��������������������������������������������������������������������������������� 35
Querying sys.dm_exec_requests������������������������������������������������������������������������������������������ 36
sys.dm_exec_session_wait_stats���������������������������������������������������������������������������������������������� 38
Combining DMVs to Detect Waits Happening Now��������������������������������������������������������������������� 40
Viewing Wait Statistics Using Perfmon��������������������������������������������������������������������������������������� 45
Capturing Wait Statistics Using Extended Events����������������������������������������������������������������������� 47
Capture Wait Statistics Information for a Specific Query������������������������������������������������������ 49
Analyzing Wait Statistics on a Per-Query Basis Using Execution Plans�������������������������������������� 59
Summary������������������������������������������������������������������������������������������������������������������������������������ 63
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
SLEEP_BPOOL_FLUSH�������������������������������������������������������������������������������������������������������������� 181
What Is the SLEEP_BPOOL_FLUSH Wait Type?�������������������������������������������������������������������� 181
SLEEP_BPOOL_FLUSH Example������������������������������������������������������������������������������������������ 184
Lowering SLEEP_BPOOL_FLUSH Waits������������������������������������������������������������������������������� 186
SLEEP_BPOOL_FLUSH Summary���������������������������������������������������������������������������������������� 187
WRITE_COMPLETION����������������������������������������������������������������������������������������������������������������� 187
What Is the WRITE_COMPLETION Wait Type?���������������������������������������������������������������������� 187
WRITE_COMPLETION Example��������������������������������������������������������������������������������������������� 188
Lowering WRITE_COMPLETION Waits���������������������������������������������������������������������������������� 188
WRITE_COMPLETION Summary������������������������������������������������������������������������������������������� 189
ix
Table of Contents
x
Table of Contents
sys.dm_os_latch_stats������������������������������������������������������������������������������������������������������� 240
Page-Latch Contention�������������������������������������������������������������������������������������������������������� 241
PAGELATCH_[xx]����������������������������������������������������������������������������������������������������������������������� 244
What Is the PAGELATCH_[xx] Wait Type?����������������������������������������������������������������������������� 244
PAGELATCH_[xx] Example��������������������������������������������������������������������������������������������������� 245
Lowering PAGELATCH_[xx] Waits����������������������������������������������������������������������������������������� 250
PAGELATCH_[xx] Summary�������������������������������������������������������������������������������������������������� 255
LATCH_[xx]�������������������������������������������������������������������������������������������������������������������������������� 256
What Is the LATCH_[xx] Wait Type?������������������������������������������������������������������������������������� 256
LATCH_[xx] Example������������������������������������������������������������������������������������������������������������ 257
Lowering LATCH_[xx] Waits������������������������������������������������������������������������������������������������� 262
LATCH_[xx] Summary���������������������������������������������������������������������������������������������������������� 263
PAGEIOLATCH_[xx]�������������������������������������������������������������������������������������������������������������������� 263
What Is the PAGEIOLATCH_[xx] Wait Type?�������������������������������������������������������������������������� 264
PAGEIOLATCH_[xx] Example������������������������������������������������������������������������������������������������ 266
Lowering PAGEIOLATCH_[xx] Waits������������������������������������������������������������������������������������� 268
PAGEIOLATCH_[xx] Summary���������������������������������������������������������������������������������������������� 272
xi
Table of Contents
REDO_THREAD_PENDING_WORK���������������������������������������������������������������������������������������������� 292
What Is the REDO_THREAD_PENDING_WORK Wait Type?��������������������������������������������������� 292
REDO_THREAD_PENDING_WORK Summary������������������������������������������������������������������������ 294
xii
Table of Contents
xiii
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 391
xiv
About the Authors
Thomas LaRock has over 20 years of IT experience holding administrator roles. He is
a Microsoft Certified Master in SQL Server and a Microsoft Data Platform MVP since
2009. LaRock has spent much of his career working with data and databases, which led
to his selection as a Technical Advocate for Confio Software in 2010 for the software now
known as SolarWinds Database Performance Analyzer (DPA).
Currently, he serves as a Head Geek for SolarWinds, a company specializing in
software for enterprise infrastructure monitoring. This role allows for LaRock to work
with a variety of customers, helping to solve questions regarding network, application,
and database performance tuning and virtualization. You can reach Thomas through his
blog (thomaslarock.com/blog) and find him on Twitter (@SQLRockstar).
Enrico van de Laar has been working with data in various formats and sizes for over
15 years. He is a data and advanced analytics consultant for DataHeroes where he helps
organizations optimize their data platform environment and helps them with their first
steps in the world of advanced analytics. He is a Data Platform MVP since 2014 and a
frequent speaker on various data-related events throughout the world. He frequently
blogs about technologies such as Microsoft SQL Server and Azure Machine Learning on
his blog at enricovandelaar.com. You can contact Enrico on Twitter at @evdlaar.
xv
About the Technical Reviewers
Denny Cherry is the owner and principal consultant for
Denny Cherry & Associates Consulting and has over two
decades of experience working with platforms such as Azure,
Microsoft SQL Server, Hyper-V, vSphere, and Enterprise
Storage solutions. Denny’s areas of technical expertise
include system architecture, performance tuning, security,
replication, and troubleshooting. Denny currently holds
several of the Microsoft certifications related to SQL Server
for versions 2000 through 2017 including the Microsoft
Certified Master as well as being a Microsoft MVP for over
a decade. Denny has written several books and dozens of
technical articles on SQL Server management and how SQL
Server integrates with various other technologies.
xvii
Acknowledgments
There are many people to acknowledge and thank for helping me with this book. I’ll do
my best to include as many as I can, but please don’t be offended if I forget you; it’s not
on purpose.
I’ll start with my wife, Suzanne, for her patience as I spent many off-hours
completing this book. Oh, and for all the time I’ve spent away from home for the past
15 years.
Thanks to Bob Ward of Microsoft for helping uncover new SQL 2022 features, as well
as your willingness to share your knowledge on SQL Server for the past 25 years. And
thanks for your time in Barcelona in 2006 when you inspired me to want to learn more
about SQL Server.
Thanks to my partner in #TeamData, Karen Lopez, for your help, support, and
friendship for many years. I became a better technical writer and presenter by learning
from you.
Thanks to Kevin Kline for your guidance and support as I left my career as a
production DBA to become a Technical Advocate and for providing an example of what
proper community leadership looks like.
To Buck Woody, for your support in helping me understand my strengths and your
guidance in career opportunities through the years.
To Craig and Vinny, for giving me the opportunity to fail as a DBA, and to Frank and
Lori for not letting it happen as much as it should have.
To Rie, Betsy, Rochelle, and everyone on the Microsoft Community team for
awarding me the Microsoft MVP status all these years.
Finally, to Jonathan, for thinking of me when it came time to update this book for
SQL 2022. Thank you for the opportunity to write another book for you, 12 years later.
xix
Introduction
“Write the book you wish someone else would have written and handed to you when you
were starting as a DBA.”
Those words were spoken to me by my friend and mentor, Kevin Kline, roughly 13
years ago. At the time I was writing my first book, DBA Survivor, and I asked Kevin for
advice on how to approach the project. His answer gave me clarity, and I’ve used the
same approach for this book you are now reading.
At the time I started as a junior DBA, Tom Davidson’s well-known SQL Server 2005
Waits and Queues whitepaper was years away from publication. What I knew about waits
I would find using DBCC statements against (the artist formally known as) Sybase ASE
and SQL Server 2000 instances.
In other words, I didn’t know much.
With the release of SQL Server 2005 and the publication of the Davidson whitepaper,
wait statistics became a viable tuning methodology. Administrators and developers
could now use waits and queues to understand exactly why a query was running longer
than expected. Overnight our team transitioned from reacting to query performance
issues to being proactive in understanding which resources the overall database
workload needed most.
Every request sent to a database server has the same constraints: memory,
processing, disk, network, and locking/blocking. It doesn’t matter if you want to rely
solely on execution plans for query tuning; the physical and logical constraints for the
query remain the same: they are just presented differently in an execution plan. The
waits and queue tuning methodology reduces the complexity and time necessary for
query performance tuning by an order of magnitude.
Once you understand how the database engine processes requests, how waits
happen, and how to track them, you are well on your way to being an expert in query
performance tuning.
And that’s the goal of this book. When you are done reading, I want you to have all
the skills necessary to be an expert in query performance tuning. That’s the book I wish
someone would have written and handed to me when I was first starting as a DBA.
xxi
Introduction
To reach the goal, this book has been split into two unequal parts. Part I,
“Foundations of Wait Statistics Analysis,” provides details on how the database engine
processes a query (officially called a request, which is sent by a session, after a connection
to the instance is established) followed by information on how to query wait statistics
information through various SQL Server dynamic management views (DMVs). Part I
finishes with an overview of the Query Store feature and guidance on how to create and
gather metrics to build your own baselines.
Part II, “Wait Types,” dives into specific waits, the causes, some examples, and
possible resolutions. The chapters are divided by wait categories, which is a bit tricky
as some waits (such as PAGEIOLATCH) have overlap between more than one possible
constraint (memory and disk). Therefore, the chapters break down specific waits into
categories by CPU, IO, backups, locks, latches, high-availability and disaster-recovery,
preemptive, background and miscellaneous, and In-Memory OLTP.
Yes, waits for background and miscellaneous are included, despite their being
benign for query performance. It’s important for you to know why (and when) these
waits happen and when they are safe to ignore (they usually are, but not always).
One thing to note, the examples in this book use a database named GalacticWorks.
This is a modified version of AdventureWorks I use for a variety of demos when teaching
my classes. The examples in the book will work with AdventureWorks, so don’t panic
about not having GalacticWorks; you’ll be fine with most versions of AdventureWorks.
When you finish this book, I want you to have the confidence to tackle any query
performance tuning problem. You’ll have the details, information, and knowledge
necessary to be an expert. And maybe soon enough, you’ll be teaching others and maybe
someday write your own book, too.
xxii
PART I
Foundations of Wait
Statistics Analysis
CHAPTER 1
3
© Thomas LaRock, Enrico van de Laar 2023
T. LaRock and E. van de Laar, Pro SQL Server 2022 Wait Statistics,
https://doi.org/10.1007/978-1-4842-8771-2_1
Chapter 1 Wait Statistics Internals
Figure 1-1. SQL Server wait statistics for SQL Server 6.5
4
Chapter 1 Wait Statistics Internals
One of the big changes introduced with SQL Server 2005 was the conversion of
many internal functions and commands into Dynamic Management Views (DMVs) and
Dynamic Management Functions (DMFs). This made it easier to query and analyze the
information returned by functions and commands, including wait statistics information.
A new way of performance analysis was born with the release of the SQL Server 2005
Microsoft whitepaper SQL Server 2005 Waits and Queues by Tom Davidson.
In the subsequent releases of SQL Server, the volume of new and different wait types
grew exponentially whenever new features or configuration options were introduced.
If you look at Figure 1-1, you will notice that 21 different wait types were returned.
Figure 1-2 shows the amount of wait types, as the number of rows returned, available in
SQL Server 2022.
5
Chapter 1 Wait Statistics Internals
With the release of SQL Server 2022 RC0, the number of wait types increased to more
than 1,300 different wait types! The number of wait types will likely continue to grow
in future SQL Server releases, as new features are introduced or existing features are
changed. Thankfully there is a lot more information available about wait statistics now
than there was in SQL Server 6.5!
The SQLOS
The world of computer hardware changes constantly. Every year, or in some cases
every month, we stuff more cores inside of processors, increase the memory capacity of
mainboards, or introduce entirely new hardware concepts like PCI-based persistent flash
storage. Database Management Systems (or DBMSs) are eager to take advantage of new
hardware trends. Because of the fast-changing nature of hardware and the need to utilize
new hardware options as soon as they become available, the SQL Server team decided to
change the SQL Server platform layer starting with SQL Server 2005.
Before SQL Server 2005, the platform layer of SQL Server was restricted, with many
operations performed by the operating system itself. This meant it was difficult for
SQL Server to keep up with the fast-changing world of server hardware, as changing a
complete operating system in order to utilize faster hardware or new hardware features
is a time-consuming and complex operation.
Figure 1-3 shows the (simplified) architecture of SQL Server before the introduction
of the SQLOS in SQL Server 2005.
6
Chapter 1 Wait Statistics Internals
SQL Server 2005 introduced one of the biggest changes to the SQL Server engine
seen to this day, the SQLOS. This is a completely new platform layer functioning as a
user-level operating system. The SQLOS has made it possible to fully utilize current
and future hardware and has enabled features like advanced parallelism. The SQLOS
is highly configurable and adjusts itself to the hardware it is running on, thus making it
perfectly scalable for high-end or low-end systems alike.
Figure 1-4 shows the (simplified) architecture of SQL Server 2005, including the
SQLOS layer.
7
Chapter 1 Wait Statistics Internals
The SQLOS changed the way SQL Server accesses processor resources by
introducing schedulers, tasks, and worker threads. This gives the SQLOS greater control
of how work should be completed by the processors. The Windows operating system
uses a preemptive scheduling approach. This means that Windows will give every
process that needs processor time a priority and fixed slice of time, or a quantum. This
process priority is calculated from a number of variables like resource usage, expected
runtime, current activity, and so forth. By using preemptive scheduling, the Windows
operating system can choose to interrupt a process when a process with a higher priority
needs processor time. This way of scheduling can have a negative impact on processes
generated by SQL Server, since those processes could easily be interrupted by higher
priority ones, including those of other applications. For this reason, the SQLOS uses its
own (cooperative) non-preemptive scheduling mechanism, making sure that Windows
processes cannot interrupt SQLOS processes.
8
Chapter 1 Wait Statistics Internals
Nerd Note SQL Server 7 and SQL Server 2000 also used non-preemptive
scheduling using User Mode Scheduling (UMS). SQLOS brought many more system
components closer together, thus enabling better performance and scalability.
There are some exceptions when the SQLOS cannot use non-preemptive scheduling,
for instance, when the SQLOS needs to access a resource through the Windows
operating system. We will discuss these exceptions later in this book in Chapter 11,
“Preemptive Wait Types.”
9
Chapter 1 Wait Statistics Internals
Sessions
A session is the connection a client has to SQL Server after it has been successfully
authenticated. We can access session information by querying the sys.dm_exec_
sessions DMV using the following query:
SELECT *
FROM sys.dm_exec_sessions;
In older versions of SQL Server, user sessions had a session_id greater than 50;
everything lower was reserved for internal SQL Server processes. However, on very busy
servers, there was a possibility SQL Server needed to use a session_id greater than 50. If
you are only interested in information about user-initiated sessions, it is better to filter
the results of the sys.dm_exec_sessions DMV using the is_user_process column instead
of filtering on a session_id greater than 50. The following query will only return user
sessions and will filter out the internal system sessions:
10
Chapter 1 Wait Statistics Internals
SELECT *
FROM sys.dm_exec_sessions
WHERE is_user_process = 1;
There are many columns returned by the sys.dm_exec_sessions DMV that provide
information about each session. Some of the more interesting columns include the
following:
The most common values of the status column are “running,” which indicates that
one or more requests are currently being processed from this session, and “sleeping,”
which means no requests are currently being processed from this session.
11
Chapter 1 Wait Statistics Internals
Requests
A request is the SQL Server execution engine’s representation of a query submitted by a
session. Again, we will use a DMV to query information about a request; in this case, we
query the sys.dm_exec_requests DMV:
SELECT *
FROM sys.dm_exec_requests;
Tasks
Tasks represent the work to be performed by the SQLOS, but tasks do not perform any
work themselves. When a request is received by SQL Server, one or more tasks are
12
Discovering Diverse Content Through
Random Scribd Documents
The Project Gutenberg eBook of A Queen of Nine Days
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.
Contributor: E. C. Kenyon
Language: English
Credits: Al Haines
BY HER GENTLEWOMAN
MARGARET BROWN
BY
EDITH C. KENYON
LONDON
THE RELIGIOUS TRACT SOCIETY
4 BOUVERIE STREET & 65 ST. PAUL'S CHURCHYARD, E.C.
Made and Printed in Great Britain by
Butler & Tanner Ltd.,
Frome and London
CONTENTS
CHAPTER
Prologue
I Leaving Home
II My Champion
IV Better Happenings
VI Papistry or Protestantism
IX Plato
X Queen of England
XI By the River
XX A Trying Experience
Epilogue
PROLOGUE
It has been laid upon me as a very solemn duty by the late Lady Jane
Dudley, or Grey as she is usually called, to whom I owe obedience and
fealty born of love, which is all the more insistent because she is no longer
here to claim it, that I should set forth, in the best language possible to one
of my limited education, the stirring events that my eyes have witnessed
and the true story, as it is known to me, of the short, sad tragedy of her life
and death. And this being so, I will make no excuse for my boldness and
presumption in attempting work which might well be left to learned and
authoritative historians, especially as I remember that my dear lady said to
me, Margery, others may write more learnedly on the matter, but loving
eyes see further and more truly than those of the mere critic, and I would
fain be represented to posterity as I am rather than as I am supposed to be.
And, fear not, child, for though you are weak and humble in your own eyes,
His grace and help are to be had for the asking, Who gives power to the
faint, and to such as have no might increases strength.' For my lady knew
that this is a righteous task which she was setting me—the representation of
truth, as we know it, is always righteous—and to those who do the like His
promises never fail.
MARGARET BROWN.
CHAPTER I
Leaving Home
It was in the month of May, in the year 1553, and I was a young girl,
only seventeen, when my dear father—my mother being dead—astonished
me beyond measure by disclosing the fact that I was to leave my home in
Sussex and proceed to the city of London, there to become gentlewoman to
a lady of high degree.
That was not the sort of life I should have chosen by any means, for my
freedom was as dear to me as to any of God's creatures of earth, or sea, or
sky. Having no mother, and with a most easy-going father and a brace of
madcap young brothers, I had run wild all my life, and could ill brook the
idea of being confined within four walls for the most part of my days,
attired in the fine clothing of a grand lady. What compensations should I
have for such joys as lying for hours on the soft turf of the Downs, looking
up to the blue sky and making out pictures in the white clouds flitting
across it, whilst I listened to the singing of the skylarks, or sitting beneath
an overturned boat on the seashore, hearing the lapping of the waves and
gazing across the Channel, with wondering speculations of the lands
beyond those fair blue waters, or, on the other hand, rowing out upon the
sea with my brothers, or riding with them at breakneck paces over hill and
dale? What would they do without me, little Hal with his endless scrapes
and foolhardy schemes, and Jack with his love of fighting and passionate
essays to assert the manhood latent in him? Notwithstanding my wildness, I
was a softening influence in their lives, for there was in me ever, even then,
the consciousness which is not very far from any of us that there is a Higher
Law than even the sweetest promptings of our own fond wills. I never
talked about it—father used to say, 'Many words show weakness in a
cause'—much less preached to the boys, but I knew it was so and they were
aware I knew it, and that was quite enough. They were good lads, and, as
the serving men and women said, I had them at a word.
'Child,' he said, laying his hand gently on my head, 'listen to me. This
call which has come to you is not of your own seeking, therefore it must be
from Him Who alone was found worthy to hold the Book of Life—the lives
of His people—in His hands. He Who called Rebekah from her water-pot
and David from his sheep, Elisha from his ploughing and the praying
women of Jerusalem to follow Him to the Cross, is surely calling you to do
some special work. It may be lowly in its nature, or it may be great, but
whatever it be, it is surely work that you and no one else can do. Like the
little maid who was carried away into captivity and did great things for her
master Naaman, the Syrian, so, it may be, you, too, may carry help and
healing to some afflicted one amongst those whom the world calls mighty.
And remember,' he added very earnestly, 'remember that you can do nothing
in your own strength, but that with the help of the Holy Spirit, which is
given to those who ask for it, all things will be possible.'
I went away, feeling very solemn and almost more frightened than
encouraged, and it was a relief to my over-charged heart when, as I was
going home with great soberness, I encountered Hal, bareback on his black
pony, tearing along like wildfire, and calling to me to follow, as there was a
ship passing in the Channel, and so I ran after him down to the beach; and
what with one thing and another, I did not give Master Montgomery's words
their full consideration until the time came when, being far away from him,
I found my thoughts recurring to them.
Before I set off to London City there was great to-do amongst the
women servants in making me sufficient garments for a lady's wardrobe,
and it was a wonderful sight to see the things they got together and the way
they wished to dress me. I did not like it very much, for I did not think I
should ever be able to skip and play and ride bareback attired in that
fashion, but my father said I was a child and knew nothing about it, and
they were women and ought to know what they were doing; so we left it all
to them, and I put off the thought of wearing their handiwork as long as
possible.
And the next day, after a troubled leave-taking from all I loved so dearly,
I suffered him to bestow on me his blessing, which he did with many words
of touching kindness, and put me in the litter.
I must confess that I did not perceive very much of the road we went
over during the first part of my journey, owing to a weakness which came
on in my eyes and a sickness and dejection of spirit such as I had never
previously known, and my good maid Betsy proved to be very annoying for
talking over much, which was indeed her wont when excited, and making
doleful laments about the dangers of the way and the roughness of the roads
that, without doubt, somewhat impeded our progress.
But afterwards, after a long while, I felt better and could think less
miserably of my father's tender blessing and of the sudden breakdown and
loud crying of poor Jack and the afflicting disappearance of Hal, who I
knew had hidden himself in order that he might get over the parting in
secret, and the crying of the woman servants we left behind, and solemn
faces of the men and the waving of Master Montgomery's old hat as we
passed the parsonage, so that by the time we neared a neighbouring castle I
could even look admiringly upon it. We stayed that night at Horsham, in a
queer little inn kept by a monstrously fat innkeeper and his exceedingly thin
wife, who at another time would have amused me greatly by her fussiness
and servility.
And the next day we proceeded on our way, passing many strange and
curious places, but meeting with no brigands and no mishap at all until it
chanced that, on the King's highway, we came upon a group of unruly, wild-
looking men and boys, who were dragging a poor old woman, with great
violence, towards a large pond.
'What is the matter? Oh, Betsy, see!' I cried. 'What are those men doing
to that poor old woman? Look! they are dragging her to that pond! Poor
creature! They will hurt her!'
'Mistress, 'tis only a witch!' cried Betsy, who had been told to call me
Mistress now that I was going to be a great lady. 'Suchlike do much harm,'
she continued. 'They sell their souls to the devil for gold; they meet each
other on broomsticks riding through the air, and plot mischief. From such
may we be delivered!' she went on fervently. 'They had better be drowned!'
she concluded.
'No, no. 'Tis cruel! Tell Humphrey to stop.' And I myself called to the
men to stay the horses bearing my litter, and looked out full of sympathy
with the poor old creature. Was there no one to stand up for her, no one to
stay this rough horse-play which was going on? Master Montgomery had
always taught us to treat the aged with reverence, and therefore it seemed
truly shocking to me, as also most alarming.
'But they shall not!' declared I vigorously; 'they shall not! Stop it,
Joseph! Stop it at once!'
'Mistress, I cannot! The men are just mad! Hark at their shouts! They are
wild to do it.'
'They shall not do it!' cried I. 'Tell them, Joseph, that Mistress Margaret
Brown forbids it.'
Joseph and Timothy, the head man, and John, the other lacquey, looked
timidly towards the crowd of excited men and boys who were shouting,
gesticulating and urging on each other to drag along the old woman with
cuffs and kicks.
I got out of my litter and looked round. It was such a beautiful country,
on one side great woods just bursting into leaf, on the other green
meadowland, threaded by a silvery stream and studded here and there with
blossoming hawthorn trees. Nowhere could I see a house, yet some there
must be not far distant, judging from the crowd of men and boys. Alone,
with my few servants, what could I do? Who would have suspected that in
such a lovely place there could be doings so outrageous?
'I must speak to them, Betsy,' I said, and across my mind flashed the
thought that perhaps Master Montgomery was thinking of some such work
as this when he spoke of that to which he believed I was being called.[2]
[2] Young people are usually in haste. They always aim to reach the end
of things at once; they cannot wait.—ED.
'Oh, no, mistress! You must not, indeed you must not interfere!' cried the
terrified woman.
'Hold thy tongue, Betsy,' said I. 'I shall go to them and speak,' and in my
heart I prayed for help where Master Montgomery said it would never be
denied.
'I did not do it, lady! I did not! Saul was the darling of my old age. I
know no more than they where he has gone. I am no witch. Ask the
minister; he knows.'
This and much more cried the poor old dame in quavering tones.
'Have you not heard,' I said, 'of One Who laid His hands upon the sick
and lame and made them whole? Jesus had compassion on the multitude.
He took pity on the infirm. He laid His hands on them and blessed them. He
——'
'He sent the devils into the swine, so that they ran into the sea,'
interposed a man's voice grimly.
'The devils? Yes. But not the man out of whom they were driven. He sat
at Jesus' feet, clothed and in his right mind.'
'True! true!' cried several voices.
It really seemed as if mercy were going to win the day. But at that
moment, with a tremendous noise, a number of men and boys came round a
bend in the road, dragging forward a wretched object whose head was
hidden in a man's jacket.
'And we have another! Ha! ha! ha!' laughed and shrieked the men and
boys beside me.
'Oh, mistress,' said Timothy, who had left his horses that he might have
speech with me. 'Yon is Sir Claudius Crossley, who is said to be your
father's sworn enemy. I pray you make haste and get into the litter before he
recognizes you. Then we will drive away as fast as the horses can take us.'
'Save me! Save me, lady!' cried the old woman, clinging to my feet, as
my hands tried to drag her away.
How could I desert her? It was hard on my servants, but I would not
listen to their advice. For I saw nothing, heard nothing but that pitiful old
woman, with her despairing cries to me to save her, and the menacing
crowd of villains thirsting for her life.
CHAPTER II
My Champion
I began to speak again to the villains, repeating much that I had said
before, with even greater earnestness.
Sir Claudius Crossley stared at me, and listened for a moment or two
with a bewildered air. Then perceiving the drift of my words, he rudely
shouted to me to shut my mouth, and, signing to his men, they caught up
the old woman at my feet and bundled her along to the side of the other
victim, interposing several of their broad backs between me and the poor
old creatures.
The road being now completely blocked by the shouting men and boys,
my servants closed round me and literally carried me back to the litter. In
truth they were themselves of the opinion that the old women were witches,
who had sold themselves to the devil for a term of years, and ought
therefore to be put to death.
I was perforce obliged to sit in my litter, but it could not proceed because
of the crowd which blocked the way. I would not look towards the wretched
scene, but Betsy would not refrain from telling me every detail of what was
taking place with the supposed witches and their enemies.
'Both old women are witches, mistress,' she cried. 'I thought so, and now
I know it; they are ugly as sin. The men are making them confess. The way
they do it is to pull their hair and screw their wrists until they say for what
sum the devil has bought their souls, and for what length of time they have
bound themselves to serve him. No, mistress, Timothy will not allow you to
interfere. He promised Sir Henry that he would take you safely to Sion
House, near London, and he means to do it. Now, mistress, they are tying
the witches' thumbs together—the two of them are being tied together by
the thumbs, I mean—and now they are going to throw them into the water.
If they do not sink, they will know they are witches, and will force them
under; if they sink, they will drown, so there will be an end of them in any
case.'
But I might as well have spoken to the wind, which was beginning to
rise in fitful gusts.
The mob—for by this time the crowd had become a howling mob—was
in no mood to be stayed from proceeding to extremities. A shower of mud
and stones was flung at my litter and its attendants, one of the men-servants
receiving a blow upon the shoulder, which might have put it out of joint,
being most violent.
'Wait till we have drowned the witches, then we will come for you!'
shouted Sir Claudius cruelly.
This was alarming. My servants put their heads together, muttering their
fears. I overheard them saying that they had seen the witch looking hard at
me as she begged for mercy, and that I might be doomed, and what could
three men and a woman do against more than a hundred ruffians?
'Nay. But that is cowardly!' I cried, 'to run away and think only of our
own skins when the weak and old are being murdered!'
'We shall be murdered ourselves in a few more minutes if we stay here,'
muttered the old man. 'Child,' he said, forgetting my new dignity, which
indeed profited me nothing just then, 'it is to save our lives—yours, the
most precious of all. How could I face Sir Henry again if you were killed?'
'Killed! Killed? Are they threatening that? Oh, but, Timothy, we have
never done them any harm.'
'Ay, but you have!' cried the loud, domineering voice of Sir Claudius, as
he thrust himself forward to get between Timothy and me. 'You have tried
to stop our sport!'
'Sport!' cried I, with the most mighty contempt I ever felt in all my life.
'Sport! Call you it sport to torture and kill poor feeble old women?'
Alas, that was, as it were, a signal for hostilities to commence. Men and
boys rushed on us from all sides. My men-servants were seized by
overpowering numbers and hurled to the ground, and I myself was lifted
bodily out of the litter and set on a bank by the roadside, so that all might
see me.
The two old women were drowned now—their murderers thirsted for
more blood, and Sir Claudius, smarting from the treatment he had received
from the hands of my good Joseph, yearned above all things for revenge.
Cries of approval and many alternative suggestions arose from the mob.
The man had not any, but I thought it as well to cry out for what ought to
have been there.
'And you will try to save me, will you not?' I asked, looking at him, with
the vain hope that I should see something which was not there.
'Shall we drown her, Sir Claudius? Shall we drown her, too?' demanded
many voices.
'Help! Help for a lady! Help for Mistress Brown!' shouted the lacquey
Joseph with his loud, stentorian voice. The honest fellow had been bound
hand and foot; he had nothing left but his voice with which to serve me, and
the next moment it was silenced with a blow and a gag; but it had done
good work.
Bullies are cowards all the world over. The men who had drowned old
women and were threatening a defenceless girl with a like fate, took to their
heels with one accord, knocking down each other and falling over each
other in their flight, whilst, alarmed and struck, first on this side and then on
that, my horses set off galloping, and dashed, with the litter, amongst the
crowd, treading down some and crushing others. The damage they did was
appalling. Curses, shouts, groans and screams filled the air on every side.
In a few moments none of the roughs remained near me, and I was
enabled to look up at my deliverer.
'How shall I thank you?' I said gratefully. 'Sir, you have saved my life.'
'I thank God that I came in time,' he said. 'I fear those rascals have
terrified you much.'
'I fear they have hurt my good serving-men,' I said, looking round for
them.
The good knight stood by me, with the kindest eyes it seemed to me that
I had ever seen.
'But look after the others, please,' I said, feeling anxious about Betsy and
John.
The rest of the sentence I could not hear, but it seemed to mightily excite
my brave deliverer.
Joseph was sitting up whilst this was going on, and begging my pardon
for the liberty he had taken in lying down with his head on my lap. At the
same moment John and Betsy declared themselves recovered.
'Lady,' said the knight, ''tis necessary that we hurry on. Say, could you
ride my horse? Or stay, Smith,' turning to one of his men, 'you have a quiet
nag; bring her here for the lady.'
'Is there no hope of recovering my litter?' I asked, adding, 'I am going all
the way to Sion House, near London, where the Duke of Northumberland's
daughter-in-law awaits me.'
'The litter is lost to you,' was the startling answer. 'If we wait here for its
return, or pursue those runaway horses, we shall be lost too. Madam,' the
knight bent his head to speak softly in my ear, 'I will not hide it from you.
These are fearful times for a lady to be travelling alone with so small a
retinue. Lawless men, such as those that have just been routed, might carry
you off where your friends would never hear of you again——'
'Why frighten us?' I interrupted, but had no time to say more, for the
noise of brawling again broke upon my ear.
The knight turned to his men, saying, 'They are coming. They are many,
we are few. We must ride back the way we came, across the fields. Take up
the lady's men and woman.'
And with that he lifted me hastily from the ground, and, placing me upon
his own horse, vaulted lightly into the saddle behind me.
'Hold fast, madam,' he said in my ear. 'Put your arms round my neck; so.
That is it. Now, Sultan, good horse, gallop thy fastest!'
Whinnying low, the horse tore off across the fallow fields, and away we
went like the wind, but I did not know even so much as the name of the
valiant knight to whom I was clinging as for life.
CHAPTER III
I had been carried off in such haste as left me no time to look back and
see if my servants were equally well mounted, and for some time all I could
do was to cling to my cavalier. I felt his heart beating as I did so and his
warm breath fanning my cheeks. Moments seemed hours as they passed.
And now shouts and the sound of pursuing horsemen entering the fields
in full career after us sounded in our ears, and, looking back, we saw a
company of riders as well as foot-runners.
'Hold tight, madam; we take the fence. Hurrah! old Sultan has done it!'
cried my knight, and we were over and speeding across a meadow long
before any one else had reached the fence.
Presently I heard shooting, and, looking back, perceived that my knight's
men, hampered by the wounded servants and unable to leap the fence, were
obliged to turn and fight. This kept back the pursuers and gave us a better
chance of escape.
My cavalier drew rein and looked back across the meadow. Alas, four
horsemen, having separated themselves from the others, had just leaped the
fence and were galloping after us.
Another higher and thicker fence was leaped, not quite so successfully
this time, for poor Sultan was just done and, floundering, caught his hoof in
a long hawthorn branch. Down he fell upon his knees, and I saw stars and
thick darkness.
When I came to myself, I found I was being carried in the strong arms of
the good knight. I said nothing, for indeed what could I say? What he was
doing for me that day I should never forget, never in all my life. But I could
not speak of it.
He looked at me then very kindly, saying, 'No one ever took so much
trouble about me before,' and that seemed to me the most extraordinary
shame that ever was.
'We must hide here a little while,' said my rescuer. 'Perhaps our pursuers
will not come to this side of the trees.'
'I am afraid they will,' returned I, 'if they saw us entering the wood.'
'Then we must hide,' said he. 'Madam, can you get into the cart?'
'Easily,' I answered. 'My name,' I added shyly, for it was awkward for us
not to know each other's names, 'is Margaret Brown.'
'Sir Hubert Blair?' said I thoughtfully, thinking what a very nice name it
was and how well it seemed to suit the man.
'Yes,' answered he with a smile. 'But now, Mistress Brown, please to get
into the cart and lie down. Then I will cover you with the cut grass which
half fills it.'
'Aye, aye.'
He assisted me into the cart and piled the grass over me, even putting a
thin layer of it over my head. Then, perceiving a heap of grass in the corner
of the shed, and, thinking he could conceal himself more quickly in it, he
told me that he was going to do so, beseeching me, whatever happened, to
make no sound, but to lie still where I was hidden.
'You may rely upon me,' I said. 'You, Sir Hubert, are the captain of this
adventure, and I know how to obey.'
Sir Hubert then hid himself as well as he could in the heap of cut grass in
the corner of the shed, and scarcely had he done so when the noise of men
and horses was to be heard outside.
'What's in here?' he said aloud. 'A queer sort of a shed! Better call the
others. But no, it seemeth empty, except for this grass. What have we here?'
'Bad farming to leave so much stuff in a cart!' he went on, poking the
grass a little with his stick, or weapon.
I trembled, and was fearful that my trembling would cause the grass to
move. Indeed, he must have seen something of the sort, for he said in a low
tone, 'Thou needst not fear. As sure as my name is Jack Fish, I will keep the
other men out of this place.'
With that he crossed over to the heap of grass in the corner of the shed,
behind which Sir Hubert was hidden. Then, being of a playful humour, he
began to poke the grass heap gently with his foot, blustering a little as he
did so.
'Hullo!' said he, ''tis strange how men and grass become mixed in these
days! Easy now, don't show thyself! I am a truthful man, and I want to say I
have seen no one. Thou needst not fear.'
'Thanks. You are a good man.'
'I'll get the others away from here directly; I really joined them to
prevent their doing mischief. But do not stir for half an hour or so. Then
keep well to the right and thou wilt regain the high road, and perchance find
thy litter awaiting thee.'
Now Sir Hubert was so delighted to hear this, and so certain that the man
was a friend, that he threw the grass off him and sat up, but was instantly
almost smothered with the quantity of green stuff the other immediately
threw over him.
The next instant another voice at the door inquired: 'Is any one hidden
here, Jack Fish?'
'Well, there is no place to hide in here, unless it be the cart. Have you
looked into that grass on it?'
'Aye, aye. I've poked about it rarely, but nothing bigger than a mouse ran
out of it.'
'Well, come on then, if there is nothing here,' cried the other impatiently.
They left the shed, Jack Fish lingering a moment to close the door and to
say noisily to those within and those without, 'All right! All right!'
We were still for the next ten minutes, which seemed an age; then Sir
Hubert said:
'He was a good old fellow yon, and I liked his hint about your litter. It
will be a fine thing indeed if we can find it on the high road when we get
there.'
'Yes indeed,' I said, 'and my servants too, which last is a matter of more
importance, for they are very dear to me.'
I had raised my head out of the grass, and was sitting up.
'Do you think I can get out of the cart now?' I asked.
'Not yet. Wait a little longer where you are. I will look round outside;'
and shaking off the grass sticking to him on all sides, Sir Hubert proceeded
to the door, at which he listened cautiously before attempting to open it.
The next moment he stepped back quickly to his place in the corner,
saying, 'Some one is coming.'
An old man entered, with a large two-pronged hay fork in his hand.
Approaching it, he was about to plunge his fork into the grass, when Sir
Hubert sprang up, caught hold of the tool and wrenched it from his grasp.
'Your pardon, master,' said the knight hastily to the man. 'But I have
placed something in your cart which you might unwittingly have damaged
had you plunged your fork into it.'
'Cannot a man do as he likes in his own shed?' cried the old countryman.
'And who art thou,' he demanded, 'and what business hast thou here?'