Faits :
A.
A._ a été engagé par U._ SA (qui deviendra B._ SA en décembre 2014) en qualité de "Technico-Commercial" dès le 1er septembre 2010. En 2014, son salaire mensuel brut se montait à 8'100 fr., versé treize fois l'an.
A l'époque où A._ a commencé de travailler pour la société, son père en était le directeur et l'est demeuré jusqu'au 1er novembre 2014, date de son départ à la retraite.
D'après les comptes audités de la société, une perte nette de 465'625 fr.69 a été enregistrée en 2013.
Afin de réduire ses charges, l'employeuse a pris des mesures de restructuration. Au total, dix-huit personnes ont quitté la société depuis le 1er janvier 2014, représentant près de la moitié de ses collaborateurs.
A._ a été licencié le 15 août 2014, avec effet au 31 octobre suivant. Son épouse a également été remerciée le 19 août 2014 pour le même terme. Quant au père de l'employé, il a été décidé, d'entente avec l'employeuse, qu'il serait mis à la retraite à compter du 1er novembre 2014, date à laquelle il en atteindrait l'âge légal, et qu'il serait libéré de son obligation de travailler depuis le 15 août 2014.
Le poste de A._ a été assigné à un autre collaborateur de la société, lequel y consacre le 40 % de son temps de travail.
A la requête de l'employé, l'employeuse lui a fait connaître les motifs de son licenciement: il s'agissait pour elle de réorganiser la maison U._ SA. D u fait de sa situation économique, la direction d'entreprise avait décidé d'ajuster les structures et de supprimer le poste de A._.
Par courrier du 30 octobre 2014, l'employé a fait opposition au congé. Dans sa réponse du 2 février 2015, l'employeuse a confirmé ce qu'elle lui avait indiqué précédemment, à savoir qu'en raison de la situation économique, la direction de l'entreprise avait décidé d'ajuster les structures et de supprimer son poste, cette mesure étant à son sens incontournable.
En 2014, la société a enregistré une perte nette de 794'786 fr.09. Elle a renoué avec les bénéfices en 2015.
B.
A la suite de l'échec de la conciliation, A._ a déposé, en date du 2 septembre 2015, une demande à l'encontre de B._ SA, concluant à ce que la défenderesse soit reconnue sa débitrice et lui doive immédiat paiement de la somme de 49'179 fr.25 à titre d'indemnité pour licenciement abusif. L'employeuse a conclu au rejet de la demande.
Par jugement du 17 avril 2018, le Tribunal civil de l'arrondissement de Lausanne a rejeté la demande. En substance, les premiers juges ont retenu que la résiliation du contrat de travail n'avait pas de caractère abusif, le motif avancé par l'employeuse - à savoir des difficultés économiques - étant réel.
Par arrêt du 9 avril 2019, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par A._. Les motifs qui sous-tendent cette décision seront évoqués ci-après, dans la mesure utile.
C.
A._ interjette un recours en matière civile. Il conclut principalement à la réforme de l'arrêt cantonal, en ce sens que B._ SA est condamnée à lui verser la somme de 49'179 fr.25, à titre d'indemnité pour licenciement abusif.
Une réponse au recours n'a pas été sollicitée.

Considérant en droit :
1.
L'arrêt attaqué est une décision finale (<ref-law>) rendue en matière civile (<ref-law>) par le tribunal supérieur désigné comme autorité cantonale de dernière instance, lequel a statué sur recours (<ref-law>). La cause atteint la valeur litigieuse minimale de 15'000 fr. ouvrant le recours en matière civile dans les affaires relevant du droit du travail (<ref-law>). Le recours a été déposé dans le délai (art. 46 al. 1 let. a et art. 100 al. 1 LTF) et la forme (<ref-law>) prévus par la loi. Il est en principe recevable, sous réserve de l'examen des griefs particuliers.
2.
2.1. Le recours en matière civile peut être exercé pour violation du droit fédéral (<ref-law>), y compris le droit constitutionnel (<ref-ruling> consid. 2.1 p. 247; <ref-ruling> consid. 2.4 p. 313). Le Tribunal fédéral applique le droit d'office (<ref-law>). Compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, sous peine d'irrecevabilité (<ref-law>), le Tribunal fédéral n'examine en principe que les griefs invoqués, sauf en cas d'erreurs juridiques manifestes. Il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, lorsque celles-ci ne sont plus discutées devant lui (<ref-ruling> consid. 2, 115 consid. 2; <ref-ruling> consid. 1.3). Par exception à la règle selon laquelle il applique le droit d'office, il n'examine la violation d'un droit constitutionnel que si le grief a été invoqué et motivé de façon détaillée (<ref-law>; <ref-ruling> consid. 2.3; <ref-ruling> consid. 1.3; <ref-ruling> consid. 1.4 in fine).
2.2.
2.2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'<ref-law> (<ref-law>). «Manifestement inexactes» signifie ici «arbitraires» (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>). La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'<ref-law> (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit ainsi expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>).
2.2.2. L'appréciation des preuves est entachée d'arbitraire lorsque le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables. L'arbitraire ne résulte pas du seul fait qu'une autre solution serait concevable, voire préférable (<ref-ruling> consid. 2.3 p. 266; <ref-ruling> consid. 4.2).
3.
Il est constant que les parties ont été liées par un contrat de travail, lequel a été résilié par l'intimée avec effet au 31 octobre 2014. Le litige porte sur le caractère prétendument abusif du licenciement.
3.1. Les juges précédents ont établi, en fait, que l'employeuse avait bien été guidée par des motifs économiques, comme elle l'avait allégué. Les comptes audités de la société présentaient un déficit tant en 2013 qu'en 2014. De plus, le poste de l'employé avait été repourvu à l'interne et ce seulement à un taux de 40%. La thèse soutenue par l'employé selon laquelle il serait, ainsi que sa famille, victime d'une "cabale" n'emportait pas la conviction: il n'avait pas été le seul à être victime de la restructuration; dix-huit personnes au total avaient quitté l'entreprise à la même période. L'autorité précédente en conclut que le licenciement n'est pas abusif.
3.2. Le recourant élève deux griefs à l'encontre de l'arrêt attaqué. Il reproche tout d'abord aux juges vaudois d'avoir basé leur raisonnement sur des faits inexacts. Il se plaint ensuite d'une violation de l'<ref-law>.
4.
Le recourant dénonce une constatation inexacte des faits pertinents. Il relève que son père n'aurait jamais été administrateur de la société et qu'un autre employé, C._, n'aurait pas réalisé de meilleure performance que lui. L'employé se fonde sur le fait que ses propres résultats auraient été calculés sur douze mois alors qu'ils auraient dû être rapportés à six mois, en raison de la résiliation de son contrat de travail. Il considère également que les chiffres sur lesquels se sont basés les juges cantonaux ne correspondent pas à la réalité économique de l'entreprise, le témoignage de D._ les infirmant clairement à son avis. Il sollicite à cet égard que l'état de fait soit complété, en ce sens que l'intégralité du témoignage de D._ soit retranscrit. A l'en croire, ces déclarations constituaient un bilan intermédiaire, sous forme de résultat bénéficiaire mensuel, qui auraient dû être intégrées dans la décision.
4.1. Le recourant oublie que la cour de céans n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. À moins que les faits n'aient été établis de manière manifestement inexacte, c'est-à-dire arbitraire, le Tribunal fédéral ne revoit pas les faits constatés par la cour cantonale. Or, en l'espèce, par l'énumération de faits soi-disant méconnus de l'autorité précédente, l'employé ne satisfait pas aux exigences de motivation rappelées plus haut (consid. 2.2.1 supra). En effet, on ne voit guère en quoi le fait que son père ait été ou non administrateur de l'intimée est déterminant dans le présent contexte. S'agissant des déclarations de D._, ancien employé de la société, le recourant se contente d'exposer sa propre version des faits et semble simplement reprocher à la cour cantonale de ne pas avoir pris en considération les assertions de ce témoin. Or, aucun reproche ne saurait être fait aux juges précédents, dès lors que, dans le cadre de l'appréciation des preuves, ils ont estimé que les résultats de la société ressortant des comptes audités étaient suffisamment probants. Enfin, il est rappelé que le juge ne tombe pas dans l'arbitraire s'il passe sous silence des faits qui, sans violation du droit, lui paraissent non pertinents ou non déterminants ou qui, de manière soutenable, lui semblent sans pertinence dans l'appréciation des preuves (BERNARD CORBOZ, IN Commentaire de la LTF, 2e éd. 2014, n° 37 ad <ref-law> p. 1121). Il s'ensuit que le grief d'arbitraire quant à ces faits est irrecevable.
4.2. Lorsqu'il fait ensuite valoir qu'il était suffisant d'apporter la preuve par témoins des faits qu'il allègue, le recourant oublie qu'il s'agit pour le juge d'apprécier les preuves à sa disposition. Or, on ne voit pas en quoi, sur le vu des éléments relevés par les juges cantonaux, le fait d'écarter lesdits témoignages serait arbitraire. En effet, la cour cantonale a notamment pris en considération les relations entre les parties, soit, d'une part, le fait que E._ est le père de l'employé et, d'autre part, le fort sentiment de solidarité de D._, lequel considérait que le recourant était "de loin [le] meilleur vendeur" de l'entreprise quand bien même les chiffres ont démontré que tel n'était pas le cas. Les juges précédents ont également relevé qu'il n'y avait aucun fait concret qui appuyait les déclarations des témoins. Enfin, ils ont soulevé divers indices figurant au dossier qui discréditaient les déclarations du père de l'employé ainsi que celles de D._. Il s'agissait notamment des comptes audités de la société ou du fait que, malgré leurs allégations, les témoins n'ont eu aucune perception directe du licenciement de l'employé. Il s'agit d'autant d'éléments dont la cour cantonale pouvait déduire, sans arbitraire, qu'ils s'opposaient à la prise en compte des témoignages ou qu'ils n'en permettaient la prise en compte qu'avec retenue.
5.
Dans un second grief, l'employé invoque une violation de l'<ref-law>. Il considère que le motif économique du congé allégué n'est pas avéré et que le motif réel est abusif.
5.1. L'argument de la violation du droit repose en réalité sur une version des faits différente de celle qui a été retenue par la cour cantonale et qui, comme cela ressort du considérant 4 ci-dessus, lie le Tribunal fédéral, faute d'arbitraire. Privé de tout fondement, le grief de violation de l'<ref-law> ne peut qu'être écarté (cf. au demeurant, sur la notion de congé abusif notamment: <ref-ruling> consid. 2 p. 116 ss; arrêt 4A_333/2018 du 4 septembre 2018 consid. 3.3.1; sur l'admissibilité du motif économique: <ref-ruling> consid. 6 p. 361 ss; <ref-ruling> consid. 6.2 p. 514; arrêts 4A_656/2016 du 1er septembre 2017 consid. 3.2; 4A_555/2011 du 23 février 2012 consid. 2.3.3).
5.2. Au surplus, les derniers éléments factuels invoqués par l'employé ne remplissent pas les strictes exigences de motivation du recours (cf. consid. 2.2.1 supra) en lien avec l'invocation de l'arbitraire. Le recourant se contente en effet de présenter sa propre version des faits et en déduit que celle des juges cantonaux, divergente, serait arbitraire. Il en résulte l'irrecevabilité du grief.
6.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure de sa recevabilité, aux frais de son auteur (<ref-law>). Aucune indemnité de dépens ne sera octroyée à l'intimée, laquelle n'a pas été invitée à se déterminer sur le recours.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'500 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 30 octobre 2019
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann