Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
GCC cc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
(1 row)
К сожалению, настройки как MySQL, так и PostgreSQL достаточно сложны, и предоставить их в этой статье вместе с достойным описанием не позволяет объем.
Поэтому ограничусь лишь утверждением, что оба сервера были настроены на максимальную производительность, а приведенные здесь результаты тестов – лучшие из полученных.
MySQL:
# InnoDB
sync_binlog = 0
innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 64M
innodb_log_files_in_group = 2
innodb_log_file_size = 512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 0
# MyISAM
key_buffer = 1024M
table_cache = 1024
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 4M
query_cache_size = 16M
PostgreSQL:
shared_buffers = 500000
temp_buffers = 4000
max_prepared_transactions = 0
work_mem = 128000
maintenance_work_mem = 256000
max_stack_depth = 8192
max_fsm_pages = 200000
max_fsm_relations = 10000
max_files_per_process = 1000
stats_start_collector = on
stats_command_string = off
stats_row_level = on
autovacuum = on
Схема БД представлена на рисунке.
Для PostgreSQL:
CREATE TABLE users
(
user_id bigint NOT NULL,
user_name character varying(100) NOT NULL,
CONSTRAINT users_pk PRIMARY KEY (user_id)
) WITHOUT OIDS;
CREATE UNIQUE INDEX users_user_name_u ON users USING btree (user_name);
CREATE TABLE friends
(
user_id bigint NOT NULL,
friend_id bigint NOT NULL,