サポート » 使い方全般 » wordpressの記事検索は、どの程度の量に対して適当な速度で処理できますか?

  • reiwa

    (@reiwa)


    ユーザー間でメッセージを送れるようにしました。
    カスタム投稿タイプ「message」です。

    気になることがあります。

    1000人が1000件送ったら100万件の「message」が投稿されますが、
    受信メッセージ一覧を表示する場合、100万件の中から該当の「message」を探すことになりますけど、これは速度的にどうなのでしょうか?

    現在は普通にカスタムフィールドに受信者IDと送信者IDを入れて、その値で受信メッセージ一覧を取得するという方法です。
    もしこの方法がまずいようでしたら、良い方法などを教えて頂けませんでしょうか。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • CG

    (@du-bist-der-lenz)

    試験することで結果として出ることでしょうね。

    トピック投稿者 reiwa

    (@reiwa)

    ご回答どうもありがとうございます。

    CG

    (@du-bist-der-lenz)

    同時に100万件のメッセージを処理できるスペックでしたら、指定情報を検索して一覧の取得も問題ないでしょう。WordPressの仕組み上ではどうかということでしたら、限界が有るのか是非報告をまとめてください。なにぶん利用しているサーバーなど、情報が明示されてないので検討つけようが有りません。

    トピック投稿者 reiwa

    (@reiwa)

    どうもありがとうございます。wordpressうんぬんではなくて、サーバーに依存するんですね。エックスサーバーというサーバーですが、いかが思われますか?

    CG

    (@du-bist-der-lenz)

    エックスサーバーは、WordPressの動作条件は十分ですが、動くということで、契約プランを検討して、期待する処理をできるタイプを選ぶことになります。サーバーの稼働率となると、WordPressの話から離れますね。

    トピック投稿者 reiwa

    (@reiwa)

    ご回答してくれてありがとうございました。

    munyagu

    (@munyagu)

    こんにちは

    データが100万件になることが想定されるということでしょうか?

    個人的にはパフォーマンスが低下して、「ちょっと使えない・・・」と感じる懸念があるんじゃないだろうかと思います。
    しかしサーバーのパフォーマンスに依存するので、XSERVER でどうなのか、ということについては誰も回答を持ち合わせていないと思います。
    また、メッセージお送り合うような用途に WordPress はあんまり向いていないんじゃないのかな、とも思います。

    パフォーマンスが低下してきたら、AMIMOTOKUSANAGI等の、 WordPress 向けにパフォーマンスチューニングされた環境への移転を検討されたらどうでしょうか。
    (これらであれば十分なパフォーマンスを得られると言っているわけではありません)

    その頃には膨大なデータ量になっていて、移転も大変かもしれませんが・・・

    トピック投稿者 reiwa

    (@reiwa)

    @munyagu

    こんにちは。丁寧にご回答いただきありがとうございます。
    AMIMOTOやKUSANAGIというのがあるのですね。大変参考になります。感謝です。

    あれから考えたのですが、「1つのメッセージを1つの記事にする」のではなく、「1つのスレッド(2人の送受信のすべて)を1つの記事にし、そのpost_metaに配列でメッセージを入れる」というのはいかがでしょうか?

    たとえば2人のやりとりは、記事ID777のpost_metaに次のように記録されます。

    こちらは10さんが送り20さんが受信し、翌日は20さんが返信した。という記録です。
    何件返信されても記事ID777のpost_metaの配列になります。

    array(
    
        [0]=>
        array(
            thread_id   => '777',
            sender_id   => '10',
            receiver_id => '20',
            post_date   => '2019.04.19',
            message     => '元気ですか?',
        ),
        
        [1]=>
        array(
            thread_id   => '777',
            sender_id   => '20',
            receiver_id => '10',
            post_date   => '2019.04.20',
            message     => '元気だよー。',
        ),
    
    );

    このような配列を1つの記事のpost_metaに入れれば、1000人が1000件送っても、記事数は10万件どころか500件で済む(2人の送受信がすべて1つの記事になる)、データが少なくて済むのかなと思ったのですが…。

    もっとも、記事数が500件になるかわりに、1つの記事のpost_metaの配列が膨大になるわけですけど…。

    munyagu

    (@munyagu)

    メッセージの件数がデータ件数に依存する場合は、(ディスク容量パフォーマンスの問題は別として)メッセージ数に制限がありません。

    しかし、1つの post_meta にすると、フィールドサイズやデータベースの一度に送受信できるパケットサイズ、設計によっては最大 post サイズなどの制限が生じます。

    システム特性が分からないので、そのような制限があっても問題ないのかどうか分かりません。

    トピック投稿者 reiwa

    (@reiwa)

    @munyagu

    悩ましいですね。ご回答ありがとうございました。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「wordpressの記事検索は、どの程度の量に対して適当な速度で処理できますか?」には新たに返信することはできません。