AWS, Пропускная способность и доставка контента

Можно, конечно, загрузить индексы в кэш; если у Вас будут маленькие таблицы ISAM, которые часто запрашиваются, то MySQL, вероятно, загрузит их в кэш также. Вот хорошая статья Performance Wiki о настройке MySQL.

31
задан 29 June 2015 в 21:26
2 ответа

Я не могу говорить об экземплярах Windows, но предполагаю что их базовые характеристики довольно похожи на экземпляры Linux.

По вашей оценке, использование полосы пропускания составляет 100 одновременных загрузок видео (я не уверен, имеете ли вы в виду загрузку файла или потоковую передачу видео - я предполагаю последнее). Если мы возьмем скорость потока 512 кбит / с, вам потребуется около 51 Мбит / с или 6,5 МБ / с.

Экземпляры EC2 различаются по производительности ввода-вывода (включая полосу пропускания). Существует 3 уровня производительности ввода-вывода: низкий, средний и высокий. Однако имейте в виду, что дисковый ввод-вывод (например, с томов EBS) также зависит от пропускной способности. Вы можете действительно учитывать пропускную способность только в сети EC2 (так как она будет полностью изменяться в Интернете). Теоретически: 1 Гбит / с = 125 МБ / с; Реалистичный ( источник ): 750 Мбит / с = 95 МБ / с

Умеренный: Теоретическая: 250 Мбит / с; Реалистичный ( источник, стр. 57 ): 80 Мбит / с = 10 МБ / с

Низкий: Теоретическая: 100 Мбит / с; Realistic (from my own tests): 10-15Mbps = 1-2MB/s

(There is actually a 'very high' level as well (10Gbps theoretical) but that applies only to cluster compute instances only).

A further point of mention is the degree of variation. On smaller instances, there is more variability in performance as the physical components are shared between more virtual machines. Regardless, you can expect around +/-20% variation in your performance (sources: 1, 2, 3). In your case (as per the assumptions/calculations at the top), you may need peak bandwidth of 13MB/s (double 6.5MBps, since disk I/O is also network limited). If you are transferring lower bandwidth content, you should be able to use an instance with 'moderate' I/O performance (see the instance types page), if your calculations result in a higher bandwidth requirement, you will need an instance with 'high' I/O performance. Simply streaming the data should not be CPU or memory bound, but sustaining 100 simultaneous connections will probably require at least a medium sized instance - and if bandwidth is a concern, based on the above, a large instance would be a safer bet).

I would recommend benchmarking the servers you launch to see if they meet your (calculated) needs. Launch two instances (of the same type) and run iperf on each using the instances' private IP addresses - you will need to open port 5001 in your security group if you run it with the default settings). Additionally, most tests outside of the EC2 network show results of between 80-130Mbps (large instances) - although such numbers are not necessarily meaningful.

A CDN would be better suited to your needs, if your setup permits it. S3 appear to have a limit around 50MB/s for bandwidth (at least from a single instance) as per this article, but that is higher than what you should require (S3 does not support streaming). Cloudfront would be better suited to your task (as it is designed as a CDN) and supports 1000Mbps=125MB/s by default (source) with higher bandwidth available on request and can stream content as well)

60
ответ дан 28 November 2019 в 19:57

Кажется, что числа меняются со временем и по мере увеличения количества различных типов экземпляров. Но некоторые люди публикуют тесты. Мне повезло, я поискал в Google [категория экземпляра] тест сети ec2 .

Например,Я хотел узнать пропускную способность экземпляра m4.xlarge , поэтому я поискал тест ec2 m4 network . Я нашел этот результат теста в инженерном блоге Washington Post:

Type       Cost    Bandwidth Bandwidth Cost (1Gb/s) Bandwidth Cost EBS optimized
...
m4.xlarge  $0.252  791Mb/s   $0.320                 $0.320
...
0
ответ дан 28 November 2019 в 19:57

Теги

Похожие вопросы