Merge branch 'create-project-performance' into 'master'

Improve performance of creating projects



See merge request !1650
This commit is contained in:
Yorick Peterse 2015-11-04 10:14:30 +00:00
commit 6d91ee0095
4 changed files with 34 additions and 2 deletions

View file

@ -94,8 +94,6 @@ module Projects
@project.team << [current_user, :master, current_user]
end
@project.update_column(:last_activity_at, @project.created_at)
if @project.import?
@project.import_start
end

View file

@ -0,0 +1,5 @@
class AddServicesTemplateIndex < ActiveRecord::Migration
def change
add_index :services, :template
end
end

View file

@ -667,6 +667,7 @@ ActiveRecord::Schema.define(version: 20151026182941) do
add_index "services", ["created_at", "id"], name: "index_services_on_created_at_and_id", using: :btree
add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree
add_index "services", ["template"], name: "index_services_on_template", using: :btree
create_table "snippets", force: true do |t|
t.string "title"

View file

@ -0,0 +1,28 @@
require 'spec_helper'
describe Projects::CreateService, benchmark: true do
describe '#execute' do
let(:user) { create(:user, :admin) }
let(:group) do
group = create(:group)
create(:group_member, group: group, user: user)
group
end
benchmark_subject do
name = SecureRandom.hex
service = described_class.new(user,
name: name,
path: name,
namespace_id: group.id,
visibility_level: Gitlab::VisibilityLevel::PUBLIC)
service.execute
end
it { is_expected.to iterate_per_second(0.5) }
end
end