LANの速度が遅い

RM64でKAEDEのライブラリーを使用して、Ethernetサーバを作っています。(TCP/IP)

サーバーから画像データ(150KB)を送るのですが、1秒間に10数回しか送れません。

20から30回ぐらい送りたいのですが、何か方法はないでしょうか?

下記のように送っています。

1.接続確認

    client = server.available();
    if (client) {   //

2.送信

     client.write((uint8_t*)&m_respHead,sizeof(m_respHead));

  • 1.接続確認 と 2.送信 のどちらに時間が掛かるかを確認し、1.に時間が掛かるようであれば画像データをいくつかまとめて送信するようにして回数を減らせれば良いかもしれません。
    2.に時間が掛かるようであれば
    ・送信する画像のフォーマット見直し
    ・ライブラリ内容の見直し
    等が有効と思います。
  • GR-KAEDE は何でかの理由で(忘れた) web コンパイラでのコンパイルオプションに最適化指定をしておらずかなりダサいことになってた気がするので、この辺りを解決すればパフォーマンスは上がるのでは。
  • > RM64でKAEDEのライブラリーを使用して、

    ああ、GR-KAEDE を使われてるんではないんですか? じゃあなんでも自由に弄り放題ですね。
  • 仮に1秒間に10回送信したとして、150kByte×10×8(bit)だと12Mbpsですね。遅いですか?
    これを3倍にすると36Mbpsですが、100M Ethernetで出せる数字でしょうか?
  • @chobichan様 wrote: said:
    仮に1秒間に10回送信したとして、150kByte×10×8(bit)だと12Mbpsですね。遅いですか?
    これを3倍にすると36Mbpsですが、100M Ethernetで出せる数字でしょうか? 引用終わり

    以前、シェルティ様の投稿で『RX62N@100MHz では30Mbps程度確認』というのを見掛けたことがあります。ですので、出せない数字では無い様な気がします。RX62Nなので100M Ethernetだと思います。(個人的には、シェルティ様のEthernetに関する投稿は『シェルティ様』というタグで検索出来るようになっていて欲しいぐらいです。) (ひょっとして、投稿者名での検索が出来たりするかな、、、)

    http://japan.renesasrulz.com/cafe_rene/f/forum15/2089/uip-tcp-ip/8941#8941

  • ああ、RX62Nでは30Mbps出せているんですか?しかしどうやって出せたとか、試験環境とかさっぱり判らずですね。
    他にもネットワーク機器が存在していた場合、一つの機器が30%も帯域を占有する事を期待できるのだろうか?1対1で接続?
    本当にボトルネックはプロトコル?

    スレ主さんはTCPでやったのか?UDPでやったのか?どっちなのでしょう?
    TCPでやった場合、転送速度はベストエフォートじゃないでしょうか?相手先が有る事だし。

    リンク先には遅延ACKの事が書かれていますが、遅延ACKの定義って何かありましたっけ?2回パケットを受信したらACKを送信しなければならないとか?
  • そういうことを、出来れば時々シェルティ様にも意見を伺いながら、これから技術的に客観的に冷静に(たまに間違えたり勘違いしたりしながら)情報交換していって落とし所を見付ければ良いのでしょうね。

    @chobichan様wrote: said:
    ああ、RX62Nでは30Mbps出せているんですか?しかしどうやって出せたとか、試験環境とかさっぱり判らずですね。
    他にもネットワーク機器が存在していた場合、一つの機器が30%も帯域を占有する事を期待できるのだろうか?1対1で接続?
    本当にボトルネックはプロトコル?

    スレ主さんはTCPでやったのか?UDPでやったのか?どっちなのでしょう?
    TCPでやった場合、転送速度はベストエフォートじゃないでしょうか?相手先が有る事だし。

    リンク先には遅延ACKの事が書かれていますが、遅延ACKの定義って何かありましたっけ?2回パケットを受信したらACKを送信しなければならないとか? 引用終わり
  • fujitaさん、アドバイスありがとうございます。参考にさせていただきます。
  • ありがとうございます。ちょっと何とも言えないところですね。。。
  • NoMaYさん、参考になる投稿を教えていただきありがとうございました。