При тестуванні ви завжди повинні встановлювати, які ваші межі. Тому що якщо ви розраховуєте отримати 100 Мбіт з цього лан, тоді ви лише обманюєте себе!
Подивіться на цю конструкцію блоку RaspberryPI Model-B
Тож ми встановлюємо тут дуже важливий факт. Ethernet є вузьким місцем через USB-контролер, оскільки форма блокової діаграми, яку ми встановлюємо, підключена до USB концентратора. (Немає чітких ознак, чи використовується інша шина або просто USB2?)
Подивіться - ще одна блок-схема,
Тепер, коли проливають ще більше світла на ситуацію. Контролер 10/100 підключений до концентратора USB - на жаль, знову ж таки, там, де на специфікації не сказано, як швидко концентратор спілкується з контролером lan-- очікуйте на ключовий факт, який говорить про узгодження швидкості usb та lan. для середовищ із змішаною швидкістю.
Де карта SD?
Виявляється, SD-карта безпосередньо підключена до BCM2835 (стор. 65), і вони детально розглядають, як впливають на продуктивність різні рівні конфігурації. Важливо зауважити, що якщо SD-карта має спеціальний тактовий годинник, вона може працювати незалежно від основного процесора / графічного процесора на повній швидкості (незалежно від того, яка карта та стандарт використовуються - ви можете бачити, що вона підтримує кілька стандартів.)
То що це означає?
Це означає, що якщо ви орієнтуєте на більш швидку SD-карту та дивний привід ручки (4gb / 8gb), ви, швидше за все, отримаєте значні відмінності в продуктивності. Тож тепер виникає питання, як CPU / GPU обмінюється зв’язком із цим чудовим вбудованим пристроєм (мікросхемою usb / lan) та з якою швидкістю він здатний спілкуватися.
Ви бачите, як далеко може насправді пройти теорія, перш ніж ми насправді зробимо якісь бенчмаркінг? Ще один ключовий момент тут - як CPU контролює потік даних. Він використовує окремий тактовий канал, як рекомендовано?
В ідеальному світі ви могли б подумати, що ця локальна мережа / USB буде справлятися з цим. Але для цього потрібен MCU .. чи бачимо ми MCY в цій блок-схемі? НІ!
Таким чином, процесор повинен просити IO DATA надіслати йому USB-порт, потім він перейде до порту LAN (через той же USB HUB). Так, це спричинить десь проблеми зі швидкістю.
Також чудово відзначити, що відбувається при копіюванні на USB-накопичувач і на SD-карту через локальну мережу .. це призведе до певного трафіку.
Нам потрібно орієнтувати різні аспекти
Встановлюючи те, що ми намагаємось орієнтувати, ми можемо задати питання реального світу.
- Наскільки швидко внутрішній USB обробляє дані з SD?
- Скільки ЦП використовується для читання / запису на SD, потім до локальної мережі?
- Скільки ЦП використовується для читання / запису на USB-накопичувач?
- Чи впливає копіювання будь-яких даних безпосередньо на використання процесора?
- Наскільки добре вбудований USB / LAN чіп обробляє зчитування даних з двох джерел назад в порт LAN і чи впливає це на процесор пропорційно?
- Немає необхідності перевіряти, чи lan отримає повний 10 Мб / с, оскільки його вузький вузол перебуває у стані, в якому знаходиться USB-концентратор.
Тепер, коли ви знаєте, за що ви боретесь, я закликаю вас відповісти на них.
Ви можете знайти це дуже хорошою відправною точкою.
Список літератури
Але в основному,
власні технічні знання та оцінки, які я зробив на основі власного вбудованого досвіду. ОП поставило дуже гарне запитання, але бракує розуміння, що без теоретичного розуміння системи ви приречені намагатися оцінити / вирішити практичні проблеми.
Результати
(4) Ця відповідь демонструє деякі глибинні піратські випробування. І це доводить, що здійснення інтенсивної транзакції даних безпосередньо впливає на процесор (просто не впевнений, чи є його SD-карта чи процес перенесення даних всередині мікросхеми BCM на мікросхему USB / LAN)
(6) Доведено, що джерелом є тільки шийка пляшки (наприклад, повільна SD-карта). USB-концентратору вдається завантажувати дані на 90% +, але відповідь на питання 4 та 5 може безпосередньо впливати на цей показник.
Таким чином, роблячи деякі дослідження та внесок інших користувачів, ми починаємо встановлювати та отримувати попередні результати.
Ось приємна діаграма, яка допоможе візуалізувати те, з чим ми маємо справу.
sudo hdparm -t /dev/sdx
як корисний інструмент для порівняльного аналізу.