ogochan
先日、ヘッドレスCMSを作ってみた話を書きました。
いろいろ忙しくて作業できませんでしたが、さっき移行させました。
アセットを流用しているので、ほとんどのページで見た目は1ピクセルも変わってないはずですが、通信ログを見るとヘッドレスだなって感じがします。
先日のエントリでいろんなことを書いているので、内容については特にありません。
動かしてみたら、結構レスポンスが良くて、スタティックなページに関しては、HTML直書きと同等のレスポンスです。まぁスタティックページに関しては、サーバサイドでHTML部品を組み立てて表示しているだけなので、HTML直書きと大差ないのは当然かも知れません。
ダイナミックなページ、要するにブログですが、ここは通信量増えたにも関わらずレスポンスが良いです。サーバでは直接データベースをアクセスしてないこと(APIの方になる)でページが見えるまでの時間が短縮されたせいかなと思います。
CMS移行のついでに、サーバをRaspberyPi(4)からOrangePi5にしました。これでサーバが軽くなったこともあるかも知れません。APIサーバは元々OrangePi5です。
まぁレスポンスが良くなった理由は探せばいろいろあるので、それらが複合した結果なのでしょう。
気になっていたバグもfixできたので良かったです。
SNSシェアのためのボタンは消してあります。Twitterがあんな感じになってしまったし、「クリップボードにコピー」はSvelteの中でちゃんと動かすことが出来なかった(調べると理由と闇がわかると思います)ので、まぁいいかと思って動かしていません。まぁこの機能は元々mayumiはやめようとしていたものなので、いい機会かなと。
「オマケ」でつけたNapierのウェブサーバですが、かなり有用に使えますね(自画自賛)。
PS.
いろいろ調子が悪くて、アクセス数が落ち気味だったのですが、どうやらNapier-NETでメモリ不足が起きていたようで、プロキシのコネクションプールが枯渇してしまっていたようです。当初はバグとかメモリリークばかりを気にしていたのですが、AWSのメモリ増やしたらあっさり安定してしまいました。それより、AWSのインスタンスの選択を間違えていて、ちょっとショックでした。
PS2.
何かの転みでアクセス異常が起きたりしていてこれもよくわからなかったのですが、どうやらNapierの問題で、原因はlocalhost
にあったようです。IPv6が混在していると、この辺が厄介ですね。ローカルのインターフェイスを直接ポイントさせるもので間違いがないのはlocalhost
だと思っていたのですが、IPv6が絡むとそうとも言えないようですね。内蔵ウェブサーバは何とか出来るにしても、他につなぐのが主なわけで、この辺設定項目にしてしまえば確実なんでしょうけど、わからない人にとっては「謎パラメータ」にしかならないのでどうしたものか。
結局、今のところはIPv6はここでは邪魔にしかならないので、kernelレベルで止めてしまって解決しました。