Couldn’t resist a bit of Photoshopping this morning.
As the world moves rapidly in the direction of electric propulsion, there is one big challenge, irrelevant to the majority of car-buyers but a serious concern for a significant subset of us: what are these EVs like when used for towing?
This has been more in my mind recently as we have just purchased a small boat — more on that later, once we’ve finished sanding and varnishing! But when you add up the people who tow caravans, horses, motorbikes, classic cars, trailer-tents, ride-on lawn-mowers etc, there’s quite a population for whom this is a real issue.
I haven’t yet done much towing, but one of the key factors that made us choose the Tesla Model 3 at our last car-change was the fact that it could take both a roof-rack and a tow bar; something that, at the time, was really quite rare on EVs.
There are, of course, two key questions most people want to ask: how much can a given EV tow, and how far can it tow it?
EVs ought, in general, to have very good towing capacities because of their enormous torque, and the fact that they’re quite heavy. (Experts suggest that, in general, it’s best only to tow things up to 85% of the car’s weight, and the EV batteries give you a bit more leeway!) EVs also, of course, lack things like a clutch and gearbox, components which, in days gone by, tended to suffer a bit from towing.
But towing hasn’t, thus far, been a priority for most EV manufacturers, which means that these powerful, heavy cars are often not actually built with it in mind, and so are not rated to tow loads as substantial as one might expect. (There are also probably challenges in getting things like the regenerative braking right for both braked and unbraked trailers.) My Model 3, for example, weighs quite a bit more than a VW Golf and has infinitely more power, yet its rated towing capacity of 1000kg seems a bit weedy compared to the Golf’s 1500kg or so. The Model Y, just starting to make its way to these shores, has a more respectable 1600kg rating, and the Hyundai Ioniq 5, which has been getting a lot of positive reviews recently, has the same.
An enterprising campsite owner, Chris Scott, has put together a useful list showing the towing capacities of most current EVs. While none of those available at present in the UK will compete with a Land Rover, there are nonetheless quite a few to choose from if you want to tow most normal loads, and if you have the (rather significant) budget for a Tesla Model X, you can pull a similarly significant weight!
Yes, as always, this is the elephant in the trailer.
Here’s a quick rule of thumb when you hang something on your tow bar: take the real-world range of an EV, and halve it. That, of course, is a wild generalisation, but it’s often quoted, and tied in with my first experience towing a trailer on the Model 3.
“What?!”, you say. “You’ve been trying to tell me that EVs are good when they can only do 300 miles compared to my car’s 400! And now you stick a poxy little trailer on the back and tell me it’ll only do 150?” This number doesn’t phase me; before the Tesla I was driving an EV which had a range of about 70 miles without a trailer, and we went all over the country in it. But yes, that’s right. You’ll probably have to stop every two or three hours. But you should really do this for safety whenever you’re driving, and just how big is your bladder anyway?
The thing is that EVs are often very dependent on their aerodynamics for their range, especially Teslas, which are normally exceedingly slippery. Spoil the airflow with a big roofbox or a chunky trailer and it will have a very significant impact.
But here’s the important thing: this is nothing to do with the power source. If you had the same car with the same aerodynamics but with a petrol engine, the drag would still change to the same degree and the effect on the range would be similarly drastic. You just don’t think about it as much with traditional cars: in EVs, it’s typically higher up in your consciousness. Few people really check the range of their petrol car when towing for several hours on the motorway.
Having said all of that, my experience in towing our little boat from her former home in Dorset to Cambridge, 165 miles away, was quite encouraging. First, it towed beautifully; the gear-less acceleration and single-pedal driving made for a very nice experience. And secondly, the loss of range, though significant, wasn’t as bad as I’d feared.
Tesla likes to use measure consumption in watt-hours per mile (analogous to the European litres-per-100km), so bigger numbers mean more energy used. By setting the cruise control to 60mph — the maximum towing speed in the UK — my average consumption was 400 Wh/mile, compared to my normal 285 Wh/mile or so — and, because it was fairly late at night, I was able to maintain that speed most of the way home. If I’d had to go slower, the consumption would have been lower.
Or, to use the miles-per-gallon analogy adopted by most other manufacturers, I went from about 3.5 miles/kWh to about 2.5 miles/kWh. A big difference, yes, but much better than half. That would give me a real range of around 180 miles. If I had started the three-and-a-half-hour journey with a full battery, I could have made it home without having to stop for a charge. And this was night-time in February, with the associated winter inefficiencies of lower battery temperatures, headlights, and needing to keep the driver cozy and warm while he listened to his audiobooks…
For those of us who remember the pioneering early days of EVs — i.e. just a few years ago — today’s charging stations can be a source of wonder. If you manage to park a modern car with a nearly empty battery at a new super-rapid charger, then the rate at which you top up can be astonishing.
Once again, Tesla owners are a bit spoiled here: my old BMW would charge at a maximum rate of 50kW, rapidly dropping off as it filled up its little battery. That meant that the peak rate got you about 3 miles for every minute you spent charging, and you had plenty of time to take the dog for a stroll or even have a quick meal before driving for the next hour.
The newer Tesla superchargers can manage up to 250kW, if your battery is warm and empty, and because of the size of the battery and some clever management, can maintain a high rate of charge for much longer. Popping to the loo and then picking up a coffee or a quick snack is time enough to add vast amounts of charge before you set off again.
But, in either case, this does take longer than filling up with dinosaur juice, and the result is that most charging stations, at least in the UK, are designed more like a car-park than like a ‘drive-thru’. There are some notable exceptions, like the Electric Forecourt at Braintree, which I visited when it first opened a little over a year ago. If you haven’t seen it, here’s a section from my video at the time:
At most charging stations, though, you’re expected to sit there for a while, so you pull into a parking space. And, in the case of Teslas, the charging sockets are all at the back, so you’re expected to reverse into that parking space in order to connect the very short, very high-power cable.
This is clearly not ideal if you’re towing. For a light trailer like my boat, it’s the work of a moment to unhitch it and put it in a nearby parking space, but it would be more challenging with a bigger load.
So can I make two appeals?
The first is to the installers of charging stations — you lovely people — to consider including one or two stations suitable for people with caravans attached? And to put a sign asking those who don’t need them to make use of the other ones first?
And the second is to the creators of charging-point maps, to include data about whether a charging station is trailer-friendly, and to allow searching on that basis. It would be fabulous to be able to plot your course across the country, stopping to charge only at places where you didn’t need to unhitch.
In the meantime, occasionally you can find charming and quiet charging points, like this one near Winchester, where there’s plenty of space for eccentric parking arrangements!
Samson had his long hair, Asterix and Obelix their magic potion, but for today’s man-about-town wishing to increase his muscular prowess, I discover that this small and convenient tube of ‘Strength Gel’ is readily available from most pharmacies!
It’s surprising, because Anbesol is a name I knew from my youth. A treatment for mouth ulcers and similar dental complaints, it was packaged as a very small vial of liquid. Well, the strength gel, it turns out, can also be used for this antiseptic and anaesthetic purpose, and, indeed, has such a powerful calming and numbing effect that I’m surprised Simon and Garfunkel didn’t write a song about it.
As to why it might be Adult strength gel, though, I can only leave to your imagination. The packaging is very uninformative about any use in more intimate situations, but I would suggest any experimental applications be done very, very cautiously.
This is a very geeky post for those who might be Googling for particular details of Linux containerisation technologies. Others please feel free ignore! We were searching for this information online today and couldn’t find it, so I thought I’d post it myself for the benefit of future travellers…
In your Dockerfile, you can specify a HEALTHCHECK: a command that will be run periodically within the container to ascertain whether it seems to be basically happy.
A typical example for a container running a web server might try and retrieve the front page with
curl, and exit with an error code if that fails. Something like this, perhaps:
HEALTHCHECK CMD /usr/bin/curl --fail http://localhost/ || exit 1
This will be called periodically by the Docker engine — every 30 seconds, by default — and if you look at your running containers, you can see whether the healthcheck is passing in the ‘STATUS’ field:
$ docker ps CONTAINER ID IMAGE CREATED STATUS NAMES c9098f4d1933 website:latest 34 minutes ago Up 33 minutes (healthy) website_1
Now, you can configure this healthcheck in various ways and examine its state through the command line and other Docker utilities and APIs, but I had always thought that it wasn’t actually used for anything by Docker. But I was wrong.
If you are using Docker Swarm (which, in my opinion, not enough people do), then the swarm ensures that an instance of your container keeps running in order to provide your ‘service’. Or it may run several instances, if you’ve told the swarm to create more than one replica. If a container dies, it will be restarted, to ensure that the required number of replicas exist.
But a container doesn’t have to die in order to undergo this reincarnation. If it has a healthcheck and the healthcheck fails repeatedly, a container will be killed off and restarted by the swarm. This is a good thing, and just how it ought to work. But it’s remarkably hard to find any documentation which specifies this, and you can find disagreement on the web as to whether this actually happens, partly, I expect, because it doesn’t happen if you’re just running
But my colleague Nicholas and I saw some of our containers dying unexpectedly, wondered if this might be the issue, and decided to test it, as follows…
First, we needed a minimal container where we could easily change the healthcheck status. Here’s our Dockerfile:
FROM bash RUN echo hi > /tmp/t HEALTHCHECK CMD test -f /tmp/t CMD bash -c "sleep 5h"
and we built our container with
docker build -t swarmtest .
When you start up this exciting container, it just goes to sleep for five hours. But it contains a little file called
/tmp/t, and as long as that file exists, the healthcheck will be happy. If you then use
docker exec to go into the running container and delete that file, its state will eventually change to unhealthy.
If you’re trying this, you need to be a little bit patient. By default, the check runs every 30 seconds, starting 30s after the container is launched. Then you go in and delete the file, and after the healthcheck has failed three times, it will be marked as unhealthy. If you don’t want to wait that long, there are some extra options you can add to the HEALTHCHECK line to speed things up.
OK, so let’s create a
docker-compose.yml file to make use of this. It’s about as small as you can get:
version: '3.8' services: swarmtest: image: swarmtest
You can run this using docker-compose (or, now, without the hyphen):
docker compose up
or as a swarm stack using:
docker stack deploy -c docker-compose.yml swarmtest
(You don’t need some big infrastructure to use Docker Swarm; that’s one of its joys. It can manage large numbers of machines, but if you’re using Docker Desktop, for example, you can just run
docker swarm init to enable Swarm on your local laptop.)
In either case, you can then use
docker ps to find the container’s ID and start the healthcheck failing with
docker exec CONTAINER_ID rm /tmp/t
And so here’s a key difference between running something under
docker compose and running it with
docker stack deploy. With the former, after a couple of minutes, you’ll see the container change to ‘(unhealthy)’, but it will continue to run. The healthcheck is mostly just an extra bit of decoration; possibly useful, but it can be ignored.
With Docker Swarm, however, you’ll see the container marked as unhealthy, and shortly afterwards it will be killed off and restarted. So, yes, healthchecks are important if you’re running Docker Swarm, and if your container has been built to include one and, for some reason you don’t want to use it, you need to disable it explicitly in the YAML file if you don’t want your containers to be restarted every couple of minutes.
Finally, if you have a service that takes a long time to start up (perhaps because it’s doing a data migration), you may want to configure the ‘start period’ of the healthcheck, so that it stays in ‘starting’ mode for longer and doesn’t drop into ‘unhealthy’, where it might be killed off before finishing.
© Copyright Quentin Stafford-Fraser